From: Mark Abraham Date: Wed, 1 Oct 2014 20:02:02 +0000 (+0200) Subject: Merge release-5-0 into master X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=19d3c2e5d0c401eb59010960d11a18b6ba2c54c6;hp=a349e4beffcbe43be945226384d2a590b27263f0;p=alexxy%2Fgromacs.git Merge release-5-0 into master Conflicts: CMakeLists.txt Version numbers not bumped; fixed to use the right name for RelWithDebInfo. cmake/gmxCFlags.cmake Fixed to use the right name for RelWithDebInfo. src/gromacs/listed-forces/bonded.cpp New RB SIMD function in bonded.cpp had unused variables, now eliminated src/gromacs/mdlib/domdec.cpp Bug fixes from release-5-0 incorporated. std::max now used in code newly arrived from release-5-0. md.cpp had no conflict, but fr->nbv->bUseGPU had to be replaced by use_GPU(fr->nbv) to work in master branch. Change-Id: I65326b691745111fbdaa9435be6c92fa1acf6e7d --- diff --git a/.gitattributes b/.gitattributes index 46d10516df..1f069f1777 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,16 +1,16 @@ # Generic rules -*.c filter=uncrustify -*.cpp filter=uncrustify +*.c filter=uncrustify gmx-doxygen +*.cpp filter=uncrustify gmx-doxygen *.cu filter=uncrustify -*.h filter=uncrustify +*.h filter=uncrustify gmx-doxygen *.cuh filter=uncrustify CMakeLists.txt filter=copyright *.cmake filter=copyright *.cmakein filter=copyright *.py filter=copyright -*.l filter=copyright -*.y filter=copyright -*.pre filter=copyright +*.l filter=includesort +*.y filter=includesort +*.pre filter=includesort *.tex filter=copyright *.bm filter=copyright # Exceptions: extra files to include @@ -23,7 +23,8 @@ cmake/FindBLAS.cmake !filter cmake/FindLAPACK.cmake !filter cmake/ThreadMPI.cmake !filter cmake/Platform/BluegeneQ*.cmake !filter -cmake/*.c !filter +cmake/*.c -filter -gmx-doxygen +cmake/*.cpp -filter -gmx-doxygen cmake/*.c.cmakein !filter docs/doxygen/Doxyfile-*.cmakein !filter docs/doxygen/*.cpp !filter @@ -32,13 +33,27 @@ docs/doxygen/examples/*.c filter=uncrustify_only docs/manual/UseLATEX.cmake !filter scripts/GMXRC.* !filter scripts/make_gromos_rtp.py !filter -src/contrib/* !filter -src/gromacs/gmxlib/gpu_utils/memtestG80_core.* !filter +src/contrib/* -filter -gmx-doxygen src/gromacs/gmxlib/nonbonded/preprocessor/gmxpreprocess.py !filter src/gromacs/linearalgebra/gmx_blas/* !filter src/gromacs/linearalgebra/gmx_lapack/* !filter -src/gromacs/selection/parser.cpp !filter -src/gromacs/selection/parser.h !filter -src/gromacs/selection/scanner.cpp !filter -src/gromacs/selection/scanner_flex.h !filter -nb_kernel_Elec* filter=copyright +src/gromacs/selection/parser.cpp -filter -gmx-doxygen +src/gromacs/selection/parser.h -filter -gmx-doxygen +src/gromacs/selection/scanner.cpp -filter -gmx-doxygen +src/gromacs/selection/scanner_flex.h -filter +nb_kernel_Elec* filter=copyright -gmx-doxygen +nb_kernel*pre filter=copyright +*.eps binary +*.jpg binary +*.svg binary +*.png binary +*.pdf binary +*.ogl binary +*.gif binary +*.jpg binary +*.tpr binary +*.trr binary +*.tng binary +*.xtc binary +*.edr binary +*.cpt binary diff --git a/.gitignore b/.gitignore index e61ec7a009..e2d9763327 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ lib*.pc .project .cproject CMakeLists.txt.user +/VersionInfo*.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 53498532af..7fbe947522 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,75 +48,28 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -# PROJECT_VERSION should have the following structure: -# VERSION-dev[-SUFFIX] where the VERSION should have the for: vMajor.vMinor.vPatch -# -# The "-dev" suffix is important to keep because it makes possible to distinguish -# between a build from official release and a build from git release branch on a -# machine with no git. -# -# 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.3-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 -# can be tested. This will be the version of the last patch release. -set(REGRESSIONTEST_VERSION "5.0.3-dev") -# The MD5 checksum of the regressiontest tarball. Only used if "-dev" -# is not present in the PROJECT_VERSION -set(REGRESSIONTEST_MD5SUM "004f2377adf252e2caa9c241390d4b9c") -# If this is not a released tarball, "-dev" will be present in -# 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(CUSTOM_VERSION_STRING "" - CACHE STRING "Custom version string (if empty, use hard-coded default)") -mark_as_advanced(CUSTOM_VERSION_STRING) -if (CUSTOM_VERSION_STRING) - set(PROJECT_VERSION ${CUSTOM_VERSION_STRING}) -endif() -set(LIBRARY_SOVERSION 0) -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_PATCH "0") - -# The numerical gromacs version. It is 40600 for 4.6.0. -# The #define GMX_VERSION in gromacs/version.h is set to this value. -math(EXPR NUM_VERSION - "${CPACK_PACKAGE_VERSION_MAJOR}*10000 + ${CPACK_PACKAGE_VERSION_MINOR}*100") -if(CPACK_PACKAGE_VERSION_PATCH) - math(EXPR NUM_VERSION - "${NUM_VERSION} + ${CPACK_PACKAGE_VERSION_PATCH}") -endif() - -# The API version tracks the numerical Gromacs version (for now). -# It is potentially different from the Gromacs version in the future, if -# the programs/libraries diverge from the presumably more stable API. -# The #define GMX_API_VERSION in version.h is set to this value to -# provide backward compatibility of software written against the Gromacs API. -set(API_VERSION ${NUM_VERSION}) +# Set up common version variables, as well as general information about +# the build tree (whether the build is from a source package or from a git +# repository). Also declares a few functions that will be used for generating +# version info files later. +include(gmxVersionInfo) if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND UNIX) set(CMAKE_INSTALL_PREFIX "/usr/local/gromacs" CACHE STRING "Installation prefix (installation will need write permissions here)" FORCE) 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 @@ -128,34 +81,10 @@ if(CMAKE_CONFIGURATION_TYPES) "List of configuration types" FORCE) endif() -set(build_types_with_explicit_flags RELEASE DEBUG RELWITHDEBINFO RELWITHASSERT MINSIZEREL) +set(build_types_with_explicit_flags RELEASE DEBUG RELWITHDEBINFO RELWITHASSERT MINSIZEREL PROFILE) -enable_language(C) -enable_language(CXX) set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON) -set(CPACK_PACKAGE_NAME "gromacs") -set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) -set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}") -set(CPACK_PACKAGE_VENDOR "gromacs.org") -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Gromacs - a toolkit for high-performance molecular simulation") -set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_SOURCE_DIR}/admin/InstallWelcome.txt") -# Its GPL/LGPL, so they do not have to agree to a license for mere usage, but some installers require this... -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") -set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/admin/InstallInfo.txt") -set(CPACK_SOURCE_IGNORE_FILES "\\\\.isreposource$;\\\\.git/;\\\\.gitignore$;\\\\.gitattributes;") -set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_SOURCE_DIR}/CPackInit.cmake") -# CPack source archives include only the directories we list here. -# This variable is a list of pairs of names of source and destination -# directories. Most of these are used for content GROMACS generates as -# part of the configuration or build. -set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR};/;${CMAKE_BINARY_DIR}/src/programs/completion;src/programs/completion;${CMAKE_BINARY_DIR}/docs/man/man1;docs/man/man1;${CMAKE_BINARY_DIR}/docs/man/man7;docs/man/man7;${CMAKE_BINARY_DIR}/docs/old-html/final;docs/old-html/final;${CMAKE_BINARY_DIR}/docs/install-guide/final;/") -set(CPACK_PACKAGE_CONTACT "gmx-users@gromacs.org") -set(CPACK_GMX_BUILD_HELP "${GMX_BUILD_HELP}") #Works even though GMX_BUILD_HELP is defined later because it is off by default. - -#must come after all cpack settings! -include(CPack) - # Set a default valgrind suppression file. # This unfortunately needs to duplicate information from CTest to work as # expected... @@ -165,14 +94,12 @@ set(MEMORYCHECK_SUPPRESSIONS_FILE "File that contains suppressions for the memory checker") include(CTest) -set(SOURCE_IS_GIT_REPOSITORY OFF) -set(SOURCE_IS_SOURCE_DISTRIBUTION OFF) -if(EXISTS "${CMAKE_SOURCE_DIR}/.git") - set(SOURCE_IS_GIT_REPOSITORY ON) -endif() -if(NOT EXISTS "${CMAKE_SOURCE_DIR}/admin/.isreposource") - set(SOURCE_IS_SOURCE_DISTRIBUTION ON) -endif() +include(gmxCPackUtilities) +gmx_cpack_init() + +# Variables that accumulate stuff influencing the installed headers +set(INSTALLED_HEADER_INCLUDE_DIRS "") +set(INSTALLED_HEADER_DEFINITIONS "") ######################################################################## # Check and warn if cache generated on a different host is being reused @@ -263,7 +190,7 @@ gmx_option_multichoice( GMX_SIMD "SIMD instruction set for CPU kernels and compiler optimization" "${GMX_SUGGESTED_SIMD}" - None SSE2 SSE4.1 AVX_128_FMA AVX_256 AVX2_256 IBM_QPX Sparc64_HPC_ACE Reference) + None SSE2 SSE4.1 AVX_128_FMA AVX_256 AVX2_256 ARM_NEON ARM_NEON_ASIMD IBM_QPX IBM_VMX IBM_VSX Sparc64_HPC_ACE Reference) gmx_option_multichoice( GMX_FFT_LIBRARY @@ -304,9 +231,6 @@ option(GMX_OPENMP "Enable OpenMP-based multithreading" ON) option(GMX_USE_TNG "Use the TNG library for trajectory I/O" ON) -option(GMX_GIT_VERSION_INFO "Generate git version information" ${SOURCE_IS_GIT_REPOSITORY}) -mark_as_advanced(GMX_GIT_VERSION_INFO) - if(UNIX) option(GMX_SYMLINK_OLD_BINARY_NAMES "Create symbolic links for pre-5.0 binary names" ON) endif() @@ -380,17 +304,15 @@ if(GMX_SIMD STREQUAL "AVX_256" endif() - -set(PKG_CFLAGS "") if(GMX_DOUBLE) add_definitions(-DGMX_DOUBLE) - set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_DOUBLE") + list(APPEND INSTALLED_HEADER_DEFINITIONS "-DGMX_DOUBLE") if(GMX_RELAXED_DOUBLE_PRECISION) add_definitions(-DGMX_RELAXED_DOUBLE_PRECISION) endif() endif() if(GMX_SOFTWARE_INVSQRT) - set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_SOFTWARE_INVSQRT") + list(APPEND INSTALLED_HEADER_DEFINITIONS "-DGMX_SOFTWARE_INVSQRT") endif() if(WIN32 AND NOT CYGWIN) @@ -555,25 +477,6 @@ if(WIN32 AND NOT CYGWIN) add_definitions(-DNOMINMAX) endif() -# only bother with finding git and using version.h if the source is a git repo -if(GMX_GIT_VERSION_INFO) - if (NOT SOURCE_IS_GIT_REPOSITORY) - message(FATAL_ERROR - "Cannot generate git version information from source tree not under git. " - "Set GMX_GIT_VERSION_INFO=OFF to proceed.") - endif() - # We need at least git v1.5.3 be able to parse git's date output. If not - # found or the version is too small, we can't generate version information. - find_package(Git) - - if(NOT GIT_FOUND OR GIT_VERSION_STRING VERSION_LESS "1.5.3") - message(FATAL_ERROR - "No compatible git version found (>= 1.5.3 required). " - "Won't be able to generate development version information. " - "Set GMX_GIT_VERSION_INFO=OFF to proceed.") - endif() -endif() - # Detect boost unless GMX_EXTERNAL_BOOST is explicitly OFF # Used for default if GMX_EXTERNAL_BOOST is not defined (first CMake pass) if(NOT DEFINED GMX_EXTERNAL_BOOST OR GMX_EXTERNAL_BOOST) @@ -616,12 +519,6 @@ if(GMX_USE_TNG AND NOT GMX_EXTERNAL_TNG) gmx_test_zlib(HAVE_ZLIB) endif() -######################################################################## -# Generate development version info for cache -######################################################################## -# set(GEN_VERSION_INFO_INTERNAL "ON") -# include(gmxGenerateVersionString) - ######################################################################## # Our own GROMACS tests ######################################################################## @@ -631,10 +528,6 @@ include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src) include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src/external/thread_mpi/include) # Required for config.h, maybe should only be set in src/CMakeLists.txt include_directories(BEFORE ${CMAKE_BINARY_DIR}/src) -# Required for gmx_header_config_gen.h to be found before installation -include_directories(BEFORE ${CMAKE_BINARY_DIR}/src/gromacs/utility) -# Required for now to make old code compile -include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src/gromacs/legacyheaders) include(gmxTestInlineASM) gmx_test_inline_asm_gcc_x86(GMX_X86_GCC_INLINE_ASM) @@ -789,14 +682,18 @@ if(GMX_FAHCORE) include_directories(${COREWRAP_INCLUDE_DIR}) endif() -option(GMX_BUILD_HELP "Build man pages, HTML help, and completions automatically (requires that compiled binaries can be executed on the build host)" OFF) +# Value of AUTO tries to generate things, but will only produce warnings if +# that fails. +set(build_help_default AUTO) +if (SOURCE_IS_SOURCE_DISTRIBUTION) + set(build_help_default OFF) +endif() +gmx_option_trivalue(GMX_BUILD_HELP "Build man pages, HTML help, and completions automatically (requires that compiled binaries can be executed on the build host)" ${build_help_default}) mark_as_advanced(GMX_BUILD_HELP) -if (GMX_BUILD_HELP AND SOURCE_IS_SOURCE_DISTRIBUTION AND - "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}") - +if (GMX_BUILD_HELP AND SOURCE_IS_SOURCE_DISTRIBUTION AND BUILD_IS_INSOURCE) message(FATAL_ERROR - "Rebuilding HTML and man pages is not supported for in-source " - "builds from a source distribution. " + "Rebuilding HTML and man pages or shell completions is not supported " + "for in-source builds from a source distribution. " "Set GMX_BUILD_HELP=OFF or do an out-of-source build to proceed.") endif() @@ -828,7 +725,6 @@ else() set(GMX_EXE_LINKER_FLAGS ${GMX_EXE_LINKER_FLAGS} ${OpenMP_LINKER_FLAGS}) set(GMX_SHARED_LINKER_FLAGS ${GMX_SHARED_LINKER_FLAGS} ${OpenMP_SHARED_LINKER_FLAGS}) endif() -set(PKG_CFLAGS "${PKG_CFLAGS} ${OpenMP_C_FLAGS}") ######################################################################## # Specify install locations @@ -845,17 +741,24 @@ mark_as_advanced(GMX_LIB_INSTALL_DIR GMX_DATA_INSTALL_DIR) # These variables are used internally to provide a central location for # customizing the install locations. -set(LIB_INSTALL_DIR ${GMX_LIB_INSTALL_DIR}) -set(BIN_INSTALL_DIR bin) -set(DATA_INSTALL_DIR share/${GMX_DATA_INSTALL_DIR}) -set(MAN_INSTALL_DIR share/man) -set(INCL_INSTALL_DIR include) +set(LIB_INSTALL_DIR ${GMX_LIB_INSTALL_DIR}) +set(BIN_INSTALL_DIR bin) +set(DATA_INSTALL_DIR share/${GMX_DATA_INSTALL_DIR}) +set(MAN_INSTALL_DIR share/man) +# If the nesting level wrt. the installation root is changed, +# gromacs-config.cmake.cmakein needs to be adapted. +set(CMAKE_INSTALL_DIR share/cmake) +# TODO: Make GMXRC adapt if this is changed +set(PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig) +set(INCL_INSTALL_DIR include) # These variables get written into config.h for use in finding the data # directories. set(GMXLIB_SEARCH_DIR share/${GMX_DATA_INSTALL_DIR}/top) set(GMXLIB_FALLBACK ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/top) +list(APPEND INSTALLED_HEADER_INCLUDE_DIRS ${INCL_INSTALL_DIR}) + # Binary and library suffix options include(gmxManageSuffixes) @@ -901,15 +804,14 @@ install(FILES COPYING DESTINATION ${DATA_INSTALL_DIR} COMPONENT data) if(GMX_EXTERNAL_BOOST) include_directories(${Boost_INCLUDE_DIRS}) - set(PKG_CFLAGS "${PKG_CFLAGS} -I${Boost_INCLUDE_DIRS}") + list(APPEND INSTALLED_HEADER_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) else() include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src/external/boost) + list(APPEND INSTALLED_HEADER_INCLUDE_DIRS ${INCL_INSTALL_DIR}/gromacs/external/boost) + list(APPEND INSTALLED_HEADED_DEFINITIONS "-DBOOST_NO_TYPEID") # typeid not supported for minimal internal version # (would add significant amount of code) add_definitions(-DBOOST_NO_TYPEID) - # TODO: Propagate the above settings to the installed CMakeFiles.txt template - # (from share/template/) - set(PKG_CFLAGS "${PKG_CFLAGS} -DBOOST_NO_TYPEID -I${CMAKE_INSTALL_PREFIX}/${INCL_INSTALL_DIR}/gromacs/external/boost") if (NOT GMX_BUILD_MDRUN_ONLY) install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/external/boost/boost DESTINATION ${INCL_INSTALL_DIR}/gromacs/external/boost @@ -952,6 +854,8 @@ if (BUILD_TESTING) add_subdirectory(tests) endif() +gmx_cpack_write_config() + # Issue a warning if NVIDIA GPUs were detected, but CUDA was not found. # Don't bother the user after the first configure pass. if ((CUDA_NOTFOUND_AUTO AND GMX_DETECT_GPU_AVAILABLE) AND NOT GMX_GPU_DETECTION_DONE) diff --git a/COPYING b/COPYING index 2bf4650734..dddffe127d 100644 --- a/COPYING +++ b/COPYING @@ -11,16 +11,15 @@ This file contains the licenses for the following bodies of code: 1. GROMACS 2. Trajectory file reading using VMD plugins 3. Internal FFT (fftpack) -4. The memtestG80 library -5. thread_mpi -6. Blas -7. Lapack -8. Subset of Boost C++ library -9. Google Test and Google Mock -10. Sun XDR implementation (External Data Representation) -11. Sun FDLIBM (Freely Distributable Maths Library) -12. Random123 -13. md5 +4. thread_mpi +5. Blas +6. Lapack +7. Subset of Boost C++ library +8. Google Test and Google Mock +9. Sun XDR implementation (External Data Representation) +10. Sun FDLIBM (Freely Distributable Maths Library) +11. Random123 +12. md5 Our chosen method for packaging distributions (CPack) only permits a package to have a single license file, so we are unfortunately forced @@ -964,37 +963,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. fftpack.c : A set of FFT routines in C. Algorithmically based on Fortran-77 FFTPACK by Paul N. Swarztrauber (Version 4, 1985). -4. The memtestG80 library -========================= - - Files: src/gromacs/gmxlib/gpu_utils/memtestG80_core.* - -The memtestG80 library, written by Imran Haque, is Copyright 2009 Stanford University, -covered by the LGPL license. It may be used under the following terms: - -IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, -SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF -THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF STANFORD UNIVERSITY HAS BEEN -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -STANFORD UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -THE SOFTWARE AND ACCOMPANYING DOCUMENTATION PROVIDED HEREUNDER IS PROVIDED "AS IS". -Folding@home HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, -OR MODIFICATIONS. - -Restrictions: - -You may use this software on a computer system only if you own the system or have the -written permission of the owner. - -You may not alter the software or associated data files. - -Certain builds of this software incorporate by linkage code from the libintl -and libiconv libraries, which are covered by the Library GNU Public License, -available at http://www.gnu.org/licenses/lgpl-3.0.txt. - -5. thread_mpi +4. thread_mpi ============= Files: src/external/thread_mpi/ @@ -1030,7 +999,7 @@ bugs must be traceable. We will be happy to consider code for inclusion in the official distribution, but derived work should not be called official thread_mpi. -6. Blas +5. Blas ======= These files are semi-automatic translations by f2c from the original netlib BLAS library. @@ -1054,7 +1023,7 @@ better idea to use the full reference implementation. Erik Lindahl, 2008-10-07. -7. Lapack +6. Lapack ========= These files are semi-automatic translations by f2c from the original netlib LAPACK library. @@ -1079,7 +1048,7 @@ better idea to use the full reference implementation. Erik Lindahl, 2008-10-07. -8. Subset of Boost C++ library +7. Subset of Boost C++ library ============================== Files: src/external/boost/boost/* @@ -1108,7 +1077,7 @@ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -9. Google Test and Google Mock +8. Google Test and Google Mock =============================== Files: src/external/gmock-1.7.0/* @@ -1143,7 +1112,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -10. Sun Extensible Data Representation routines (XDR) +9. Sun Extensible Data Representation routines (XDR) ===================================================== Files: src/gromacs/fileio/gmx_system_xdr.c @@ -1176,7 +1145,7 @@ Sun Microsystems, Inc. Mountain View, California 94043 -11. Sun FDLIBM (Freely Distributable Maths Library) +10. Sun FDLIBM (Freely Distributable Maths Library) =================================================== Files: src/gromacs/math/utilities.c @@ -1189,7 +1158,7 @@ software is freely granted, provided that this notice is preserved. -12. Random123 +11. Random123 ============================================ Copyright 2010-2012, D. E. Shaw Research. @@ -1223,7 +1192,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -13. md5 +12. md5 ============================================ Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. diff --git a/CPackInit.cmake b/CPackInit.cmake index 498b034306..c7e7e3cc07 100644 --- a/CPackInit.cmake +++ b/CPackInit.cmake @@ -32,9 +32,22 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -#TODO: add check that source doesn't contain any untracked files -if(NOT CPACK_INSTALL_CMAKE_PROJECTS) #building source package +set(BUILDING_SOURCE_PACKAGE OFF) +# The essential difference in building a source package is that install() rules +# from the CMake project are not considered when deciding what to package. +# Instead, only the listed directories are packaged (and the listed directories +# contain the source tree). +if (NOT CPACK_INSTALL_CMAKE_PROJECTS) + set(BUILDING_SOURCE_PACKAGE ON) +endif() + +if (BUILDING_SOURCE_PACKAGE) + # TODO: add check that source doesn't contain any untracked files get_filename_component(CMAKE_BINARY_DIR ${CPACK_OUTPUT_CONFIG_FILE} PATH) + # TODO: The list could be generated at the same time as the list of + # directories to include to keep the probe file names at the same place. + # And this does not detect if things have been built in the past, but are + # outdated. if (NOT EXISTS "${CMAKE_BINARY_DIR}/docs/man/man1/gmx-view.1" OR NOT EXISTS "${CMAKE_BINARY_DIR}/docs/install-guide/final/INSTALL" OR NOT EXISTS "${CMAKE_BINARY_DIR}/docs/old-html/final/online.html" OR @@ -48,6 +61,11 @@ if(NOT CPACK_INSTALL_CMAKE_PROJECTS) #building source package "GMX_BUILD_HELP=ON to automatically build the HTML parts.") endif() else() + # TODO: If GMX_BUILD_HELP is AUTO, it may happen that the generation fails, + # and things are silently left out. + # Also, it is currently impossible to get these files into the binary + # package for cross-compilation. However, binary packages are not + # currently used much, either... if (NOT CPACK_GMX_BUILD_HELP) message(WARNING "To create a complete binary package, bash completions, and " diff --git a/admin/reformat_all.sh b/admin/reformat_all.sh index 23611ea70a..caeede50fa 100755 --- a/admin/reformat_all.sh +++ b/admin/reformat_all.sh @@ -35,19 +35,25 @@ function usage() { echo "usage: reformat_all.sh [-f|--force]" - echo " [--filter=(uncrustify|copyright)] []" - echo ": (list-files|uncrustify*|copyright) (*=default)" + echo " [--filter=(uncrustify|copyright|includesort)]" + echo " [--pattern=] [] [-B=]" + echo ": (list-files|uncrustify*|copyright|includesort) (*=default)" } filter=default force= +patterns=() action=uncrustify for arg in "$@" ; do if [[ "$arg" == "list-files" || "$arg" == "uncrustify" || - "$arg" == "copyright" ]] ; then + "$arg" == "copyright" || "$arg" == "includesort" ]] ; then action=$arg elif [[ "$arg" == --filter=* ]] ; then filter=${arg#--filter=} + elif [[ "$arg" == --pattern=* ]] ; then + patterns[${#patterns[@]}]=${arg#--pattern=} + elif [[ "$arg" == -B=* ]] ; then + builddir=${arg#-B=} elif [[ "$arg" == "-f" || "$arg" == "--force" ]] ; then force=1 else @@ -86,6 +92,13 @@ case "$action" in copyright) command="xargs admin/copyright.py --check" ;; + includesort) + if [ -z "${builddir}" ] ; then + echo "Build directory must be set with -B for includesort." + exit 2 + fi + command="docs/doxygen/includesorter.py -S . -B ${builddir} -F -" + ;; *) echo "Unknown action: $action" exit 2 @@ -96,11 +109,14 @@ if [[ "$filter" == "default" ]] ; then fi case "$filter" in + includesort) + filter_re="(uncrustify|includesort)" + ;; uncrustify) filter_re="(uncrustify|uncrustify_only)" ;; copyright) - filter_re="(uncrustify|copyright)" + filter_re="(uncrustify|copyright|includesort)" ;; *) echo "Unknown filter mode: $filter" @@ -111,7 +127,7 @@ esac cd `git rev-parse --show-toplevel` -if ! git ls-tree -r --name-only HEAD | git check-attr --stdin filter | \ +if ! git ls-files "${patterns[@]}" | git check-attr --stdin filter | \ sed -nEe "/${filter_re}$/ {s/:.*//;p;}" | $command ; then echo "The reformatting command failed! Please check the output." exit 1 diff --git a/admin/uncrustify.sh b/admin/uncrustify.sh index c683163076..1391214ec6 100755 --- a/admin/uncrustify.sh +++ b/admin/uncrustify.sh @@ -82,9 +82,9 @@ # filters, specified in .gitattributes files. Only files that have the filter # set as "uncrustify" (or something ending in "uncrustify") are processed: if # other files have been changed, they are ignored by the script. Files passed -# to uncrustify, as well as files with filter "copyright", get their copyright -# header checked. To only run uncrustify for a file, set the filter to -# "uncrustify_only". +# to uncrustify, as well as files with filter "copyright" or "includesort", get +# their copyright header checked. To only run uncrustify for a file, set the +# filter to "uncrustify_only". # # If you want to run uncrustify automatically for changes you make, there are # two options: @@ -202,7 +202,7 @@ cut -f2 <$tmpdir/difflist | \ cut -f2 <$tmpdir/filtered >$tmpdir/filelist_all grep -E '(uncrustify|uncrustify_only)$' <$tmpdir/filtered | \ cut -f2 >$tmpdir/filelist_uncrustify -grep -E '(uncrustify|copyright)$' <$tmpdir/filtered | \ +grep -E '(uncrustify|copyright|includesort)$' <$tmpdir/filtered | \ cut -f2 >$tmpdir/filelist_copyright git diff-files --name-only | grep -Ff $tmpdir/filelist_all >$tmpdir/localmods @@ -286,10 +286,10 @@ if [[ $action == diff-* ]] ; then fi # Find the changed files +git diff --no-index --name-only --exit-code org/ new/ | \ + sed -e 's#new/##' > $tmpdir/changed changes= -set -o pipefail -if ! git diff --no-index --name-only --exit-code org/ new/ | \ - sed -e 's#new/##' > $tmpdir/changed +if [[ -s $tmpdir/changed ]] then changes=1 fi diff --git a/cmake/VersionInfo.cmake.cmakein b/cmake/VersionInfo.cmake.cmakein new file mode 100644 index 0000000000..b3f81b4ae1 --- /dev/null +++ b/cmake/VersionInfo.cmake.cmakein @@ -0,0 +1,43 @@ +# +# 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. + +set(GMX_VERSION "@GMX_VERSION@") +set(GMX_VERSION_MAJOR "@GMX_VERSION_MAJOR@") +set(GMX_VERSION_MINOR "@GMX_VERSION_MINOR@") +set(GMX_VERSION_PATCH "@GMX_VERSION_PATCH@") +set(GMX_VERSION_STRING "@GMX_VERSION_STRING@") + +set(GMX_VERSION_STRING_FULL "@GMX_VERSION_STRING_FULL@") +set(GMX_VERSION_FULL_HASH "@GMX_VERSION_FULL_HASH@") +set(GMX_VERSION_CENTRAL_BASE_HASH "@GMX_VERSION_CENTRAL_BASE_HASH@") diff --git a/cmake/gmxBuildTypeProfile.cmake b/cmake/gmxBuildTypeProfile.cmake new file mode 100644 index 0000000000..b752bf45f4 --- /dev/null +++ b/cmake/gmxBuildTypeProfile.cmake @@ -0,0 +1,40 @@ +# +# 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) + diff --git a/cmake/gmxCFlags.cmake b/cmake/gmxCFlags.cmake index 124107b65c..3a0e3bbe15 100644 --- a/cmake/gmxCFlags.cmake +++ b/cmake/gmxCFlags.cmake @@ -64,7 +64,7 @@ function(gmx_set_cmake_compiler_flags) # 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 RELWITHDEBINFO RELWITHASSERT MINSIZEREL) + foreach(build_type RELWITHDEBINFO 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 @@ -113,14 +113,12 @@ MACRO(gmx_c_flags) # 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) if(CYGWIN) GMX_TEST_CFLAG(CFLAGS_WARN_SUBSCRIPT "-Wno-char-subscripts" GMXC_CFLAGS) endif() # 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() @@ -136,7 +134,7 @@ MACRO(gmx_c_flags) 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() @@ -153,9 +151,7 @@ MACRO(gmx_c_flags) GMX_TEST_CFLAG(CFLAGS_PRAGMA "-wd161" GMXC_CFLAGS) endif() endif() -# 111: statement is unreachable -# 177: function ".." was declared but never referenced -# 181: argument of type ".." is incompatible with format "..", expecting argument of type ".." +# 177: function/variable ".." was declared but never referenced # 193: zero used for undefined preprocessing identifier ".." # 271: trailing comma is nonstandard # 304: access control not specified ("public" by default) @@ -178,7 +174,7 @@ MACRO(gmx_c_flags) #3346: dynamic exception specifications are deprecated #11074: Inlining inhibited by limit max-size(/max-total-size) #11076: To get full report use -opt-report=3 -opt-report-phase ipo (shown for previous remark) - GMX_TEST_CFLAG(CFLAGS_WARN "-w3 -wd111 -wd177 -wd181 -wd193 -wd271 -wd304 -wd383 -wd424 -wd444 -wd522 -wd593 -wd869 -wd981 -wd1418 -wd1419 -wd1572 -wd1599 -wd2259 -wd2415 -wd2547 -wd2557 -wd3280 -wd3346 -wd11074 -wd11076" GMXC_CFLAGS) + GMX_TEST_CFLAG(CFLAGS_WARN "-w3 -wd177 -wd193 -wd271 -wd304 -wd383 -wd424 -wd444 -wd522 -wd593 -wd869 -wd981 -wd1418 -wd1419 -wd1572 -wd1599 -wd2259 -wd2415 -wd2547 -wd2557 -wd3280 -wd3346 -wd11074 -wd11076" GMXC_CFLAGS) GMX_TEST_CFLAG(CFLAGS_STDGNU "-std=gnu99" GMXC_CFLAGS) GMX_TEST_CFLAG(CFLAGS_OPT "-ip -funroll-all-loops -alias-const -ansi-alias" GMXC_CFLAGS_RELEASE) else() @@ -189,7 +185,7 @@ MACRO(gmx_c_flags) GMX_TEST_CFLAG(CFLAGS_PRAGMA "/wd161" GMXC_CFLAGS) endif() endif() - GMX_TEST_CFLAG(CFLAGS_WARN "/W3 /wd111 /wd177 /wd181 /wd193 /wd271 /wd304 /wd383 /wd424 /wd444 /wd522 /wd593 /wd869 /wd981 /wd1418 /wd1419 /wd1572 /wd1599 /wd2259 /wd2415 /wd2547 /wd2557 /wd3280 /wd3346" GMXC_CFLAGS) + GMX_TEST_CFLAG(CFLAGS_WARN "/W3 /wd177 /wd193 /wd271 /wd304 /wd383 /wd424 /wd444 /wd522 /wd593 /wd869 /wd981 /wd1418 /wd1419 /wd1572 /wd1599 /wd2259 /wd2415 /wd2547 /wd2557 /wd3280 /wd3346" GMXC_CFLAGS) GMX_TEST_CFLAG(CFLAGS_OPT "/Qip" GMXC_CFLAGS_RELEASE) endif() endif() @@ -206,7 +202,7 @@ MACRO(gmx_c_flags) #All but the following warnings are identical for the C-compiler (see above) #1782: #pragma once is obsolete #2282: unrecognized GCC pragma - GMX_TEST_CXXFLAG(CXXFLAGS_WARN "-w3 -wd111 -wd177 -wd181 -wd193 -wd271 -wd304 -wd383 -wd424 -wd444 -wd522 -wd593 -wd869 -wd981 -wd1418 -wd1419 -wd1572 -wd1599 -wd2259 -wd2415 -wd2547 -wd2557 -wd3280 -wd3346 -wd11074 -wd11076 -wd1782 -wd2282" GMXC_CXXFLAGS) + GMX_TEST_CXXFLAG(CXXFLAGS_WARN "-w3 -wd177 -wd193 -wd271 -wd304 -wd383 -wd424 -wd444 -wd522 -wd593 -wd869 -wd981 -wd1418 -wd1419 -wd1572 -wd1599 -wd2259 -wd2415 -wd2547 -wd2557 -wd3280 -wd3346 -wd11074 -wd11076 -wd1782 -wd2282" GMXC_CXXFLAGS) GMX_TEST_CXXFLAG(CXXFLAGS_OPT "-ip -funroll-all-loops -alias-const -ansi-alias" GMXC_CXXFLAGS_RELEASE) else() if(NOT GMX_OPENMP) @@ -216,7 +212,7 @@ MACRO(gmx_c_flags) GMX_TEST_CXXFLAG(CXXFLAGS_PRAGMA "/wd161" GMXC_CXXFLAGS) endif() endif() - GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/W3 /wd111 /wd177 /wd181 /wd193 /wd271 /wd304 /wd383 /wd424 /wd444 /wd522 /wd593 /wd869 /wd981 /wd1418 /wd1419 /wd1572 /wd1599 /wd2259 /wd2415 /wd2547 /wd2557 /wd3280 /wd3346 /wd1782 /wd2282" GMXC_CXXFLAGS) + GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/W3 /wd177 /wd193 /wd271 /wd304 /wd383 /wd424 /wd444 /wd522 /wd593 /wd869 /wd981 /wd1418 /wd1419 /wd1572 /wd1599 /wd2259 /wd2415 /wd2547 /wd2557 /wd3280 /wd3346 /wd1782 /wd2282" GMXC_CXXFLAGS) GMX_TEST_CXXFLAG(CXXFLAGS_OPT "/Qip" GMXC_CXXFLAGS_RELEASE) endif() endif() diff --git a/cmake/gmxCPackUtilities.cmake b/cmake/gmxCPackUtilities.cmake new file mode 100644 index 0000000000..bf22099d6c --- /dev/null +++ b/cmake/gmxCPackUtilities.cmake @@ -0,0 +1,134 @@ +# +# 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. + +# Helper functions to encapsulate and modularize usage of CPack +# +# This file is intended to be the only place that directly sets CPack variables +# (in gmx_cpack_write_config()), and other parts of the build system should +# only call the functions declared here to set up the packaging. + +# Initialize the machinery that collects CPack information during other +# build system generation +# +# This function should be called before other functions from this file. +function (gmx_cpack_init) + # Add the source tree to the source package. + # If we would not set CPACK_SOURCE_INSTALLED_DIRECTORIES, this is what + # CPack would set as default. + set_property(GLOBAL PROPERTY GMX_CPACK_SOURCE_INSTALLED_DIRECTORIES + ${PROJECT_SOURCE_DIR} /) +endfunction() + +# Add a generated directory to be included in the source package. +# +# Usage: +# gmx_cpack_add_generated_source_directory( [DESTINATION ]) +# +# Name of directory to include. +# Relative paths are interpreted relative to current build dir. +# Path in the source package where files from will be put. +# If not set, the files are put in the corresponding location in +# the source tree. +# +# By default, CPack source archives includes all files from the source tree. +# This function adds a directory from the build tree to be packaged into the +# source archive. These are used for content GROMACS generates as part of the +# configuration or build. +# The values end up in CPACK_SOURCE_INSTALLED_DIRECTORIES, which is a list of +# pairs of names of source and destination directories. +function (gmx_cpack_add_generated_source_directory DIR) + include(CMakeParseArguments) + set(_one_value_args DESTINATION) + cmake_parse_arguments(ARG "" "${_one_value_args}" "" ${ARGN}) + if (ARG_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unknown arguments: ${ARG_UNPARSED_ARGUMENTS}") + endif() + set(_dir ${DIR}) + if (NOT IS_ABSOLUTE ${_dir}) + set(_dir ${CMAKE_CURRENT_BINARY_DIR}/${_dir}) + endif() + if (ARG_DESTINATION) + set(_dest ${ARG_DESTINATION}) + else() + file(RELATIVE_PATH _dest ${PROJECT_BINARY_DIR} ${_dir}) + endif() + set_property(GLOBAL APPEND PROPERTY GMX_CPACK_SOURCE_INSTALLED_DIRECTORIES + ${_dir} ${_dest}) +endfunction() + +# Write CPack configuration files +# +# This function should be called at the end of the main CMakeLists.txt, after +# all other calls to functions in this file. +# CPack also automatically populates the list of components based on components +# used in installation rules, so it should come after all install() commands. +function (gmx_cpack_write_config) + # Set basic package information. + set(CPACK_PACKAGE_NAME "gromacs") + set(CPACK_PACKAGE_VENDOR "gromacs.org") + set(CPACK_PACKAGE_CONTACT "gmx-users@gromacs.org") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY + "Gromacs - a toolkit for high-performance molecular simulation") + # Set version info. + set(CPACK_PACKAGE_VERSION_MAJOR ${GMX_VERSION_MAJOR}) + set(CPACK_PACKAGE_VERSION_MINOR ${GMX_VERSION_MINOR}) + set(CPACK_PACKAGE_VERSION_PATCH ${GMX_VERSION_PATCH}) + set(CPACK_PACKAGE_VERSION ${GMX_VERSION_STRING}) + # Add various text resources for some installers. + set(CPACK_RESOURCE_FILE_WELCOME "${PROJECT_SOURCE_DIR}/admin/InstallWelcome.txt") + # Its GPL/LGPL, so they do not have to agree to a license for mere usage, + # but some installers require this... + set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/COPYING") + set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/admin/InstallInfo.txt") + + # Our custom config file that is run by CPack for each generator, used to + # check for prerequisites of the packaging. + set(CPACK_PROJECT_CONFIG_FILE "${PROJECT_SOURCE_DIR}/CPackInit.cmake") + + # Settings specific to source packages. + set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}") + set(CPACK_SOURCE_IGNORE_FILES + "\\\\.isreposource$;\\\\.git/;\\\\.gitignore$;\\\\.gitattributes;") + # Get the list of directories added with gmx_cpack_add_generated_source_directory() + get_property(CPACK_SOURCE_INSTALLED_DIRECTORIES + GLOBAL PROPERTY GMX_CPACK_SOURCE_INSTALLED_DIRECTORIES) + + # Propagate additional values for CPackInit.cmake to use. + # CPack includes all variables starting with CPACK_ into the generated + # config files that are included by CPack. + set(CPACK_GMX_BUILD_HELP "${GMX_BUILD_HELP}") + + # Generate the CPack configuration files. + include(CPack) +endfunction() diff --git a/cmake/gmxConfigureVersionInfo.cmake b/cmake/gmxConfigureVersionInfo.cmake new file mode 100644 index 0000000000..a00e2c3314 --- /dev/null +++ b/cmake/gmxConfigureVersionInfo.cmake @@ -0,0 +1,36 @@ +# +# 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. + +include(${VERSION_VARIABLES}) +configure_file(${VERSION_CMAKEIN} ${VERSION_OUT} @ONLY) diff --git a/cmake/gmxCustomCommandUtilities.cmake b/cmake/gmxCustomCommandUtilities.cmake new file mode 100644 index 0000000000..3a13396e62 --- /dev/null +++ b/cmake/gmxCustomCommandUtilities.cmake @@ -0,0 +1,282 @@ +# +# 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. + +# Helper functions for creating custom commands +# +# CMake semantics of add_custom_command() and add_custom_target() are not +# always very convenient or intuitive for creating commands that do not always +# run. This file provides a gmx_add_custom_output_target() to simplify the +# task. The function also provides some convenience features to remove code +# duplication in some parts of the GROMACS build system. +# +# Additionally, gmx_get_stamp_filename() and gmx_get_files_with_gitattribute() +# are provided independently to help in creating custom commands. + +# Helper function to create a stamp file name for a target. +# +# Usage: +# gmx_get_stamp_filename( ) +# +# - name of variable to receive the stamp name +# - name of target for which to generate the stamp name +# +# This is used internally by gmx_add_custom_target(... OUTPUT STAMP ...), but +# can also be called directly to create uniform stamp file names throughout the +# build system. +# can be any string that is a part of a valid file name; it does +# not need to name an existing or to-be-created target. +function (gmx_get_stamp_filename variable targetname) + set(_filename "${targetname}") + if (NOT "${targetname}" MATCHES "stamp$") + set(_filename "${targetname}-timestamp") + endif() + set(${variable} "${CMAKE_CURRENT_BINARY_DIR}/${_filename}.txt" + PARENT_SCOPE) +endfunction() + +# Helper function to tell gmx_add_custom_output_target() the name of an output +# file for a custom target. +# +# Usage: +# gmx_set_custom_target_output( ) +# +# - name of an existing custom target +# - path to the output file produced by the custom target +# +# This is used internally by gmx_add_custom_output_target(), but can also be +# called for targets created with add_custom_target() to make them work with +# the dependency resolution mechanism in gmx_add_custom_output_target() if +# those targets for some reason cannot be created with that command. +function (gmx_set_custom_target_output targetname output) + # Store the output file name in a custom property to be used in dependency + # resolution later. + if (NOT IS_ABSOLUTE ${output}) + set(output ${CMAKE_CURRENT_BINARY_DIR}/${output}) + endif() + set_property(TARGET ${targetname} + PROPERTY GMX_CUSTOM_TARGET_OUTPUT_FILE ${output}) +endfunction() + +# More flexible alternative to add_custom_command() and add_custom_target() +# for dependent custom commands. It adds a few convenience features: +# - Support for custom commands that always run (like add_custom_target()), +# but still have the ability to act as dependencies of other custom +# commands (such that the dependent commands run only if the output +# has been updated) also for Ninja. +# - Adds file-level dependencies between custom targets added with this +# command such that if there is a target-level dependency, it also implies +# that the custom command should always be run if the output file of the +# dependency has been updated. +# - Support for creating custom targets that produce stamp files whenever +# they run successfully, so that other targets can depend on those stamp +# files. +# +# Usage: +# gmx_add_custom_output_target( [RUN_ALWAYS] [ADD_FAST_TARGET] +# OUTPUT > +# [COMMAND []] +# [COMMAND []] +# [WORKING_DIRECTORY ] +# [DEPENDS ] +# [DEPENDS_FILE_LIST ] +# [COMMENT ]) +# +# +# - Name of the custom target to create. +# RUN_ALWAYS +# - Create the command such that it always runs. +# This takes care of differences between the Ninja generator and others, +# which require different rules to make this happen such that +# dependencies on the output of the target work correctly, also in the +# case the command does not always update the timestamp of the output. +# The dependencies listed with DEPENDS are ignored in this case. +# ADD_FAST_TARGET +# - In addition to creating , create a secondary target +# -fast that always runs the same commands, but does not have +# any dependencies. Desired dependencies can be added separately using +# add_dependencies(). This supports cases where some of the dependencies +# are time-consuming to build, and it is possible to build the target +# even without up-to-date dependencies for testing only that part of the +# build. +# OUTPUT +# - Sets the name of the output file from this custom target. +# Can be set to STAMP, in which case a stamp file name is automatically +# generated and commands to touch that stamp whenever the target is made +# are added. +# COMMAND +# - Passed to add_custom_command()/add_custom_target(). +# If OUTPUT STAMP is used, then a command to touch the stamp is +# automatically added. In this case, it is allowed to not specify any +# commands explicitly. +# WORKING_DIRECTORY +# - Passed to add_custom_command()/add_custom_target() +# COMMENT +# - Passed to add_custom_command()/add_custom_target() +# DEPENDS +# - Dependencies passed to add_custom_command(). Any targets in this list +# that have been created with gmx_add_custom_output_target() are +# automatically expanded such that the custom command always runs if the +# output of the dependent target changes. It is not necessary to list +# those output files here explicitly. +# DEPENDS_FILE_LIST +# - Names of variables from which dependencies are added verbatim. +# The target expansion described above is not performed for these +# dependencies, and the value passed to the function is the name of a +# list variable, not the list itself. This provides much better +# performance if the dependency list is a long list of source files. +# +# This function does not need a VERBATIM argument; that is always used when +# creating the underlying custom commands/targets. +function (gmx_add_custom_output_target targetname) + # Parse the arguments + # CMakeParseArguments is not suitable, since it does not support the use of + # multiple COMMAND parameters that add_custom_target/command() supports. + set(_option "") + set(_command_args "") + set(_deps "") + set(_output "") + set(_stamp OFF) + set(_always OFF) + set(_add_fast OFF) + foreach (_arg ${ARGN}) + if ("x${_arg}" STREQUAL "xRUN_ALWAYS") + set(_always ON) + elseif ("x${_arg}" STREQUAL "xADD_FAST_TARGET") + set(_add_fast ON) + elseif ("x${_arg}" MATCHES "^x(OUTPUT|DEPENDS|DEPENDS_FILE_LIST)$") + set(_option ${_arg}) + elseif ("x${_arg}" MATCHES "^x(COMMAND|COMMENT|WORKING_DIRECTORY)$") + set(_option "PASS") + list(APPEND _command_args "${_arg}") + elseif ("${_option}" STREQUAL "DEPENDS") + list(APPEND _deps "${_arg}") + # If the dependency is a target created with this command, also add + # the output file as a dependency. + if (TARGET "${_arg}") + get_property(_target_output + TARGET "${_arg}" PROPERTY GMX_CUSTOM_TARGET_OUTPUT_FILE) + if (_target_output) + list(APPEND _deps ${_target_output}) + endif() + endif() + elseif ("${_option}" STREQUAL "PASS") + list(APPEND _command_args "${_arg}") + elseif ("${_option}" STREQUAL "DEPENDS_FILE_LIST") + list(APPEND _deps ${${_arg}}) + elseif ("${_option}" STREQUAL "OUTPUT") + if (_output) + message(FATAL_ERROR "Multiple OUTPUTs not supported") + endif() + if ("${_arg}" STREQUAL "STAMP") + gmx_get_stamp_filename(_output ${targetname}) + set(_stamp ON) + else() + set(_output ${_arg}) + endif() + else() + message(FATAL_ERROR "Unknown option ${_arg}") + endif() + endforeach() + # Add automatically a command to update the stamp if requested + if (_stamp) + list(APPEND _command_args COMMAND ${CMAKE_COMMAND} -E touch ${_output}) + endif() + # Create the actual command as requested. + if (NOT _always) + # If the command does not need to run always, the standard CMake + # mechanism is sufficient. + add_custom_command(OUTPUT ${_output} + ${_command_args} DEPENDS ${_deps} VERBATIM) + add_custom_target(${targetname} DEPENDS ${_output}) + elseif (CMAKE_GENERATOR STREQUAL "Ninja") + # Ninja requires all generated files mentioned in dependencies of custom + # commands to be actually mentioned in the build system, and luckily + # add_custom_command() makes that possible. + # But it seems impossible to create a robust custom command that would be + # always run, so other generators that do not have this constraint simply + # use an add_custom_target(). + # + # The second, phony file is never created, so the rule is always + # triggered again. TODO: Figure out why this works, even though ninja + # very eagerly complains about missing files. + # This unfortunately does not work with the make generator, as + # the non-existent second file causes some part of the generated system + # erase the first file at the beginning of every build, causing a full + # rebuild of the dependencies. + add_custom_command(OUTPUT ${_output} ${targetname}-phony + ${_command_args} VERBATIM) + # The generated Ninja build system would probably work fine even + # without this target, but CMake requires all custom commands to belong + # to a target in the same CMakeLists.txt to generate anything for them. + add_custom_target(${targetname} DEPENDS ${_output}) + else() + # For other generators, a target-level dependency on the custom target + # ensures that the output is created before the dependent targets' + # dependencies are even evaluated. + add_custom_target(${targetname} ${_command_args} VERBATIM) + endif() + # Store the output file name in a custom property to be used in dependency + # resolution later. + gmx_set_custom_target_output(${targetname} ${_output}) + # Create the fast target if requested. + if (_add_fast) + add_custom_target(${targetname}-fast ${_command_args} VERBATIM) + endif() +endfunction() + +# Gets list of files in the source tree with the given git attribute set +# +# Usage: +# gmx_get_files_with_gitattribute( ) +# +# - name of variable to receive the file list +# - name of git attribute to use +# +# This is useful to generate a list of dependencies for custom commands when +# there is a long list of files that cannot be easily just globbed. +# Using git attributes allows keeping complicated logic out of the build +# system, as expressing such logic in a CMake script that would be reasonably +# fast to evaluate for a long file list is convenient or easy. +function (gmx_get_files_with_gitattribute variable attribute) + execute_process( + COMMAND ${GIT_EXECUTABLE} ls-files + COMMAND ${GIT_EXECUTABLE} check-attr ${attribute} --stdin + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE _files) + string(REGEX MATCHALL "[^\n]*: ${attribute}: set\n" + _files_with_attr "${_files}") + string(REGEX REPLACE "([^;]*): ${attribute}: set\n" "${PROJECT_SOURCE_DIR}/\\1" + _files "${_files_with_attr}") + set(${variable} ${_files} PARENT_SCOPE) +endfunction() diff --git a/cmake/gmxDetectSimd.cmake b/cmake/gmxDetectSimd.cmake index 199c4c3cde..49fa77a1fc 100644 --- a/cmake/gmxDetectSimd.cmake +++ b/cmake/gmxDetectSimd.cmake @@ -62,7 +62,7 @@ function(gmx_suggest_x86_simd _suggested_simd) message(STATUS "Detecting best SIMD instructions for this CPU") # Get CPU SIMD properties information - set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src/gromacs/legacyheaders -DGMX_CPUID_STANDALONE") + set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src -DGMX_CPUID_STANDALONE") if(GMX_TARGET_X86) set(_compile_definitions "${_compile_definitions} -DGMX_TARGET_X86") endif() diff --git a/cmake/gmxGCC44O3BugWorkaround.cmake b/cmake/gmxGCC44O3BugWorkaround.cmake index 0d6a42da70..a71d88f99b 100644 --- a/cmake/gmxGCC44O3BugWorkaround.cmake +++ b/cmake/gmxGCC44O3BugWorkaround.cmake @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2012,2013, by the GROMACS development team, led by +# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -32,7 +32,7 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -# Due to a bug, gcc 4.4.x crashes when compiling bondfree.c with -O3 and +# Due to a bug, gcc 4.4.x crashes when compiling listed-forces/bonded.cpp with -O3 and # -fopenmp, but strangely it does not crash with -O2 + all additional options. # -O3 uses. Therefore, for the affected files, when compiling in release mode, # we override -O3 with -O2 and add the additional option. diff --git a/cmake/gmxGenerateVersionInfo.cmake b/cmake/gmxGenerateVersionInfo.cmake index 8db1e10400..9c64eb580c 100644 --- a/cmake/gmxGenerateVersionInfo.cmake +++ b/cmake/gmxGenerateVersionInfo.cmake @@ -46,189 +46,157 @@ # PROJECT_SOURCE_DIR - top level source directory (which has to be in git) # VERSION_CMAKEIN - path to an input template file # VERSION_OUT - path to the output file -# VERSION_NO_REMOTE_HASH - if set, GMX_GIT_REMOTE_HASH is not generated # # Output: -# i) Script mode: VERSION_OUT is configured from the input VERSION_CMAKEIN +# VERSION_OUT is configured from the input VERSION_CMAKEIN # using the variables listed below. -# ii) Cache variable mode: the variables below are set in cache. # -# GMX_PROJECT_VERSION_STR - version string -# GMX_GIT_HEAD_HASH - git hash of current local HEAD -# GMX_GIT_REMOTE_HASH - git hash of the first ancestor commit from the -# main Gromacs repository +# GMX_VERSION_STRING_FULL - version string +# GMX_VERSION_FULL_HASH - git hash of current local HEAD +# GMX_VERSION_CENTRAL_BASE_HASH - git hash of the first ancestor commit from the +# main Gromacs repository # # Szilard Pall (pszilard@cbr.su.se) # Teemu Murtola (teemu.murtola@gmail.com) +# Check input variables. if("${PROJECT_VERSION}" STREQUAL "") message(FATAL_ERROR "PROJECT_VERSION undefined!") endif() - -# if we're generating variables for cache unset the variables -if(GEN_VERSION_INFO_INTERNAL) - set(GMX_PROJECT_VERSION_STR) - set(GMX_GIT_HEAD_HASH) - set(GMX_GIT_REMOTE_HASH) +if (NOT EXISTS "${GIT_EXECUTABLE}") + message(FATAL_ERROR "Git executable is not set correctly") endif() - -# bail if the source tree is not in a git repository -if(NOT EXISTS "${PROJECT_SOURCE_DIR}/.git") +if (NOT EXISTS "${PROJECT_SOURCE_DIR}/.git") message(FATAL_ERROR "Project source directory ${PROJECT_SOURCE_DIR} not in git") endif() +if ("${VERSION_CMAKEIN}" STREQUAL "") + message(FATAL_ERROR "Missing input parameter VERSION_CMAKEIN!") +endif() +if ("${VERSION_OUT}" STREQUAL "") + message(FATAL_ERROR "Missing input parameter VERSION_OUT!") +endif() -# If git executable exists, build the development version string. -if(EXISTS "${GIT_EXECUTABLE}") - # refresh git index - execute_process(COMMAND ${GIT_EXECUTABLE} update-index -q --refresh - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - TIMEOUT 5 - OUTPUT_QUIET - ERROR_VARIABLE EXEC_ERR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) +# refresh git index +execute_process(COMMAND ${GIT_EXECUTABLE} update-index -q --refresh + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + TIMEOUT 5 + OUTPUT_QUIET + ERROR_VARIABLE EXEC_ERR + OUTPUT_STRIP_TRAILING_WHITESPACE +) - # get the full hash of the current HEAD - execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE HEAD_HASH - ERROR_VARIABLE EXEC_ERR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - set(GMX_GIT_HEAD_HASH ${HEAD_HASH}) - # extract the shortened hash (7 char) - execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE HEAD_HASH_SHORT - ERROR_VARIABLE EXEC_ERR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) +# get the full hash of the current HEAD +execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE HEAD_HASH + ERROR_VARIABLE EXEC_ERR + OUTPUT_STRIP_TRAILING_WHITESPACE +) +set(GMX_VERSION_FULL_HASH ${HEAD_HASH}) - # if there are local uncommitted changes, the build gets labeled "dirty" - execute_process(COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE SRC_LOCAL_CHANGES - ERROR_VARIABLE EXEC_ERR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(NOT "${SRC_LOCAL_CHANGES}" STREQUAL "") - set(DIRTY_STR "-dirty") - set(GMX_GIT_HEAD_HASH "${GMX_GIT_HEAD_HASH} (dirty)") - endif() +# extract the shortened hash (7 char) +execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE HEAD_HASH_SHORT + ERROR_VARIABLE EXEC_ERR + OUTPUT_STRIP_TRAILING_WHITESPACE +) - # get the date of the HEAD commit - execute_process(COMMAND ${GIT_EXECUTABLE} rev-list -n1 "--pretty=format:%ci" HEAD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE HEAD_DATE - ERROR_VARIABLE EXEC_ERR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(REGEX REPLACE "\n| " ";" HEAD_DATE "${HEAD_DATE}") - list(GET HEAD_DATE 2 HEAD_DATE) - string(REGEX REPLACE "-" "" HEAD_DATE "${HEAD_DATE}") +# if there are local uncommitted changes, the build gets labeled "dirty" +execute_process(COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE SRC_LOCAL_CHANGES + ERROR_VARIABLE EXEC_ERR + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(NOT "${SRC_LOCAL_CHANGES}" STREQUAL "") + set(DIRTY_STR "-dirty") + set(GMX_VERSION_FULL_HASH "${GMX_VERSION_FULL_HASH} (dirty)") +endif() - # compile the version string suffix - set(VERSION_STR_SUFFIX "${HEAD_DATE}-${HEAD_HASH_SHORT}${DIRTY_STR}") +# get the date of the HEAD commit +execute_process(COMMAND ${GIT_EXECUTABLE} rev-list -n1 "--pretty=format:%ci" HEAD + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE HEAD_DATE + ERROR_VARIABLE EXEC_ERR + OUTPUT_STRIP_TRAILING_WHITESPACE +) +string(REGEX REPLACE "\n| " ";" HEAD_DATE "${HEAD_DATE}") +list(GET HEAD_DATE 2 HEAD_DATE) +string(REGEX REPLACE "-" "" HEAD_DATE "${HEAD_DATE}") - if (DEFINED VERSION_NO_REMOTE_HASH) - set(GMX_REMOTES "") - else() - # find the names of remotes that are located on the official gromacs - # git/gerrit servers - execute_process(COMMAND ${GIT_EXECUTABLE} config --get-regexp - "remote\\..*\\.url" "\\.gromacs\\.org[:/].*gromacs(\\.git)?$" - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE GMX_REMOTES - ERROR_VARIABLE EXEC_ERR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - endif() +# compile the version string suffix +set(VERSION_STR_SUFFIX "${HEAD_DATE}-${HEAD_HASH_SHORT}${DIRTY_STR}") - # if there are remotes from the gromacs git servers, try to find ancestor - # commits of the current HEAD from this remote; - # otherwise, label the build "unknown" - if("${GMX_REMOTES}" STREQUAL "") - if (NOT DEFINED VERSION_NO_REMOTE_HASH) - set(VERSION_STR_SUFFIX "${VERSION_STR_SUFFIX}-unknown") - endif() - set(GMX_GIT_REMOTE_HASH "unknown") - else() - string(REPLACE "\n" ";" GMX_REMOTES ${GMX_REMOTES}) - # construct a command pipeline that produces a reverse-time-ordered - # list of commits and their annotated names in GMX_REMOTES - # the max-count limit is there to put an upper bound on the execution time - set(BASEREVCOMMAND "COMMAND ${GIT_EXECUTABLE} rev-list --max-count=1000 HEAD") - foreach(REMOTE ${GMX_REMOTES}) - string(REGEX REPLACE "remote\\.(.*)\\.url.*" "\\1" REMOTE ${REMOTE}) - set(BASEREVCOMMAND "${BASEREVCOMMAND} COMMAND ${GIT_EXECUTABLE} name-rev --stdin --refs=refs/remotes/${REMOTE}/*") - endforeach(REMOTE) - # this is necessary for CMake to properly split the variable into - # parameters for execute_process(). - string(REPLACE " " ";" BASEREVCOMMAND ${BASEREVCOMMAND}) - # find the first ancestor in the list provided by rev-list (not - # necessarily the last though) which is in GMX_REMOTE, extract the - # hash and the number of commits HEAD is ahead with - execute_process(${BASEREVCOMMAND} - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE ANCESTOR_LIST - ) - string(REGEX REPLACE "\n" ";" ANCESTOR_LIST "${ANCESTOR_LIST}") +# find the names of remotes that are located on the official gromacs +# git/gerrit servers +execute_process(COMMAND ${GIT_EXECUTABLE} config --get-regexp + "remote\\..*\\.url" "\\.gromacs\\.org[:/].*gromacs(\\.git)?$" + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE GMX_REMOTES + ERROR_VARIABLE EXEC_ERR + OUTPUT_STRIP_TRAILING_WHITESPACE +) - set(AHEAD 0) - set(GMX_GIT_REMOTE_HASH "") - foreach(ANCESTOR ${ANCESTOR_LIST}) - string(REPLACE "\n" "" HASH_AND_REVNAMES "${ANCESTOR}") - string(REPLACE " " ";" HASH_AND_REVNAMES "${HASH_AND_REVNAMES}") - list(LENGTH HASH_AND_REVNAMES COUNT) - # stop and set the hash if we have a hit, otherwise loop and count - # how far ahead is the local repo - if(COUNT GREATER 1) - LIST(GET HASH_AND_REVNAMES 0 GMX_GIT_REMOTE_HASH) - break() - endif() - math(EXPR AHEAD ${AHEAD}+1) - endforeach(ANCESTOR) - # mark the build "local" if didn't find any commits that are from - # remotes/${GMX_REMOTE}/* - if("${GMX_GIT_REMOTE_HASH}" STREQUAL "") - set(GMX_GIT_REMOTE_HASH "unknown") - set(VERSION_STR_SUFFIX "${VERSION_STR_SUFFIX}-local") - # don't print the remote hash if there are no local commits - elseif("${GMX_GIT_REMOTE_HASH}" STREQUAL "${HEAD_HASH}") - set(GMX_GIT_REMOTE_HASH "") - else() - set(GMX_GIT_REMOTE_HASH "${GMX_GIT_REMOTE_HASH} (${AHEAD} newer local commits)") - endif() +# if there are remotes from the gromacs git servers, try to find ancestor +# commits of the current HEAD from this remote; +# otherwise, label the build "unknown" +if("${GMX_REMOTES}" STREQUAL "") + if (NOT DEFINED VERSION_NO_REMOTE_HASH) + set(VERSION_STR_SUFFIX "${VERSION_STR_SUFFIX}-unknown") endif() - - # compile final version string - set(GMX_PROJECT_VERSION_STR "${PROJECT_VERSION}-${VERSION_STR_SUFFIX}") + set(GMX_VERSION_CENTRAL_BASE_HASH "unknown") else() - # the version has to be defined - # set the GIT related information to "unknown" - message(WARNING "Source tree seems to be a repository, but no compatible git is available, using hard-coded version string") - set(GMX_PROJECT_VERSION_STR "${PROJECT_VERSION}") - set(GMX_GIT_HEAD_HASH "unknown") - set(GMX_GIT_REMOTE_HASH "unknown") -endif() + string(REPLACE "\n" ";" GMX_REMOTES ${GMX_REMOTES}) + # construct a command pipeline that produces a reverse-time-ordered + # list of commits and their annotated names in GMX_REMOTES + # the max-count limit is there to put an upper bound on the execution time + set(BASEREVCOMMAND "COMMAND ${GIT_EXECUTABLE} rev-list --max-count=1000 HEAD") + foreach(REMOTE ${GMX_REMOTES}) + string(REGEX REPLACE "remote\\.(.*)\\.url.*" "\\1" REMOTE ${REMOTE}) + set(BASEREVCOMMAND "${BASEREVCOMMAND} COMMAND ${GIT_EXECUTABLE} name-rev --stdin --refs=refs/remotes/${REMOTE}/*") + endforeach(REMOTE) + # this is necessary for CMake to properly split the variable into + # parameters for execute_process(). + string(REPLACE " " ";" BASEREVCOMMAND ${BASEREVCOMMAND}) + # find the first ancestor in the list provided by rev-list (not + # necessarily the last though) which is in GMX_REMOTE, extract the + # hash and the number of commits HEAD is ahead with + execute_process(${BASEREVCOMMAND} + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE ANCESTOR_LIST + ) + string(REGEX REPLACE "\n" ";" ANCESTOR_LIST "${ANCESTOR_LIST}") -# if we're generating cache variables set these -# otherwise it's assumed that it's called in script mode to generate a file -if(GEN_VERSION_INFO_INTERNAL) - set(GMX_PROJECT_VERSION_STR ${GMX_PROJECT_VERSION_STR} - CACHE STRING "Gromacs version string" FORCE) - set(GMX_GIT_HEAD_HASH ${GMX_GIT_HEAD_HASH}${DIRTY_STR} - CACHE STRING "Current git HEAD commit object" FORCE) - set(GMX_GIT_REMOTE_HASH ${GMX_GIT_REMOTE_HASH} - CACHE STRING "Commmit object of the nearest ancestor present in the Gromacs git repository" FORCE) - mark_as_advanced(GMX_GIT_HEAD_HASH GMX_GIT_REMOTE_HASH) -else() - if("${VERSION_CMAKEIN}" STREQUAL "") - message(FATAL_ERROR "Missing input parameter VERSION_CMAKEIN!") - endif() - if("${VERSION_OUT}" STREQUAL "") - message(FATAL_ERROR "Missing input parameter VERSION_OUT!") + set(AHEAD 0) + set(GMX_VERSION_CENTRAL_BASE_HASH "") + foreach(ANCESTOR ${ANCESTOR_LIST}) + string(REPLACE "\n" "" HASH_AND_REVNAMES "${ANCESTOR}") + string(REPLACE " " ";" HASH_AND_REVNAMES "${HASH_AND_REVNAMES}") + list(LENGTH HASH_AND_REVNAMES COUNT) + # stop and set the hash if we have a hit, otherwise loop and count + # how far ahead is the local repo + if(COUNT GREATER 1) + LIST(GET HASH_AND_REVNAMES 0 GMX_VERSION_CENTRAL_BASE_HASH) + break() + endif() + math(EXPR AHEAD ${AHEAD}+1) + endforeach(ANCESTOR) + # mark the build "local" if didn't find any commits that are from + # remotes/${GMX_REMOTE}/* + if("${GMX_VERSION_CENTRAL_BASE_HASH}" STREQUAL "") + set(GMX_VERSION_CENTRAL_BASE_HASH "unknown") + set(VERSION_STR_SUFFIX "${VERSION_STR_SUFFIX}-local") + # don't print the remote hash if there are no local commits + elseif("${GMX_VERSION_CENTRAL_BASE_HASH}" STREQUAL "${HEAD_HASH}") + set(GMX_VERSION_CENTRAL_BASE_HASH "") + else() + set(GMX_VERSION_CENTRAL_BASE_HASH "${GMX_VERSION_CENTRAL_BASE_HASH} (${AHEAD} newer local commits)") endif() - # Generate the output file. - configure_file(${VERSION_CMAKEIN} ${VERSION_OUT}) endif() + +# Compile final version string. +set(GMX_VERSION_STRING_FULL "${PROJECT_VERSION}-${VERSION_STR_SUFFIX}") + +# Generate the output file. +configure_file(${VERSION_CMAKEIN} ${VERSION_OUT}) diff --git a/cmake/gmxManageMPI.cmake b/cmake/gmxManageMPI.cmake index 5adc2627cd..5b35e0d644 100644 --- a/cmake/gmxManageMPI.cmake +++ b/cmake/gmxManageMPI.cmake @@ -162,5 +162,4 @@ if(GMX_MPI) endif() set(GMX_LIB_MPI 1) - set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_LIB_MPI") endif() diff --git a/cmake/gmxManageNvccConfig.cmake b/cmake/gmxManageNvccConfig.cmake index e0a7728221..33d42ea699 100644 --- a/cmake/gmxManageNvccConfig.cmake +++ b/cmake/gmxManageNvccConfig.cmake @@ -131,15 +131,6 @@ if (NOT DEFINED CUDA_NVCC_FLAGS_SET) set(CUDA_HOST_COMPILER_OPTIONS "${CUDA_HOST_COMPILER_OPTIONS}-D__STRICT_ANSI__;") endif() - # on Linux we need to add -fPIC when building shared gmx libs - # Note: will add -fPIC for any compiler that supports it as it shouldn't hurt - if(BUILD_SHARED_LIBS) - GMX_TEST_CXXFLAG(CXXFLAG_FPIC "-fPIC" _FPIC_NVCC_FLAG) - if(_FPIC_NVCC_FLAG) - set(CUDA_HOST_COMPILER_OPTIONS "${CUDA_HOST_COMPILER_OPTIONS}-Xcompiler;${_FPIC_NVCC_FLAG}") - endif() - endif() - # the legacy CUDA kernels have been dropped, warn with CUDA 4.0 if (CUDA_VERSION VERSION_EQUAL "4.0") message(WARNING "The legacy GPU kernels optimized for older CUDA compilers, including the detected version 4.0, have been removed. To avoid performance loss, we strongly recommend upgrading to a newer CUDA toolkit. diff --git a/cmake/gmxManageSharedLibraries.cmake b/cmake/gmxManageSharedLibraries.cmake index 0cfab0ce68..b58a1be697 100644 --- a/cmake/gmxManageSharedLibraries.cmake +++ b/cmake/gmxManageSharedLibraries.cmake @@ -127,8 +127,9 @@ IF( WIN32 AND NOT CYGWIN) #this combination segfaults (illegal passing of file handles) message(FATAL_ERROR "Static system libraries requested, and shared Gromacs libraries requested.") endif() - add_definitions(-DUSE_VISIBILITY -DTMPI_USE_VISIBILITY) - set(PKG_CFLAGS "$PKG_CFLAGS -DUSE_VISIBILITY -DTMPI_USE_VISIBILITY") + # Visibility not yet implemented + # add_definitions(-DUSE_VISIBILITY -DTMPI_USE_VISIBILITY) + # set(PKG_CFLAGS "$PKG_CFLAGS -DUSE_VISIBILITY -DTMPI_USE_VISIBILITY") endif() IF (GMX_PREFER_STATIC_LIBS) diff --git a/cmake/gmxManageSuffixes.cmake b/cmake/gmxManageSuffixes.cmake index 6d4eb672e0..1783f7f20d 100644 --- a/cmake/gmxManageSuffixes.cmake +++ b/cmake/gmxManageSuffixes.cmake @@ -68,6 +68,9 @@ if (GMX_DEFAULT_SUFFIX) message(STATUS "Using default library suffix: \"${GMX_LIBS_SUFFIX}\"") endif() else() + if ("${GMX_LIBS_SUFFIX}" MATCHES "^_mdrun") + message(FATAL_ERROR "Library suffix (GMX_LIBS_SUFFIX) cannot start with '_mdrun', as that is reserved for internal use") + endif() gmx_check_if_changed(SUFFIXES_CHANGED GMX_DEFAULT_SUFFIX GMX_BINARY_SUFFIX GMX_LIBS_SUFFIX) if (SUFFIXES_CHANGED) diff --git a/cmake/gmxOptionUtilities.cmake b/cmake/gmxOptionUtilities.cmake index 7da67d4403..603f3c5cfd 100644 --- a/cmake/gmxOptionUtilities.cmake +++ b/cmake/gmxOptionUtilities.cmake @@ -67,7 +67,7 @@ function(GMX_OPTION_MULTICHOICE NAME DESCRIPTION DEFAULT) string(REPLACE "[built-in]" "" _allowed "${ARGN}") # Set the cache properties - set(${NAME} ${DEFAULT} CACHE STRING ${_description}) + set(${NAME} ${DEFAULT} CACHE STRING "${_description}") set_property(CACHE ${NAME} PROPERTY STRINGS ${_allowed}) # Check that the value is one of the allowed @@ -88,6 +88,39 @@ function(GMX_INVALID_OPTION_VALUE NAME) message(FATAL_ERROR "Invalid value for ${NAME}: ${${NAME}}") endfunction() +# Declares a cache variable with ON/OFF/AUTO values +# +# Usage: +# gmx_option_trivalue(VAR "Description" DEFAULT) +# +# Output: +# VAR is created in the cache, and the caller can assume that the value is +# always one of ON/OFF/AUTO. Additionally, VAR_AUTO is set if value is AUTO, +# and VAR_FORCE is set if value is ON. +# These make it convenient to check for any combination of states with simple +# if() statements (simple if(VAR) matches AUTO and ON). +function(GMX_OPTION_TRIVALUE NAME DESCRIPTION DEFAULT) + set(_description "${DESCRIPTION}. ON/OFF/AUTO") + set(${NAME} ${DEFAULT} CACHE STRING "${_description}") + set_property(CACHE ${NAME} PROPERTY STRINGS ON OFF AUTO) + + set(${NAME}_AUTO OFF) + set(${NAME}_FORCE OFF) + string(TOUPPER "${${NAME}}" ${NAME}) + if ("${NAME}" STREQUAL "AUTO") + set(${NAME}_AUTO ON) + elseif (${NAME}) + set(${NAME}_FORCE ON) + set(${NAME} ON) + else() + set(${NAME} OFF) + endif() + # Always provide the sanitized value to the caller + set(${NAME} "${${NAME}}" PARENT_SCOPE) + set(${NAME}_AUTO "${${NAME}_AUTO}" PARENT_SCOPE) + set(${NAME}_FORCE "${${NAME}_FORCE}" PARENT_SCOPE) +endfunction() + # Hides or shows a cache value based on conditions # # Usage: diff --git a/cmake/gmxSetBuildInformation.cmake b/cmake/gmxSetBuildInformation.cmake index d7add47d20..7565410844 100644 --- a/cmake/gmxSetBuildInformation.cmake +++ b/cmake/gmxSetBuildInformation.cmake @@ -83,7 +83,7 @@ macro(gmx_set_build_information) if(NOT CMAKE_CROSSCOMPILING) # Get CPU information, e.g. for deciding what SIMD support exists - set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src/gromacs/legacyheaders -DGMX_CPUID_STANDALONE") + set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src -DGMX_CPUID_STANDALONE") if(GMX_TARGET_X86) set(_compile_definitions "${_compile_definitions} -DGMX_TARGET_X86") endif() diff --git a/cmake/gmxTestSimd.cmake b/cmake/gmxTestSimd.cmake index 3dd7407e4e..090ba65cf8 100644 --- a/cmake/gmxTestSimd.cmake +++ b/cmake/gmxTestSimd.cmake @@ -249,6 +249,56 @@ elseif(${GMX_SIMD} STREQUAL "AVX2_256") set(GMX_SIMD_X86_AVX2_256 1) set(SIMD_STATUS_MESSAGE "Enabling 256-bit AVX2 SIMD instructions") +elseif(${GMX_SIMD} STREQUAL "ARM_NEON") + + gmx_find_cflag_for_source(CFLAGS_ARM_NEON "C compiler 32-bit ARM NEON flag" + "#include + int main(){float32x4_t x=vdupq_n_f32(0.5);x=vmlaq_f32(x,x,x);return vgetq_lane_f32(x,0)>0;}" + SIMD_C_FLAGS + "-mfpu=neon" "") + gmx_find_cxxflag_for_source(CXXFLAGS_ARM_NEON "C++ compiler 32-bit ARM NEON flag" + "#include + int main(){float32x4_t x=vdupq_n_f32(0.5);x=vmlaq_f32(x,x,x);return vgetq_lane_f32(x,0)>0;}" + SIMD_CXX_FLAGS + "-mfpu=neon" "-D__STDC_CONSTANT_MACROS" "") + + if(NOT CFLAGS_ARM_NEON OR NOT CXXFLAGS_ARM_NEON) + message(FATAL_ERROR "Cannot find ARM 32-bit NEON compiler flag. Use a newer compiler, or disable NEON SIMD.") + endif() + + set(GMX_SIMD_ARM_NEON 1) + set(SIMD_STATUS_MESSAGE "Enabling 32-bit ARM NEON SIMD instructions") + +elseif(${GMX_SIMD} STREQUAL "ARM_NEON_ASIMD") + # Gcc-4.8.1 appears to have a bug where the c++ compiler requires + # -D__STDC_CONSTANT_MACROS if we include arm_neon.h + + gmx_find_cflag_for_source(CFLAGS_ARM_NEON_ASIMD "C compiler ARM NEON Advanced SIMD flag" + "#include + int main(){float64x2_t x=vdupq_n_f64(0.5);x=vfmaq_f64(x,x,x);return vgetq_lane_f64(x,0)>0;}" + SIMD_C_FLAGS + "") + gmx_find_cxxflag_for_source(CXXFLAGS_ARM_NEON_ASIMD "C++ compiler ARM NEON Advanced SIMD flag" + "#include + int main(){float64x2_t x=vdupq_n_f64(0.5);x=vfmaq_f64(x,x,x);return vgetq_lane_f64(x,0)>0;}" + SIMD_CXX_FLAGS + "-D__STDC_CONSTANT_MACROS" "") + + if(NOT CFLAGS_ARM_NEON_ASIMD OR NOT CXXFLAGS_ARM_NEON_ASIMD) + message(FATAL_ERROR "Cannot find ARM (AArch64) NEON Advanced SIMD compiler flag. Use a newer compiler, or disable SIMD.") + endif() + + if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.9") + message(WARNING "At least gcc-4.8.1 has many bugs for ARM (AArch64) NEON Advanced SIMD compilation. You might need gcc version 4.9 or later.") + endif() + + if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "3.4") + message(FATAL_ERROR "Clang version 3.4 or later is required for ARM (AArch64) NEON Advanced SIMD.") + endif() + + set(GMX_SIMD_ARM_NEON_ASIMD 1) + set(SIMD_STATUS_MESSAGE "Enabling ARM (AArch64) NEON Advanced SIMD instructions") + elseif(${GMX_SIMD} STREQUAL "IBM_QPX") try_compile(TEST_QPX ${CMAKE_BINARY_DIR} @@ -263,6 +313,46 @@ elseif(${GMX_SIMD} STREQUAL "IBM_QPX") message(FATAL_ERROR "Cannot compile the requested IBM QPX intrinsics. If you are compiling for BlueGene/Q with the XL compilers, use 'cmake .. -DCMAKE_TOOLCHAIN_FILE=Platform/BlueGeneQ-static-XL-C' to set up the tool chain.") endif() +elseif(${GMX_SIMD} STREQUAL "IBM_VMX") + + gmx_find_cflag_for_source(CFLAGS_IBM_VMX "C compiler IBM VMX SIMD flag" + "#include + int main(){vector float x,y=vec_ctf(vec_splat_s32(1),0);x=vec_madd(y,y,y);return vec_all_ge(y,x);}" + SIMD_C_FLAGS + "-maltivec -mabi=altivec" "-qarch=auto -qaltivec") + gmx_find_cxxflag_for_source(CXXFLAGS_IBM_VMX "C++ compiler IBM VMX SIMD flag" + "#include + int main(){vector float x,y=vec_ctf(vec_splat_s32(1),0);x=vec_madd(y,y,y);return vec_all_ge(y,x);}" + SIMD_CXX_FLAGS + "-maltivec -mabi=altivec" "-qarch=auto -qaltivec") + + if(NOT CFLAGS_IBM_VMX OR NOT CXXFLAGS_IBM_VMX) + message(FATAL_ERROR "Cannot find IBM VMX SIMD compiler flag. Use a newer compiler, or disable VMX SIMD.") + endif() + + set(GMX_SIMD_IBM_VMX 1) + set(SIMD_STATUS_MESSAGE "Enabling IBM VMX SIMD instructions") + +elseif(${GMX_SIMD} STREQUAL "IBM_VSX") + + gmx_find_cflag_for_source(CFLAGS_IBM_VSX "C compiler IBM VSX SIMD flag" + "#include + int main(){vector double x,y=vec_splats(1.0);x=vec_madd(y,y,y);return vec_all_ge(y,x);}" + SIMD_C_FLAGS + "-mvsx" "-maltivec -mabi=altivec" "-qarch=auto -qaltivec") + gmx_find_cxxflag_for_source(CXXFLAGS_IBM_VSX "C++ compiler IBM VSX SIMD flag" + "#include + int main(){vector double x,y=vec_splats(1.0);x=vec_madd(y,y,y);return vec_all_ge(y,x);}" + SIMD_CXX_FLAGS + "-mvsx" "-maltivec -mabi=altivec" "-qarch=auto -qaltivec") + + if(NOT CFLAGS_IBM_VSX OR NOT CXXFLAGS_IBM_VSX) + message(FATAL_ERROR "Cannot find IBM VSX SIMD compiler flag. Use a newer compiler, or disable VSX SIMD.") + endif() + + set(GMX_SIMD_IBM_VSX 1) + set(SIMD_STATUS_MESSAGE "Enabling IBM VSX SIMD instructions") + elseif(${GMX_SIMD} STREQUAL "SPARC64_HPC_ACE") # Note that GMX_RELAXED_DOUBLE_PRECISION is enabled by default in the top-level CMakeLists.txt diff --git a/cmake/gmxVersionInfo.cmake b/cmake/gmxVersionInfo.cmake new file mode 100644 index 0000000000..c37b8cad67 --- /dev/null +++ b/cmake/gmxVersionInfo.cmake @@ -0,0 +1,386 @@ +# +# 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. + +# Sets version information variables and provides CMake functions for +# generating files based on them +# +# This script provides the following basic version variables that need to be +# maintained manually: +# GMX_VERSION_MAJOR Major version number. +# GMX_VERSION_MINOR Minor version number. +# GMX_VERSION_PATCH Patch version number. +# Should always be defined: zero for, e.g., 5.0. +# GMX_VERSION_SUFFIX String suffix to add to numeric version string. +# "-dev" is automatically added when not building from a source package, +# and does not need to be kept here. +# LIBRARY_SOVERSION so version for the built libraries. +# Should be increased for each binary incompatible release (in GROMACS, +# the typical policy is to increase it for each major/minor version +# change, but not for patch releases, even if the latter may not always +# be fully binary compatible). +# LIBRARY_VERSION Full library version. +# REGRESSIONTEST_BRANCH For builds not from source packages, name of the +# regressiontests branch at gerrit.gromacs.org whose HEAD can test this +# code, *if* this code is recent enough (i.e., contains all changes from +# the corresponding code branch that affects the regression test +# results). +# REGRESSIONTEST_MD5SUM +# The MD5 checksum of the regressiontest tarball. Only used when building +# from a source package. +# They are collected into a single section below. +# The following variables are set based on these: +# GMX_VERSION String composed from GMX_VERSION_* numeric variables +# above. Example: 4.6.1, 5.0 +# GMX_VERSION_STRING String with GMX_VERSION suffixed with the given +# suffix and possibly "-dev" for builds not from a source package. +# GMX_VERSION_NUMERIC Numeric version number (e.g., 40601 for 4.6.1). +# GMX_API_VERSION Numeric API version. +# This is currently set automatically to GMX_VERSION_NUMERIC, but may +# become manually maintained in the future if there will be releases +# where the API does not change, but programs/libraries do. +# In such a case, this should be the first version where the current API +# appeared. +# REGRESSIONTEST_VERSION For source packages, version number of the +# matching regressiontests tarball. Not used for builds not from source +# packages. +# The latter two are used to generate gromacs/version.h to allow software +# written against the GROMACS API to provide some #ifdef'ed code to support +# multiple GROMACS versions. +# +# The following variables are defined without manual intervention: +# SOURCE_IS_SOURCE_DISTRIBUTION The source tree is from a source tarball. +# SOURCE_IS_GIT_REPOSITORY The source tree is a git repository. +# Note that both can be false if the tree has been extracted, e.g., as a +# tarball directly from git. +# Additionally, the following variable is defined: +# BUILD_IS_INSOURCE The build is happening in-source. +# +# This script also declares machinery to generate and obtain version +# information from a git repository. This is enabled by default if the source +# tree is a git, but can be disabled with +# GMX_GIT_VERSION_INFO Advanced CMake variable to disable git +# version info generation. +# The main interface to this machinery is the gmx_configure_version_file() +# CMake function. The signature is +# gmx_configure_version_file( +# [REMOTE_HASH] [SOURCE_FILE] +# [TARGET ] +# [COMMENT ]) +# Specify the input and output files as for configure_file(). +# The configuration is done with configure_file(... @ONLY) with +# the following variables defined (as well as all the +# GMX_VERSION* variables from above): +# GMX_VERSION_STRING_FULL +# GMX_VERSION_FULL_HASH +# GMX_VERSION_CENTRAL_BASE_HASH +# The output file is created during build time, so any dependent +# targets should specify it as a dependency. +# REMOTE_HASH Currently, this has no effect, but it signifies that the +# file is using the CENTRAL_BASE_HASH variable. +# This variable is much more expensive to initialize than the +# others, so this allows local changes in this file to only +# compute that value when required if that becomes necessary. +# SOURCE_FILE Signals that will be used as a source file. +# The function will set properties for the source file +# appropriately to signify that it is generated. +# TARGET By default, this function uses add_custom_command() to +# generate the output file. If TARGET is specified, then +# add_custom_target() is used to create a target with the given +# name that runs this custom command. Use this if +# the same file will be used for multiple downstream targets, +# or if the explicit target for the file is otherwise +# necessary. +# COMMENT Set a custom comment to be shown when building the rule +# (see add_custom_command(... COMMENT )). +# As an alternative to using this script, also the following variables are +# provided (can be useful when generating more complex CMake scripts that do +# build-time tasks): +# VERSION_INFO_CMAKE_SCRIPT +# Absolute path to a CMake script that can be included using include() +# to declare the GMX_VERSION_* variables documented for +# gmx_configure_version_file(). +# VERSION_INFO_DEPS +# If a custom command depends on VERSION_INFO_CMAKE_SCRIPT, then it +# should add ${VERSION_INFO_DEPS} to its DEPENDS list to get the +# appropriate dependencies. +# TODO: If someone wants to add a custom target that depends on +# VERSION_INFO_CMAKE_SCRIPT, a separate variable may be needed for those +# dependencies. +# +# The version string printed by 'gmx -version' (and also printed in the startup +# header) can provide useful information for, e.g., diagnosing bug reports and +# identifying what exact version the user was using. The following formats are +# possible (with examples given for a particular version): +# 4.6.1 Plain version number without any suffix signifies a build from +# a released source tarball. +# 4.6.1-dev '-dev' suffix signifies all other builds. If there is no other +# information, either the user built the code outside any git +# repository, or disabled the version info generation. +# 4.6.1-dev-YYYYMMDD-1234abc +# The YYYYMMDD part shows the commit date (not author date) of +# the HEAD commit from which the code was built. The abbreviated +# hash is the hash of that commit (the full hash is available in +# 'gmx -version' output). +# If the HEAD hash is not identified as coming from branches in +# "authoritative" GROMACS repositories, 'gmx -version' will show +# the nearest ancestor commit that is identified as such (but see +# the '-local' and '-unknown' suffixes below). +# 4.6.1-dev-YYYYMMDD-1234abc-dirty +# As above, but there were local modifications in the source tree +# when the code was built. +# 4.6.1-dev-YYYYMMDD-1234abc-unknown +# As above, but there were no remotes in the repository that +# could be identified as "authoritative" GROMACS repositories. +# This happens if the code is not cloned from git.gromacs.org +# or gerrit.gromacs.org. +# 4.6.1-dev-YYYYMMDD-1234abc-local +# As above, but there were no commits in the recent history of +# the branch that could be identified as coming from +# "authoritative" GROMACS repositories. This should be +# relatively rare. +# +# Other variables set here are not intended for use outside this file. +# The scripts gmxGenerateVersionInfo.cmake and gmxConfigureVersionInfo.cmake +# are used internally by this machinery, as well as VersionInfo.cmake.cmakein. + +##################################################################### +# Basic nature of the source tree + +set(SOURCE_IS_GIT_REPOSITORY OFF) +set(SOURCE_IS_SOURCE_DISTRIBUTION OFF) +if (EXISTS "${PROJECT_SOURCE_DIR}/.git") + set(SOURCE_IS_GIT_REPOSITORY ON) +endif() +# This file is excluded from CPack source packages, but part of the repository, +# so it should get included everywhere else. +if (NOT EXISTS "${PROJECT_SOURCE_DIR}/admin/.isreposource") + set(SOURCE_IS_SOURCE_DISTRIBUTION ON) +endif() +set(BUILD_IS_INSOURCE OFF) +if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}") + set(BUILD_IS_INSOURCE ON) +endif() + +##################################################################### +# Manually maintained version info + +# The GROMACS convention is that these are the version number of the next +# release that is going to be made from this branch. +set(GMX_VERSION_MAJOR 5) +set(GMX_VERSION_MINOR 1) +set(GMX_VERSION_PATCH 0) +# The suffix, on the other hand, is used mainly for betas and release +# candidates, where it signifies the last such release from this branch; +# it will be empty before the first such release, as well as after the +# final release is out. +set(GMX_VERSION_SUFFIX "") + +set(LIBRARY_SOVERSION 1) +set(LIBRARY_VERSION ${LIBRARY_SOVERSION}.0.0) + +set(REGRESSIONTEST_BRANCH "refs/heads/master") +set(REGRESSIONTEST_MD5SUM "a07524afebca5013540d4f2f72df2dce") + +##################################################################### +# General version management based on manually set numbers + +if (GMX_VERSION_PATCH) + set(GMX_VERSION "${GMX_VERSION_MAJOR}.${GMX_VERSION_MINOR}.${GMX_VERSION_PATCH}") +else() + set(GMX_VERSION "${GMX_VERSION_MAJOR}.${GMX_VERSION_MINOR}") +endif() +set(GMX_VERSION_STRING "${GMX_VERSION}${GMX_VERSION_SUFFIX}") +if (NOT SOURCE_IS_SOURCE_DISTRIBUTION) + set(GMX_VERSION_STRING "${GMX_VERSION_STRING}-dev") +endif() + +set(REGRESSIONTEST_VERSION "${GMX_VERSION_STRING}") + +math(EXPR GMX_VERSION_NUMERIC + "${GMX_VERSION_MAJOR}*10000 + ${GMX_VERSION_MINOR}*100 + ${GMX_VERSION_PATCH}") +set(GMX_API_VERSION ${NUM_VERSION}) + +##################################################################### +# git version info management + +# There can be clusters where git and CMake can run on nodes where the other is +# not available, accessing the same source tree. +# Should be unlikely, but doesn't hurt to check. +set(_git_info_default OFF) +if (SOURCE_IS_GIT_REPOSITORY) + find_package(Git) + if (GIT_FOUND) + set(_git_info_default ON) + endif() +endif() +option(GMX_GIT_VERSION_INFO "Generate git version information" ${_git_info_default}) +mark_as_advanced(GMX_GIT_VERSION_INFO) +# Detect preconditions for version info generation if it is requested. +if (GMX_GIT_VERSION_INFO) + if (NOT SOURCE_IS_GIT_REPOSITORY) + message(FATAL_ERROR + "Cannot generate git version information from source tree not under git. " + "Set GMX_GIT_VERSION_INFO=OFF to proceed.") + endif() + # We need at least git v1.5.3 be able to parse git's date output. + if (NOT GIT_FOUND OR GIT_VERSION_STRING VERSION_LESS "1.5.3") + message(FATAL_ERROR + "No compatible git version found (>= 1.5.3 required). " + "Won't be able to generate development version information. " + "Set GMX_GIT_VERSION_INFO=OFF to proceed.") + endif() +endif() + +include(gmxCustomCommandUtilities) + +# The first two are also for use outside this file, encapsulating the details +# of how to use the generated VersionInfo.cmake. +set(VERSION_INFO_CMAKE_FILE ${PROJECT_BINARY_DIR}/VersionInfo.cmake) +set(VERSION_INFO_DEPS ${VERSION_INFO_CMAKE_FILE}) +# Capture the location of the necessary files in internal variables for use in +# the function below. +set(VERSION_INFO_CMAKEIN_FILE ${CMAKE_CURRENT_LIST_DIR}/VersionInfo.cmake.cmakein) +set(VERSION_INFO_CONFIGURE_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/gmxConfigureVersionInfo.cmake) + +# Rules to create the VersionInfo.cmake file. +# For git info, the sequence is: +# 1. (configure time) VersionInfo.cmake.cmakein -> VersionInfo-partial.cmake.cmakein +# - Set all variables that are known at configure time. +# 2. (build time) VersionInfo-partial.cmake.cmakein -> VersionInfo.cmake +# - Set variables that may change as result of repository state changes +# (i.e., everything that requires running git). +# - Runs every time as a git-version-info target, but the output file +# timestamp only changes if its contents actually change. +# - Depending on the native build system, this may run once per build +# or once per each time it is required for step 3. +# 3. (build time) VersionInfo.cmake -> other files +# - Set variables in files specified with gmx_configure_version_file() +# using the values generated in step 2. +# - Each file runs as a custom command that depends on the previous +# steps, and runs only if the VersionInfo.cmake file is newer than the +# output file. +# Without git info, the sequence is: +# 1. (configure time) VersionInfo.cmake.cmakein -> VersionInfo.cmake +# - Everything is known at configure time, so the output is generated +# immediately with all variables set (git info will be empty). +# 2. (build time) VersionInfo.cmake -> other files +# - As with git info, processes files from gmx_configure_version_file(). +# - These are again custom commands that depend on the output from +# step 1, so they get regenerated only when the static version info +# changes. +if (GMX_GIT_VERSION_INFO) + # Configure information known at this time into a partially filled + # version info file. + set(VERSION_INFO_CMAKEIN_FILE_PARTIAL + ${PROJECT_BINARY_DIR}/VersionInfo-partial.cmake.cmakein) + # Leave these to be substituted by the custom target below. + set(GMX_VERSION_STRING_FULL "\@GMX_VERSION_STRING_FULL\@") + set(GMX_VERSION_FULL_HASH "\@GMX_VERSION_FULL_HASH\@") + set(GMX_VERSION_CENTRAL_BASE_HASH "\@GMX_VERSION_CENTRAL_BASE_HASH\@") + configure_file(${VERSION_INFO_CMAKEIN_FILE} + ${VERSION_INFO_CMAKEIN_FILE_PARTIAL} + @ONLY) + # If generating the version info, create a target that runs on every build + # and does the actual git calls, storing the results into a CMake script. + # This needs to be run at build time to update the version information + # properly when the git hash changes, but the build system does not. + # All targets added by gmx_configure_version_file() use the information + # from this script to get their variables from, removing the need to run + # git multiple times and simplifying reuse for other purposes. + gmx_add_custom_output_target(git-version-info RUN_ALWAYS + OUTPUT ${VERSION_INFO_CMAKE_FILE} + COMMAND ${CMAKE_COMMAND} + -D GIT_EXECUTABLE=${GIT_EXECUTABLE} + -D PROJECT_VERSION=${GMX_VERSION_STRING} + -D PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} + -D VERSION_CMAKEIN=${VERSION_INFO_CMAKEIN_FILE_PARTIAL} + -D VERSION_OUT=${VERSION_INFO_CMAKE_FILE} + -P ${CMAKE_CURRENT_LIST_DIR}/gmxGenerateVersionInfo.cmake + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMENT "Generating git version information") + list(APPEND VERSION_INFO_DEPS git-version-info) +else() + # If the version info is static, just generate the CMake script with the + # version variables during the CMake run. + set(GMX_VERSION_STRING_FULL ${GMX_VERSION_STRING}) + set(GMX_VERSION_FULL_HASH "") + set(GMX_VERSION_CENTRAL_BASE_HASH "") + configure_file(${VERSION_INFO_CMAKEIN_FILE} ${VERSION_INFO_CMAKE_FILE}) +endif() +unset(GMX_VERSION_STRING_FULL) +unset(GMX_VERSION_FULL_HASH) +unset(GMX_VERSION_CENTRAL_BASE_HASH) + +# The main user-visible interface to the machinery. +# See documentation at the top of the script. +function (gmx_configure_version_file INFILE OUTFILE) + include(CMakeParseArguments) + set(_options REMOTE_HASH SOURCE_FILE) + set(_one_value_args COMMENT TARGET) + cmake_parse_arguments(ARG "${_options}" "${_one_value_args}" "" ${ARGN}) + if (ARG_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unknown arguments: ${ARG_UNPARSED_ARGUMENTS}") + endif() + # Some callers may pass partial paths that do not really make sense, + # so create a default comment that only contains the actual file name. + get_filename_component(_basename ${OUTFILE} NAME) + set(_comment "Generating ${_basename}") + if (ARG_COMMENT) + set(_comment ${ARG_COMMENT}) + endif() + # Mimic configure_file() + if (NOT IS_ABSOLUTE ${INFILE}) + set(INFILE ${CMAKE_CURRENT_SOURCE_DIR}/${INFILE}) + endif() + # The touch command is necessary to ensure that after the target is run, + # the timestamp is newer than in the input files. + add_custom_command(OUTPUT ${OUTFILE} + COMMAND ${CMAKE_COMMAND} + -D VERSION_VARIABLES=${VERSION_INFO_CMAKE_FILE} + -D VERSION_CMAKEIN=${INFILE} + -D VERSION_OUT=${OUTFILE} + -P ${VERSION_INFO_CONFIGURE_SCRIPT} + COMMAND ${CMAKE_COMMAND} -E touch ${OUTFILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${INFILE} ${VERSION_INFO_DEPS} ${VERSION_INFO_CONFIGURE_SCRIPT} + COMMENT "${_comment}" + VERBATIM) + if (ARG_TARGET) + add_custom_target(${ARG_TARGET} DEPENDS ${OUTFILE} VERBATIM) + gmx_set_custom_target_output(${ARG_TARGET} ${OUTFILE}) + endif() + if (ARG_SOURCE_FILE) + set_source_files_properties(${OUTFILE} PROPERTIES GENERATED true) + endif() +endfunction() diff --git a/cmake/legacy_and_external.supp b/cmake/legacy_and_external.supp index 0e84ddeaba..082fcc14ae 100644 --- a/cmake/legacy_and_external.supp +++ b/cmake/legacy_and_external.supp @@ -78,10 +78,10 @@ fun:gmx_fio_fopen } { - new_symbuf + put_symtab Memcheck:Leak ... - fun:new_symbuf + fun:put_symtab } { bTimeSet/tMPI_Thread_mutex_init_once diff --git a/docs/.gitattributes b/docs/.gitattributes new file mode 100644 index 0000000000..a996511636 --- /dev/null +++ b/docs/.gitattributes @@ -0,0 +1,2 @@ +doxygen/DoxygenLayout.xml gmx-doxygen +doxygen/**/*.md gmx-doxygen diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index dd043ecd78..cdb1fdcfc0 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -56,7 +56,7 @@ set(HTML_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/html") file(MAKE_DIRECTORY ${HTML_OUTPUT_DIR}) -if(${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) +if (BUILD_IS_INSOURCE) set(MARKDOWN_CONFIGURE_IS_POSSIBLE off) else() set(MARKDOWN_CONFIGURE_IS_POSSIBLE on) @@ -165,7 +165,7 @@ set(HTML_BUILD_IS_POSSIBLE OFF) # never need to know. if(GMX_BUILD_WEBPAGE AND GMX_BUILD_HELP AND - NOT ${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR} AND + NOT BUILD_IS_INSOURCE AND MARKDOWN_CONFIGURE_IS_POSSIBLE AND MANUAL_BUILD_IS_POSSIBLE AND PANDOC_EXECUTABLE AND @@ -207,27 +207,27 @@ if(HTML_BUILD_IS_POSSIBLE) set(DOWNLOAD_SECTION "# Downloads -* Source code - [gromacs-${PROJECT_VERSION}.tar.gz](gromacs-${PROJECT_VERSION}.tar.gz) +* Source code - [gromacs-${GMX_VERSION_STRING}.tar.gz](gromacs-${GMX_VERSION_STRING}.tar.gz) (md5sum ${SOURCE_MD5SUM}) Other source code versions may be found at -* Regression tests - [regressiontests-${PROJECT_VERSION}.tar.gz](regressiontests-${PROJECT_VERSION}.tar.gz) +* Regression tests - [regressiontests-${GMX_VERSION_STRING}.tar.gz](regressiontests-${GMX_VERSION_STRING}.tar.gz) (md5sum ${REGRESSIONTESTS_MD5SUM}) ") # Copy the source tarball to the webpage output add_custom_command( - OUTPUT ${HTML_OUTPUT_DIR}/gromacs-${PROJECT_VERSION}.tar.gz + OUTPUT ${HTML_OUTPUT_DIR}/gromacs-${GMX_VERSION_STRING}.tar.gz COMMAND ${CMAKE_COMMAND} - -E copy ${SOURCE_TARBALL} ${HTML_OUTPUT_DIR}/gromacs-${PROJECT_VERSION}.tar.gz + -E copy ${SOURCE_TARBALL} ${HTML_OUTPUT_DIR}/gromacs-${GMX_VERSION_STRING}.tar.gz VERBATIM ) # Copy the regressiontests tarball to the webpage output add_custom_command( - OUTPUT ${HTML_OUTPUT_DIR}/regressiontests-${PROJECT_VERSION}.tar.gz + OUTPUT ${HTML_OUTPUT_DIR}/regressiontests-${GMX_VERSION_STRING}.tar.gz COMMAND ${CMAKE_COMMAND} - -E copy ${REGRESSIONTESTS_TARBALL} ${HTML_OUTPUT_DIR}/regressiontests-${PROJECT_VERSION}.tar.gz + -E copy ${REGRESSIONTESTS_TARBALL} ${HTML_OUTPUT_DIR}/regressiontests-${GMX_VERSION_STRING}.tar.gz VERBATIM ) else() @@ -246,11 +246,11 @@ if(HTML_BUILD_IS_POSSIBLE) # Make the PDF reference guide # TODO Try to make the PDF arrive directly in ${HTML_OUTPUT_DIR} add_custom_command( - OUTPUT ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf + OUTPUT ${HTML_OUTPUT_DIR}/manual-${GMX_VERSION_STRING}.pdf COMMAND ${CMAKE_COMMAND} - -E remove -f ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf + -E remove -f ${HTML_OUTPUT_DIR}/manual-${GMX_VERSION_STRING}.pdf COMMAND ${CMAKE_COMMAND} - -E copy ${CMAKE_CURRENT_BINARY_DIR}/manual/gromacs.pdf ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf + -E copy ${CMAKE_CURRENT_BINARY_DIR}/manual/gromacs.pdf ${HTML_OUTPUT_DIR}/manual-${GMX_VERSION_STRING}.pdf # UseLATEX.cmake makes a target called pdf, not ${CMAKE_CURRENT_BINARY_DIR}/manual/gromacs.pdf DEPENDS pdf VERBATIM @@ -283,8 +283,8 @@ if(HTML_BUILD_IS_POSSIBLE) # tarball if(BUILD_DOWNLOAD_SECTION) list(APPEND extra_webpage_dependencies - ${HTML_OUTPUT_DIR}/gromacs-${PROJECT_VERSION}.tar.gz - ${HTML_OUTPUT_DIR}/regressiontests-${PROJECT_VERSION}.tar.gz + ${HTML_OUTPUT_DIR}/gromacs-${GMX_VERSION_STRING}.tar.gz + ${HTML_OUTPUT_DIR}/regressiontests-${GMX_VERSION_STRING}.tar.gz ) endif() @@ -297,7 +297,7 @@ if(HTML_BUILD_IS_POSSIBLE) ${HTML_OUTPUT_DIR}/index.html install-guide user-guide - ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf + ${HTML_OUTPUT_DIR}/manual-${GMX_VERSION_STRING}.pdf ${extra_webpage_dependencies} VERBATIM ) diff --git a/docs/configure-markdown.cmake.in b/docs/configure-markdown.cmake.in index 0f99002bea..60a5ab4c56 100644 --- a/docs/configure-markdown.cmake.in +++ b/docs/configure-markdown.cmake.in @@ -4,7 +4,7 @@ # Now configure the values for all the variables that might later # configure any of the markdown files. -set(PROJECT_VERSION "@PROJECT_VERSION@") +set(PROJECT_VERSION "@GMX_VERSION_STRING@") set(GMX_CMAKE_MINIMUM_REQUIRED_VERSION "@GMX_CMAKE_MINIMUM_REQUIRED_VERSION@") set(REQUIRED_CUDA_VERSION "@REQUIRED_CUDA_VERSION@") set(REQUIRED_CUDA_COMPUTE_CAPABILITY "@REQUIRED_CUDA_COMPUTE_CAPABILITY@") diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt index 1e334a4fa8..3dc0946222 100644 --- a/docs/doxygen/CMakeLists.txt +++ b/docs/doxygen/CMakeLists.txt @@ -32,13 +32,14 @@ # 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(gmxCustomCommandUtilities) include(gmxOptionUtilities) find_package(Doxygen QUIET) if (DOXYGEN_FOUND) # This logic closely follows that found in FindDoxygen.cmake for dot, # except that the PATH variable is not cached. - FIND_PROGRAM(DOXYGEN_MSCGEN_EXECUTABLE + find_program(DOXYGEN_MSCGEN_EXECUTABLE NAMES mscgen DOC "Message sequence chart renderer tool (http://www.mcternan.me.uk/mscgen/)") if (DOXYGEN_MSCGEN_EXECUTABLE) @@ -61,80 +62,156 @@ if (PYTHONINTERP_FOUND AND NOT PYTHON_VERSION_STRING VERSION_LESS "2.6") set(USE_PYTHON_SCRIPTS ON) endif() -add_custom_target(find-installed-headers +# Create a stamp file whenever cmake is run, as the list of installed files may +# have changed. +gmx_get_stamp_filename(configure_stamp_file cmake-configure) +file(WRITE ${configure_stamp_file} "Timestamp for configuration") +# Note that if you relocate this file, you also need to change gmxtree.py. +set(INSTALLED_HEADERS_FILE ${CMAKE_CURRENT_BINARY_DIR}/installed-headers.txt) +gmx_add_custom_output_target(find-installed-headers + OUTPUT ${INSTALLED_HEADERS_FILE} COMMAND ${CMAKE_COMMAND} -D SRCDIR=${CMAKE_SOURCE_DIR} -D BUILDDIR=${CMAKE_BINARY_DIR} - -D OUTFILE=${CMAKE_CURRENT_BINARY_DIR}/installed-headers.txt + -D OUTFILE=${INSTALLED_HEADERS_FILE} -P ${CMAKE_CURRENT_SOURCE_DIR}/getInstalledHeaders.cmake - COMMENT "Generating installed headers list" VERBATIM) + DEPENDS ${configure_stamp_file} + COMMENT "Generating installed headers list") ######################################################################## # Doxygen configuration -######################################################################## +# if (DOXYGEN_FOUND) - FILE(GLOB NB_KERNEL_DIRS + # Generate Doxygen input configuration files + file(GLOB NB_KERNEL_DIRS ${CMAKE_SOURCE_DIR}/src/gromacs/gmxlib/nonbonded/nb_kernel_*/) - LIST(REMOVE_ITEM NB_KERNEL_DIRS + list(REMOVE_ITEM NB_KERNEL_DIRS ${CMAKE_SOURCE_DIR}/src/gromacs/gmxlib/nonbonded/nb_kernel_c) - FOREACH(NB_KERNEL_DIR ${NB_KERNEL_DIRS}) + foreach (dir ${NB_KERNEL_DIRS}) SET(NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN - "${NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN} \\\n ${NB_KERNEL_DIR}") - ENDFOREACH(NB_KERNEL_DIR) + "${NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN} \\\n ${dir}") + endforeach() + set(DEPGRAPH_DIR ${CMAKE_CURRENT_BINARY_DIR}/depgraphs) set(DOXYGEN_SECTIONS "") - CONFIGURE_FILE(Doxyfile-common.cmakein Doxyfile-common) - CONFIGURE_FILE(Doxyfile-full.cmakein Doxyfile-full) - CONFIGURE_FILE(Doxyfile-lib.cmakein Doxyfile-lib) - CONFIGURE_FILE(Doxyfile-user.cmakein Doxyfile-user) - CONFIGURE_FILE(Doxyfile-xml.cmakein Doxyfile-xml) - + set(DOXYGEN_EXTRA_SETTINGS "") if (GMX_COMPACT_DOXYGEN) - FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-common - "@INCLUDE = ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile-compact\n") + set(DOXYGEN_EXTRA_SETTINGS "@INCLUDE = ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile-compact") endif() + configure_file(Doxyfile-common.cmakein Doxyfile-common) + configure_file(Doxyfile-full.cmakein Doxyfile-full) + configure_file(Doxyfile-lib.cmakein Doxyfile-lib) + configure_file(Doxyfile-user.cmakein Doxyfile-user) + configure_file(Doxyfile-xml.cmakein Doxyfile-xml) configure_file(RunDoxygen.cmake.cmakein RunDoxygen.cmake @ONLY) - add_custom_target(doc-full - ${CMAKE_COMMAND} -DDOCTYPE=full -P RunDoxygen.cmake - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating full documentation with Doxygen" VERBATIM) - add_custom_target(doc-lib - ${CMAKE_COMMAND} -DDOCTYPE=lib -P RunDoxygen.cmake - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating library documentation with Doxygen" VERBATIM) - add_custom_target(doc-user - ${CMAKE_COMMAND} -DDOCTYPE=user -P RunDoxygen.cmake - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating public API documentation with Doxygen" VERBATIM) - add_custom_target(doc-xml - ${CMAKE_COMMAND} -DDOCTYPE=xml -P RunDoxygen.cmake - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Extracting Doxygen documentation to XML" VERBATIM) - add_custom_target(doc-all) - add_dependencies(doc-all doc-full doc-lib doc-user) + gmx_configure_version_file(Doxyfile-version.cmakein Doxyfile-version + TARGET doxygen-version) - if (GMX_GIT_VERSION_INFO) - add_custom_target(doxygen-version - COMMAND ${CMAKE_COMMAND} - -D GIT_EXECUTABLE="${GIT_EXECUTABLE}" - -D PROJECT_VERSION="${PROJECT_VERSION}" - -D PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}" - -D VERSION_CMAKEIN="${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile-version.cmakein" - -D VERSION_OUT="${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-version" - -D VERSION_NO_REMOTE_HASH= - -P ${CMAKE_SOURCE_DIR}/cmake/gmxGenerateVersionInfo.cmake - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile-version.cmakein - COMMENT "Generating version information for Doxygen") - add_dependencies(doc-full doxygen-version) - add_dependencies(doc-lib doxygen-version) - add_dependencies(doc-user doxygen-version) - add_dependencies(doc-xml doxygen-version) + # Add a stamp that gets updated whenever a source file that contributes to + # Doxygen is updated. All Doxygen targets can then depend on this stamp, + # instead of each specifying this massive set of dependencies. + # TODO: The set of files that affects Doxygen is not exactly the same as + # that which affects the dependency graphs, and neither is captured + # perfectly with this set, but this can be improved if it becomes a real + # issue (the differences are mainly in the generated group kernel files, + # but there are some minor other differences as well). + if (SOURCE_IS_GIT_REPOSITORY AND GIT_FOUND) + gmx_get_files_with_gitattribute(doxygen_sources gmx-doxygen) + # Add also common configuration files that influence the generation. + set(doxygen_deps + ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-common + ${CMAKE_CURRENT_BINARY_DIR}/RunDoxygen.cmake) + if (GMX_COMPACT_DOXYGEN) + list(APPEND doxygen_deps ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-compact) + endif() + gmx_add_custom_output_target(doxygen-source-timestamp + OUTPUT STAMP + DEPENDS_FILE_LIST doxygen_sources + DEPENDS ${doxygen_deps} + COMMENT "Updating Doxygen source timestamp") else() - set(GMX_PROJECT_VERSION_STR ${PROJECT_VERSION}) - configure_file(Doxyfile-version.cmakein Doxyfile-version) + # If there is no git, we just update the stamp every time, and the + # builds are triggered every time. This should be rare enough, but + # this case still needs to be supported for the Jenkins job that builds + # the documentation for a release from the release tarball. + gmx_add_custom_output_target(doxygen-source-timestamp + RUN_ALWAYS OUTPUT STAMP + COMMENT "Updating Doxygen source timestamp") endif() + # Helper function to create a Doxygen build target + function (add_doxygen_target TARGET TYPE COMMENT) + set(_deps doxygen-source-timestamp doxygen-version + ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-${TYPE}) + set(_fast_arg "") + if ("${ARGN}" STREQUAL "DEPGRAPHS") + set(_fast_arg "ADD_FAST_TARGET") + if (TARGET dep-graphs-dot) + list(APPEND _deps dep-graphs-dot) + endif() + endif() + gmx_add_custom_output_target(${TARGET} OUTPUT STAMP ${_fast_arg} + # Ensure the directory exists to avoid spurious warnings + COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPGRAPH_DIR} + COMMAND ${CMAKE_COMMAND} -DDOCTYPE=${TYPE} -P RunDoxygen.cmake + DEPENDS ${_deps} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "${COMMENT}") + if (_fast_arg) + add_dependencies(${TARGET}-fast doxygen-version) + endif() + endfunction() + + # The XML target is necessary for the dependency graphs + add_doxygen_target(doc-xml xml "Extracting Doxygen documentation to XML") + + # Add targets for generating the dependency graphs; they are necessary for + # the full and lib variants of the documentation. + if (USE_PYTHON_SCRIPTS) + # Add target that generates .dot files for the dependency graphs. + # The output also depends on the Doxygen source files, but the + # dependency on doc-xml takes care of that transitively. + gmx_add_custom_output_target(dep-graphs-dot ADD_FAST_TARGET + OUTPUT STAMP + COMMAND ${PYTHON_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/graphbuilder.py + -S ${CMAKE_SOURCE_DIR} -B ${CMAKE_BINARY_DIR} + --ignore-cycles ${CMAKE_CURRENT_SOURCE_DIR}/cycle-suppressions.txt + -o ${DEPGRAPH_DIR} + DEPENDS doc-xml find-installed-headers + ${CMAKE_CURRENT_SOURCE_DIR}/doxygenxml.py + ${CMAKE_CURRENT_SOURCE_DIR}/gmxtree.py + ${CMAKE_CURRENT_SOURCE_DIR}/graphbuilder.py + ${CMAKE_CURRENT_SOURCE_DIR}/cycle-suppressions.txt + COMMENT "Generating include dependency graphs for dot") + add_dependencies(dep-graphs-dot-fast find-installed-headers) + + # Add separate targets for converting the .dot files to .png. + # These are not needed by the Doxygen targets, but are useful for + # investigating just the graphs. + set(dep_graphs_command_dot + ${CMAKE_COMMAND} -DGRAPHDIR=${DEPGRAPH_DIR} + -DDOT_EXECUTABLE=${DOXYGEN_DOT_EXECUTABLE} + -P ${CMAKE_CURRENT_SOURCE_DIR}/generateGraphs.cmake) + add_custom_target(dep-graphs COMMAND ${dep_graphs_command_dot} + COMMENT "Generating PNG include dependency graphs" VERBATIM) + add_custom_target(dep-graphs-fast COMMAND ${dep_graphs_command_dot} + COMMENT "Generating PNG include dependency graphs" VERBATIM) + add_dependencies(dep-graphs dep-graphs-dot) + add_dependencies(dep-graphs-fast dep-graphs-dot-fast) + endif() + + # Create the actual targets to build the documentation. + add_doxygen_target(doc-full full "Generating full documentation with Doxygen" DEPGRAPHS) + add_doxygen_target(doc-lib lib "Generating library documentation with Doxygen" DEPGRAPHS) + add_doxygen_target(doc-user user "Generating public API documentation with Doxygen") + # Convenience targets to build all the documentation flavors. + add_custom_target(doc-all) + add_custom_target(doc-all-fast) + add_dependencies(doc-all doc-full doc-lib doc-user) + add_dependencies(doc-all-fast doc-full-fast doc-lib-fast doc-user) + + # Finally, create the doc-check target. if (USE_PYTHON_SCRIPTS) # TODO: Consider whether this is the best name and location for this # code, since not all of it is Doxygen-specific (but nearly all of it @@ -142,37 +219,15 @@ if (DOXYGEN_FOUND) set(doc_check_command ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxygen-check.py -S ${CMAKE_SOURCE_DIR} -B ${CMAKE_BINARY_DIR} - --installed ${CMAKE_CURRENT_BINARY_DIR}/installed-headers.txt -l ${CMAKE_CURRENT_BINARY_DIR}/doxygen-check.log - --ignore ${CMAKE_CURRENT_SOURCE_DIR}/suppressions.txt) - add_custom_target(doc-check COMMAND ${doc_check_command} + --exitcode + --ignore ${CMAKE_CURRENT_SOURCE_DIR}/suppressions.txt + --ignore-cycles ${CMAKE_CURRENT_SOURCE_DIR}/cycle-suppressions.txt) + add_custom_target(doc-check COMMAND ${doc_check_command} COMMENT "Checking Doxygen documentation" VERBATIM) - add_dependencies(doc-check doc-xml find-installed-headers) - - set(graphdir ${CMAKE_CURRENT_BINARY_DIR}/depgraphs) - set(dep_graphs_command_python - ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/graphbuilder.py - -S ${CMAKE_SOURCE_DIR} -B ${CMAKE_BINARY_DIR} - --installed ${CMAKE_CURRENT_BINARY_DIR}/installed-headers.txt - -o ${CMAKE_CURRENT_BINARY_DIR}/depgraphs) - set(dep_graphs_command_dot - ${CMAKE_COMMAND} -DGRAPHDIR=${graphdir} - -DDOT_EXECUTABLE=${DOXYGEN_DOT_EXECUTABLE} - -P ${CMAKE_CURRENT_SOURCE_DIR}/generateGraphs.cmake) - add_custom_target(dep-graphs - COMMAND ${dep_graphs_command_python} - COMMAND ${dep_graphs_command_dot} - COMMENT "Generating include dependency graphs" VERBATIM) - add_dependencies(dep-graphs doc-xml find-installed-headers) - - # These targets are the same as above, but they don't rerun the - # dependencies each time, making it faster and more convenient for - # testing. add_custom_target(doc-check-fast COMMAND ${doc_check_command} COMMENT "Checking Doxygen documentation" VERBATIM) - add_custom_target(dep-graphs-fast - COMMAND ${dep_graphs_command_python} - COMMAND ${dep_graphs_command_dot} - COMMENT "Generating include dependency graphs" VERBATIM) + add_dependencies(doc-check doc-xml find-installed-headers) + add_dependencies(doc-check-fast find-installed-headers) endif() endif() diff --git a/docs/doxygen/Doxyfile-common.cmakein b/docs/doxygen/Doxyfile-common.cmakein index 1ae0a1c340..6aa3663209 100644 --- a/docs/doxygen/Doxyfile-common.cmakein +++ b/docs/doxygen/Doxyfile-common.cmakein @@ -17,16 +17,18 @@ EXCLUDE = @CMAKE_CURRENT_SOURCE_DIR@/examples \ @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 STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ STRIP_FROM_INC_PATH = @CMAKE_SOURCE_DIR@/src -INCLUDE_PATH = @CMAKE_SOURCE_DIR@/src \ - @CMAKE_SOURCE_DIR@/src/gromacs/legacyheaders +INCLUDE_PATH = @CMAKE_SOURCE_DIR@/src HAVE_DOT = @DOXYGEN_DOT_FOUND@ DOT_PATH = @DOXYGEN_DOT_PATH@ MSCGEN_PATH = @DOXYGEN_MSCGEN_PATH@ +DOTFILE_DIRS = @DEPGRAPH_DIR@ +@DOXYGEN_EXTRA_SETTINGS@ ENABLED_SECTIONS = @DOXYGEN_SECTIONS@ diff --git a/docs/doxygen/Doxyfile-user.cmakein b/docs/doxygen/Doxyfile-user.cmakein index c3ad8ad9a8..9d2c67377d 100644 --- a/docs/doxygen/Doxyfile-user.cmakein +++ b/docs/doxygen/Doxyfile-user.cmakein @@ -2,10 +2,7 @@ # These pages include documentation that does not belong to the public API # documentation; exclude them from the generated documentation -EXCLUDE += @CMAKE_SOURCE_DIR@/docs/doxygen/doxygen.md -EXCLUDE += @CMAKE_SOURCE_DIR@/docs/doxygen/unittesting.md -EXCLUDE += @CMAKE_SOURCE_DIR@/docs/doxygen/wrapperbinary.md -EXCLUDE += @CMAKE_SOURCE_DIR@/docs/doxygen/simd.md +EXCLUDE += @CMAKE_CURRENT_SOURCE_DIR@/lib INTERNAL_DOCS = NO HIDE_UNDOC_CLASSES = YES diff --git a/docs/doxygen/Doxyfile-version.cmakein b/docs/doxygen/Doxyfile-version.cmakein index 38549a345f..43e374e9c0 100644 --- a/docs/doxygen/Doxyfile-version.cmakein +++ b/docs/doxygen/Doxyfile-version.cmakein @@ -1 +1 @@ -PROJECT_NUMBER = @GMX_PROJECT_VERSION_STR@ +PROJECT_NUMBER = @GMX_VERSION_STRING_FULL@ diff --git a/docs/doxygen/Doxyfile-xml.cmakein b/docs/doxygen/Doxyfile-xml.cmakein index babca03873..7c100e12a1 100644 --- a/docs/doxygen/Doxyfile-xml.cmakein +++ b/docs/doxygen/Doxyfile-xml.cmakein @@ -2,7 +2,7 @@ PREDEFINED += F77_FUNC(name,NAME)=name -ENABLED_SECTIONS += libapi internal +ENABLED_SECTIONS += libapi internal xml INTERNAL_DOCS = YES EXTRACT_LOCAL_CLASSES = YES EXTRACT_ANON_NSPACES = YES diff --git a/docs/doxygen/cycle-suppressions.txt b/docs/doxygen/cycle-suppressions.txt new file mode 100644 index 0000000000..b87e5469ca --- /dev/null +++ b/docs/doxygen/cycle-suppressions.txt @@ -0,0 +1,12 @@ +mdlib -> essentialdynamics +mdlib -> imd +mdlib -> pulling +mdlib -> swap +legacyheaders -> swap +legacyheaders -> fileio +timing -> legacyheaders +math -> legacyheaders +topology -> fileio +topology -> legacyheaders +pbcutil -> fileio +pbcutil -> legacyheaders diff --git a/docs/doxygen/directories.cpp b/docs/doxygen/directories.cpp index 13de5ee377..a98c001e3c 100644 --- a/docs/doxygen/directories.cpp +++ b/docs/doxygen/directories.cpp @@ -6,9 +6,12 @@ Doxygen documentation file for directories in the source tree. \author Teemu Murtola */ -/*! -\libinternal -\dir doxygen +/*! \libinternal +\dir docs +\brief Build system and source code for various documentation items. + */ +/*! \libinternal +\dir docs/doxygen \brief Doxygen build system and general documentation content. */ @@ -48,7 +51,7 @@ Doxygen documentation file for directories in the source tree. \ingroup module_commandline */ -/*! +/*! \libinternal \dir src/gromacs/onlinehelp \brief \ref module_onlinehelp @@ -149,7 +152,6 @@ Doxygen documentation file for directories in the source tree. \ingroup module_testutils */ - /*! \libinternal \dir src/testutils/tests @@ -166,17 +168,3 @@ Doxygen documentation file for directories in the source tree. \dir share/template \brief Template code for writing analysis programs. */ - -/*! -\file share/template/template.cpp -\brief Template code for writing analysis programs. - -See \ref page_analysistemplate for more information. - */ - -/*! -\example template.cpp -\brief Template code for writing analysis programs. - -See \ref page_analysistemplate for more information. - */ diff --git a/docs/doxygen/doxygen-check.py b/docs/doxygen/doxygen-check.py index f292b85abe..899b19589b 100755 --- a/docs/doxygen/doxygen-check.py +++ b/docs/doxygen/doxygen-check.py @@ -55,11 +55,24 @@ them to the script. import sys from optparse import OptionParser +import gmxtree from gmxtree import GromacsTree, DocType +from includesorter import IncludeSorter from reporter import Reporter def check_file(fileobj, reporter): - """Check file-level documentation.""" + """Check file-level issues.""" + if fileobj.is_source_file() and not fileobj.is_external() and \ + fileobj.get_relpath().startswith('src/'): + includes = fileobj.get_includes() + if includes: + firstinclude = includes[0].get_file() + if not firstinclude or firstinclude.get_name() != "gmxpre.h": + reporter.code_issue(includes[0], + "does not include \"gmxpre.h\" first") + else: + reporter.code_issue(fileobj, "does not include \"gmxpre.h\"") + if not fileobj.is_documented(): # TODO: Add rules for required documentation return @@ -68,7 +81,7 @@ def check_file(fileobj, reporter): # 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: @@ -76,19 +89,19 @@ def check_file(fileobj, reporter): 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, @@ -110,40 +123,41 @@ def check_file(fileobj, reporter): def check_include(fileobj, includedfile, reporter): """Check an #include directive.""" + otherfile = includedfile.get_file() if includedfile.is_system(): - if includedfile.get_file(): - reporter.code_issue(includedfile, - "includes local file as {0}".format(includedfile)) - else: - otherfile = includedfile.get_file() - if not otherfile: - reporter.code_issue(includedfile, - "includes non-local file as {0}".format(includedfile)) - elif fileobj.is_installed() and not includedfile.is_relative(): - reporter.code_issue(includedfile, - "installed header includes {0} using non-relative path" - .format(includedfile)) if not otherfile: return - if fileobj.is_installed() and not otherfile.is_installed(): - reporter.code_issue(includedfile, - "installed header includes non-installed {0}" - .format(includedfile)) - 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() - 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) - if check_api and otherfile.get_api_type() < DocType.library: + reporter.code_issue(includedfile, + "includes local file as {0}".format(includedfile)) + if not otherfile: + reporter.code_issue(includedfile, + "includes non-local file as {0}".format(includedfile)) + # TODO: Reinstantiate a check once there is clarity on what we want + # to enforce. + #elif fileobj.is_installed() and not includedfile.is_relative(): + # reporter.code_issue(includedfile, + # "installed header includes {0} using non-relative path" + # .format(includedfile)) + if not otherfile: + return + if fileobj.is_installed() and not otherfile.is_installed(): + reporter.code_issue(includedfile, + "installed header includes non-installed {0}" + .format(includedfile)) + filemodule = fileobj.get_module() + othermodule = otherfile.get_module() + if fileobj.is_documented() and otherfile.is_documented(): + filetype = fileobj.get_doc_type() + othertype = otherfile.get_doc_type() + if filetype > othertype: reporter.code_issue(includedfile, - "included file {0} is not documented as exposed outside its module" - .format(includedfile)) + "{0} file includes {1} file {2}" + .format(filetype, othertype, includedfile)) + 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" + .format(includedfile)) def check_entity(entity, reporter): """Check documentation for a code construct.""" @@ -156,8 +170,8 @@ def check_class(classobj, reporter): """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") @@ -166,17 +180,184 @@ def check_class(classobj, reporter): "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(): reporter.doc_note(member, "has in-body comments, which are ignored") +def check_cycles(graph, reporter): + """Check cyclic dependencies in a dependency graph. + + The graph parameter provides the graph to check. It should be an object + that has three methods: + iternodes(): + Return the list of nodes in the graph. + iteredges(node): + Return the list of edges from a given node. + The list should contain (node, edge) pairs, where node is an object + returned by iternodes() and edge is any object. + report_cycle(cycle, reporter): + Process a found cycle. cycle contains a list of (node, edge) pairs + that describe the cycle. edge is the edge object that leads _to_ + the node in the cycle. + + This is implemented using an extended DFS-based strongly connected + component (SCC) search, written using a stack instead of recursion. + The base algorithm is Tarjan's SCC search: + http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm + + Each back edge that is encountered during the search is reported as a + cycle. Additionally, if a cross edge is encountered that is within the + current SCC, the target node and all its children in the current SCC will + be visited again to find all cycles. All steps except cycle detection are + omitted for such re-traversal. + + To avoid duplicates from cycles that do not include all nodes in an SCC, + a cycle is only reported if the target of the back edge is still active + in the search, i.e., all edges from it have not yet been traversed. + """ + # The DFS stack; next node is always popped from the end. + # Stores (node, edge) pairs. + # edge is None for start nodes and for post-order processing. + dfsstack = [] + for node in graph.iternodes(): + dfsstack.append((node, None)) + # Stack of visited nodes that have not yet been assigned to a strongly + # connected component. + visitstack = [] + # List of nodes in the DFS recursion stack. + currlist = [] + # Set of nodes in currlist for more efficient searching. + currset = set() + # Counter for initializing preorder. + visit_count = 0 + # DFS pre-order for nodes: initialized when a node is first encountered + # in the search. + preorder = dict() + # Lowest pre-order index reachable from this node. + # Initialized to pre-order, and updated during post-order processing. + linkorder = dict() + # Set to True for a node when first encountered, and set to False when + # a strongly connected component has been processed. + in_progress = dict() + # The DFS search + while dfsstack: + currnode, curredge = dfsstack.pop() + # curredge is None if this is a start node or post-order traversal. + # currlist is empty if this is a start node. + if curredge is None and currlist: + # All children visited: post-order processing. + done = currlist.pop()[0] + assert done == currnode + currset.remove(currnode) + # If this is the first time this node is encountered, fill + # linkorder and check for strongly connected components. + if linkorder[currnode] == preorder[currnode]: + children = [x for x, dummy in graph.iteredges(currnode) if in_progress[x]] + if children: + linkorder[currnode] = min([linkorder[x] for x in children]) + if preorder[currnode] <= linkorder[currnode]: + # This is a root of a strongly connected component. + while visitstack: + node = visitstack.pop() + in_progress[node] = False + if node == currnode: + break + else: + assert False + continue + if currnode not in preorder: + # First encounter of this node: pre-order processing. + preorder[currnode] = visit_count + linkorder[currnode] = visit_count + visitstack.append(currnode) + visit_count += 1 + in_progress[currnode] = True + elif not in_progress[currnode]: + # Do not enter processed components again. + continue + currlist.append((currnode, curredge)) + currset.add(currnode) + # add entry for post-order traversal + dfsstack.append((currnode, None)) + for nextnode, edge in graph.iteredges(currnode): + if nextnode not in preorder: + # Not seen previously: push + dfsstack.append((nextnode, edge)) + else: + # If an already visited node is in the same component, it is + # either part of a cycle, or we need to traverse it again to + # find all cycles. + if in_progress[nextnode]: + if nextnode not in currset: + dfsstack.append((nextnode, edge)) + # Only report cycles to nodes that haven't been processed + # yet to avoid duplicates. + elif linkorder[nextnode] == preorder[nextnode]: + for index in xrange(len(currlist)): + if currlist[index][0] == nextnode: + cycle = [(nextnode, edge)] + cycle.extend(currlist[index+1:]) + graph.report_cycle(cycle, reporter) + break + else: + assert False + +class ModuleDependencyGraph(object): + + """Module dependency graph representation for check_cycles(). + + In the reported graph, the nodes are gmxtree.Module objects and the edges + are gmxtree.ModuleDependency objects. + """ + + def __init__(self, tree): + self._tree = tree + + def iternodes(self): + for module in self._tree.get_modules(): + if module.get_name() != 'module_testutils': + yield module + + def iteredges(self, module): + for dependency in module.get_dependencies(): + if dependency.get_other_module().get_name() != 'module_testutils': + yield (dependency.get_other_module(), dependency) + + def report_cycle(self, cycle, reporter): + if any([x[1].is_cycle_suppressed() for x in cycle]): + # TODO: Report unused suppressions. + return + modulelist = ' -> '.join([x[0].get_name()[7:] for x in cycle]) + summary = 'module-level cyclic dependency: ' + modulelist + reporter.cyclic_issue(summary) + +def check_all(tree, reporter, check_ignored): + """Do all checks for the GROMACS tree.""" + includesorter = IncludeSorter() + for fileobj in tree.get_files(): + if isinstance(fileobj, gmxtree.GeneratorSourceFile): + continue + check_file(fileobj, reporter) + for includedfile in fileobj.get_includes(): + check_include(fileobj, includedfile, reporter) + if fileobj.should_includes_be_sorted() \ + and not includesorter.check_sorted(fileobj): + reporter.code_issue(fileobj, "include order is not consistent") + + for classobj in tree.get_classes(): + check_class(classobj, reporter) + + for memberobj in tree.get_members(): + check_member(memberobj, reporter, check_ignored) + + check_cycles(ModuleDependencyGraph(tree), reporter) + def main(): """Run the checking script.""" parser = OptionParser() @@ -184,24 +365,20 @@ def main(): help='Source tree root directory') parser.add_option('-B', '--build-root', help='Build tree root directory') - parser.add_option('--installed', - help='Read list of installed files from given file') parser.add_option('-l', '--log', help='Write issues into a given log file in addition to stderr') parser.add_option('--ignore', help='Set file with patterns for messages to ignore') + parser.add_option('--ignore-cycles', + help='Set file with module dependencies to ignore in cycles') 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') + parser.add_option('--exitcode', action='store_true', + help='Return non-zero exit code if there are warnings') options, args = parser.parse_args() - installedlist = [] - if options.installed: - with open(options.installed, 'r') as outfile: - for line in outfile: - installedlist.append(line.strip()) - reporter = Reporter(options.log) if options.ignore: reporter.load_filters(options.ignore) @@ -209,10 +386,14 @@ def main(): if not options.quiet: sys.stderr.write('Scanning source tree...\n') tree = GromacsTree(options.source_root, options.build_root, reporter) - tree.set_installed_file_list(installedlist) + tree.load_git_attributes() + tree.load_installed_file_list() if not options.quiet: sys.stderr.write('Reading source files...\n') - tree.scan_files() + # TODO: The checking should be possible without storing everything in memory + tree.scan_files(keep_contents=True) + if options.ignore_cycles: + tree.load_cycle_suppression_list(options.ignore_cycles) if not options.quiet: sys.stderr.write('Reading Doxygen XML files...\n') tree.load_xml() @@ -222,20 +403,13 @@ def main(): if not options.quiet: sys.stderr.write('Checking...\n') - for fileobj in tree.get_files(): - check_file(fileobj, reporter) - for includedfile in fileobj.get_includes(): - check_include(fileobj, includedfile, reporter) - - for classobj in tree.get_classes(): - check_class(classobj, reporter) - - for memberobj in tree.get_members(): - if memberobj.is_visible() or options.check_ignored: - check_member(memberobj, reporter) + check_all(tree, reporter, options.check_ignored) reporter.write_pending() reporter.report_unused_filters() reporter.close_log() + if options.exitcode and reporter.had_warnings(): + sys.exit(1) + main() diff --git a/docs/doxygen/doxygenxml.py b/docs/doxygen/doxygenxml.py index f26ad9cdbd..b6dd5659f5 100755 --- a/docs/doxygen/doxygenxml.py +++ b/docs/doxygen/doxygenxml.py @@ -370,6 +370,10 @@ class Member(Entity): 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 @@ -379,38 +383,31 @@ class Member(Entity): 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 . + 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): @@ -465,8 +462,50 @@ class Member(Entity): """ 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 . + """ + 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()) @@ -539,6 +578,7 @@ class Compound(Entity): 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() @@ -891,6 +931,9 @@ class Namespace(Compound): 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()) @@ -1074,13 +1117,34 @@ class DocumentationSet(object): member.add_parent_compound(compound) compound.add_member(member) - def load_file_details(self): - """Load detailed XML files for all files and possible parents of files.""" + def load_file_details(self, filelist=None): + """Load detailed XML files for all files and possible parents of files. + + If filelist is set, it should be a list of file paths, and details will + be loaded only for files in those paths. The path format should match + what Doxygen writes into the files (with Gromacs setup, it seems to be + absolute paths).""" for compound in self._compounds.itervalues(): - if isinstance(compound, (File, Directory, Group)): + if isinstance(compound, (Directory, Group)): + compound.load_details() + elif not filelist and isinstance(compound, File): compound.load_details() + self._files[compound.get_path()] = compound + if filelist: + # We can't access the full path from the File object before the + # details are loaded, because Doxygen does not write that into + # index.xml. But we can use the Directory objects (which were + # loaded above) to get the path. + for compound in self._compounds.itervalues(): if isinstance(compound, File): - self._files[compound.get_path()] = compound + dirobj = compound.get_directory() + if not dirobj: + continue + abspath = compound.get_directory().get_path() + abspath = os.path.join(abspath, compound.get_name()) + if abspath in filelist: + compound.load_details() + self._files[compound.get_path()] = compound def load_details(self): """Load detailed XML files for each compound.""" @@ -1093,9 +1157,9 @@ class DocumentationSet(object): 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 @@ -1190,8 +1254,11 @@ class DocumentationSet(object): 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: diff --git a/docs/doxygen/generateGraphs.cmake b/docs/doxygen/generateGraphs.cmake index 3006e4a830..b451c97281 100644 --- a/docs/doxygen/generateGraphs.cmake +++ b/docs/doxygen/generateGraphs.cmake @@ -33,7 +33,6 @@ # the research papers on the package. Check out http://www.gromacs.org. if (DOT_EXECUTABLE) - message("Running dot...") file(GLOB DOT_INPUT_FILES ${GRAPHDIR}/*.dot) execute_process(COMMAND ${DOT_EXECUTABLE} -Tpng -O ${DOT_INPUT_FILES}) endif() diff --git a/docs/doxygen/gmxtree.py b/docs/doxygen/gmxtree.py index c974d13a14..6359b6391e 100644 --- a/docs/doxygen/gmxtree.py +++ b/docs/doxygen/gmxtree.py @@ -50,9 +50,11 @@ rules that come from GROMACS-specific knowledge. In the future, more such customizations will be added. """ +import collections import os import os.path import re +import subprocess import doxygenxml as xml import reporter @@ -75,14 +77,15 @@ class IncludedFile(object): """Information about an #include directive in a file.""" - def __init__(self, abspath, lineno, included_file, included_path, is_relative, is_system): - self._abspath = abspath + def __init__(self, including_file, lineno, included_file, included_path, is_relative, is_system, line): + self._including_file = including_file self._line_number = lineno self._included_file = included_file self._included_path = included_path #self._used_include_path = used_include_path self._is_relative = is_relative self._is_system = is_system + self._line = line def __str__(self): if self._is_system: @@ -96,11 +99,49 @@ class IncludedFile(object): def is_relative(self): return self._is_relative + def get_included_path(self): + return self._included_path + + def get_including_file(self): + return self._including_file + def get_file(self): return self._included_file + def get_line_number(self): + return self._line_number + + def get_full_line(self): + """Return the full source line on which this include appears. + + Trailing newline is included.""" + return self._line + def get_reporter_location(self): - return reporter.Location(self._abspath, self._line_number) + return reporter.Location(self._including_file.get_abspath(), self._line_number) + +class IncludeBlock(object): + + """Block of consequent #include directives in a file.""" + + def __init__(self, first_included_file): + self._first_line = first_included_file.get_line_number() + self._last_line = self._first_line + self._files = [] + self.add_file(first_included_file) + + def add_file(self, included_file): + self._files.append(included_file) + self._last_line = included_file.get_line_number() + + def get_includes(self): + return self._files + + def get_first_line(self): + return self._first_line + + def get_last_line(self): + return self._last_line class File(object): @@ -118,6 +159,10 @@ class File(object): self._apitype = DocType.none self._modules = set() self._includes = [] + self._include_blocks = [] + self._main_header = None + self._lines = None + self._filter = None directory.add_file(self) def set_doc_xml(self, rawdoc, sourcetree): @@ -137,7 +182,16 @@ class File(object): """Mark the file installed.""" self._installed = True - def _process_include(self, lineno, is_system, includedpath, sourcetree): + def set_git_filter_attribute(self, filtername): + """Set the git filter attribute associated with the file.""" + self._filter = filtername + + def set_main_header(self, included_file): + """Set the main header file for a source file.""" + assert self.is_source_file() + self._main_header = included_file + + def _process_include(self, lineno, is_system, includedpath, line, sourcetree): """Process #include directive during scan().""" is_relative = False if is_system: @@ -150,21 +204,36 @@ class File(object): fileobj = sourcetree.get_file(fullpath) else: fileobj = sourcetree.find_include_file(includedpath) - self._includes.append(IncludedFile(self.get_abspath(), lineno, fileobj, includedpath, - is_relative, is_system)) + included_file = IncludedFile(self, lineno, fileobj, includedpath, + is_relative, is_system, line) + self._includes.append(included_file) + return included_file - def scan_contents(self, sourcetree): + def scan_contents(self, sourcetree, keep_contents): """Scan the file contents and initialize information based on it.""" # TODO: Consider a more robust regex. - include_re = r'^#\s*include\s+(?P["<])(?P[^">]*)[">]' + include_re = r'^\s*#\s*include\s+(?P["<])(?P[^">]*)[">]' + current_block = None + # TODO: Consider reading directly into this list, and iterate that. + lines = [] with open(self._abspath, 'r') as scanfile: for lineno, line in enumerate(scanfile, 1): + lines.append(line) match = re.match(include_re, line) if match: is_system = (match.group('quote') == '<') includedpath = match.group('path') - self._process_include(lineno, is_system, includedpath, - sourcetree) + included_file = self._process_include(lineno, is_system, + includedpath, line, sourcetree) + if current_block is None: + current_block = IncludeBlock(included_file) + self._include_blocks.append(current_block) + else: + current_block.add_file(included_file) + elif line and not line.isspace(): + current_block = None + if keep_contents: + self._lines = lines def get_reporter_location(self): return reporter.Location(self._abspath, None) @@ -181,6 +250,10 @@ class File(object): def is_test_file(self): return self._dir.is_test_directory() + def should_includes_be_sorted(self): + """Return whether the include directives in the file should be sorted.""" + return self._filter in ('includesort', 'uncrustify') + def is_documented(self): return self._rawdoc and self._rawdoc.is_documented() @@ -196,7 +269,10 @@ class File(object): def get_name(self): return os.path.basename(self._abspath) - def get_documentation_type(self): + def get_directory(self): + return self._dir + + def get_doc_type(self): if not self._rawdoc: return DocType.none return self._rawdoc.get_visibility() @@ -204,6 +280,22 @@ class File(object): def get_api_type(self): return self._apitype + def api_type_is_reliable(self): + if self._apitype in (DocType.internal, DocType.library): + 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() @@ -219,7 +311,33 @@ class File(object): def get_includes(self): return self._includes + def get_include_blocks(self): + return self._include_blocks + + def get_main_header(self): + return self._main_header + + def get_contents(self): + return self._lines + class GeneratedFile(File): + def __init__(self, abspath, relpath, directory): + File.__init__(self, abspath, relpath, directory) + self._generator_source_file = None + + def scan_contents(self, sourcetree, keep_contents): + if os.path.exists(self.get_abspath()): + File.scan_contents(self, sourcetree, keep_contents) + + def set_generator_source(self, sourcefile): + self._generator_source_file = sourcefile + + def get_reporter_location(self): + if self._generator_source_file: + return self._generator_source_file.get_reporter_location() + return File.get_reporter_location(self) + +class GeneratorSourceFile(File): pass class Directory(object): @@ -308,6 +426,46 @@ class Directory(object): for fileobj in self._files: yield fileobj + def contains(self, fileobj): + """Check whether file is within the directory or its subdirectories.""" + dirobj = fileobj.get_directory() + while dirobj: + if dirobj == self: + return True + dirobj = dirobj._parent + return False + +class ModuleDependency(object): + + """Dependency between modules.""" + + def __init__(self, othermodule): + """Initialize empty dependency object with given module as dependency.""" + self._othermodule = othermodule + self._includedfiles = [] + self._cyclesuppression = None + + def add_included_file(self, includedfile): + """Add IncludedFile that is part of this dependency.""" + assert includedfile.get_file().get_module() == self._othermodule + self._includedfiles.append(includedfile) + + def set_cycle_suppression(self): + """Set suppression on cycles containing this dependency.""" + self._cyclesuppression = True + + def is_cycle_suppressed(self): + """Return whether cycles containing this dependency are suppressed.""" + return self._cyclesuppression is not None + + def get_other_module(self): + """Get module that this dependency is to.""" + return self._othermodule + + def get_included_files(self): + """Get IncludedFile objects for the individual include dependencies.""" + return self._includedfiles + class Module(object): """Code module in the GROMACS source tree. @@ -324,6 +482,7 @@ class Module(object): self._rawdoc = None self._rootdir = rootdir self._group = None + self._dependencies = dict() def set_doc_xml(self, rawdoc, sourcetree): """Assiociate Doxygen documentation entity with the module.""" @@ -336,6 +495,13 @@ class Module(object): if groupname.startswith('group_'): self._group = groupname[6:] + def add_dependency(self, othermodule, includedfile): + """Add #include dependency from a file in this module.""" + assert includedfile.get_file().get_module() == othermodule + if othermodule not in self._dependencies: + self._dependencies[othermodule] = ModuleDependency(othermodule) + self._dependencies[othermodule].add_included_file(includedfile) + def is_documented(self): return self._rawdoc is not None @@ -352,6 +518,18 @@ class Module(object): def get_group(self): return self._group + def get_dependencies(self): + return self._dependencies.itervalues() + +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): @@ -376,19 +554,66 @@ 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. @@ -398,8 +623,11 @@ class GromacsTree(object): subdirectories. At this point, only information that is accessible from file names and paths only is available. - set_installed_file_list() can be called to set the list of installed - files. + load_git_attributes() can be called to load attribute information from + .gitattributes for all the files. + + load_installed_file_list() can be called to load the list of installed + files from the build tree (generated by the find-installed-headers target). scan_files() can be called to read all the files and initialize #include dependencies between the files based on the information. This is done like @@ -423,7 +651,32 @@ class GromacsTree(object): 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')) + for fileobj in self.get_files(): + if fileobj and fileobj.is_source_file() and not fileobj.is_external(): + (basedir, name) = os.path.split(fileobj.get_abspath()) + (basename, ext) = os.path.splitext(name) + header = self.get_file(os.path.join(basedir, basename + '.h')) + if not header and ext == '.cu': + header = self.get_file(os.path.join(basedir, basename + '.cuh')) + if not header and fileobj.is_test_file(): + basedir = os.path.dirname(basedir) + header = self.get_file(os.path.join(basedir, basename + '.h')) + if not header: + # Somewhat of a hack; currently, the tests for + # analysisdata/modules/ and trajectoryanalysis/modules/ + # is at the top-level tests directory. + # TODO: It could be clearer to split the tests so that + # there would be a separate modules/tests/. + header = self.get_file(os.path.join(basedir, 'modules', basename + '.h')) + if not header and basename.endswith('_tests'): + header = self.get_file(os.path.join(basedir, basename[:-6] + '.h')) + if not header and fileobj.get_relpath().startswith('src/gromacs'): + header = self._files.get(os.path.join('src/gromacs/legacyheaders', basename + '.h')) + if header: + fileobj.set_main_header(header) rootdir = self._get_dir(os.path.join('src', 'gromacs')) for subdir in rootdir.get_subdirectories(): self._create_module(subdir) @@ -468,10 +721,20 @@ class GromacsTree(object): elif extension == '.cmakein': extension = os.path.splitext(basename)[1] if extension in extensions: + fullpath = os.path.join(dirpath, filename) + relpath = self._get_rel_path(fullpath) + sourcefile = GeneratorSourceFile(fullpath, relpath, currentdir) + self._files[relpath] = sourcefile fullpath = os.path.join(dirpath, basename) relpath = self._get_rel_path(fullpath) - fullpath = os.path.join(dirpath, filename) - self._files[relpath] = GeneratedFile(fullpath, relpath, currentdir) + fullpath = os.path.join(self._build_root, relpath) + generatedfile = GeneratedFile(fullpath, relpath, currentdir) + self._files[relpath] = generatedfile + generatedfile.set_generator_source(sourcefile) + elif extension in ('.l', '.y', '.pre'): + fullpath = os.path.join(dirpath, filename) + relpath = self._get_rel_path(fullpath) + self._files[relpath] = GeneratorSourceFile(fullpath, relpath, currentdir) def _create_module(self, rootdir): """Create module for a subdirectory.""" @@ -480,13 +743,25 @@ class GromacsTree(object): rootdir.set_module(moduleobj) self._modules[name] = moduleobj - def scan_files(self): + def scan_files(self, only_files=None, keep_contents=False): """Read source files to initialize #include dependencies.""" - for fileobj in self._files.itervalues(): + if only_files: + filelist = only_files + else: + filelist = self._files.itervalues() + for fileobj in filelist: if not fileobj.is_external(): - fileobj.scan_contents(self) - - def load_xml(self, only_files=False): + fileobj.scan_contents(self, keep_contents) + module = fileobj.get_module() + if module: + for includedfile in fileobj.get_includes(): + otherfile = includedfile.get_file() + if otherfile: + othermodule = otherfile.get_module() + if othermodule and othermodule != module: + module.add_dependency(othermodule, includedfile) + + def load_xml(self, only_files=None): """Load Doxygen XML information. If only_files is True, XML data is not loaded for code constructs, but @@ -495,7 +770,11 @@ class GromacsTree(object): xmldir = os.path.join(self._build_root, 'docs', 'html', 'doxygen', 'xml') self._docset = xml.DocumentationSet(xmldir, self._reporter) if only_files: - self._docset.load_file_details() + if isinstance(only_files, collections.Iterable): + filelist = [x.get_abspath() for x in only_files] + self._docset.load_file_details(filelist) + else: + self._docset.load_file_details() else: self._docset.load_details() self._docset.merge_duplicates() @@ -503,7 +782,9 @@ class GromacsTree(object): 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.""" @@ -546,11 +827,15 @@ class GromacsTree(object): """Load Doxygen XML file information.""" for filedoc in self._docset.get_files(): path = filedoc.get_path() + if not path: + # In case of only partially loaded file information, + # the path information is not set for unloaded files. + continue if not os.path.isabs(path): self._reporter.xml_assert(filedoc.get_xml_path(), "expected absolute path in Doxygen-produced XML file") continue - extension = os.path.splitext(filedoc.get_path())[1] + extension = os.path.splitext(path)[1] # We don't care about Markdown files that only produce pages # (and fail the directory check below). if extension == '.md': @@ -568,6 +853,14 @@ class GromacsTree(object): 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() @@ -577,6 +870,16 @@ class GromacsTree(object): 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) @@ -587,28 +890,75 @@ class GromacsTree(object): def find_include_file(self, includedpath): """Find a file object corresponding to an include path.""" - for testdir in ('src', 'src/gromacs/legacyheaders', 'src/external/thread_mpi/include'): + for testdir in ('src', 'src/external/thread_mpi/include', + 'src/external/tng_io/include'): testpath = os.path.join(testdir, includedpath) if testpath in self._files: return self._files[testpath] - def set_installed_file_list(self, installedfiles): - """Set list of installed files.""" - for path in installedfiles: - if not os.path.isabs(path): - self._reporter.input_error( - "installed file not specified with absolute path: {0}" - .format(path)) - continue - relpath = self._get_rel_path(path) - if relpath not in self._files: - self._reporter.input_error( - "installed file not in source tree: {0}".format(path)) - continue - self._files[relpath].set_installed() + def load_git_attributes(self): + """Load git attribute information for files.""" + args = ['git', 'check-attr', '--stdin', 'filter'] + git_check_attr = subprocess.Popen(args, stdin=subprocess.PIPE, + stdout=subprocess.PIPE, cwd=self._source_root) + filelist = '\n'.join(map(File.get_relpath, self._files.itervalues())) + filters = git_check_attr.communicate(filelist)[0] + for fileinfo in filters.splitlines(): + path, dummy, value = fileinfo.split(': ') + fileobj = self._files.get(path) + assert fileobj is not None + fileobj.set_git_filter_attribute(value) + + def load_installed_file_list(self): + """Load list of installed files from the build tree.""" + listpath = os.path.join(self._build_root, 'docs', 'doxygen', 'installed-headers.txt') + with open(listpath, 'r') as installedfp: + for line in installedfp: + path = line.strip() + if not os.path.isabs(path): + self._reporter.input_error( + "installed file not specified with absolute path: {0}" + .format(path)) + continue + relpath = self._get_rel_path(path) + if relpath not in self._files: + self._reporter.input_error( + "installed file not in source tree: {0}".format(path)) + continue + self._files[relpath].set_installed() + + def load_cycle_suppression_list(self, filename): + """Load a list of edges to suppress in cycles. + + These edges between modules, if present, will be marked in the + corresponding ModuleDependency objects. + """ + with open(filename, 'r') as fp: + for line in fp: + line = line.strip() + if not line or line.startswith('#'): + continue + modulenames = ['module_' + x.strip() for x in line.split('->')] + if len(modulenames) != 2: + self._reporter.input_error( + "invalid cycle suppression line: {0}".format(line)) + continue + firstmodule = self._modules.get(modulenames[0]) + secondmodule = self._modules.get(modulenames[1]) + if not firstmodule or not secondmodule: + self._reporter.input_error( + "unknown modules mentioned on cycle suppression line: {0}".format(line)) + continue + for dep in firstmodule.get_dependencies(): + if dep.get_other_module() == secondmodule: + # TODO: Check that each suppression is actually part of + # a cycle. + dep.set_cycle_suppression() 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): @@ -625,5 +975,4 @@ class GromacsTree(object): 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 diff --git a/docs/doxygen/graphbuilder.py b/docs/doxygen/graphbuilder.py index 47f1f70be8..0026e60c09 100755 --- a/docs/doxygen/graphbuilder.py +++ b/docs/doxygen/graphbuilder.py @@ -97,8 +97,9 @@ EdgeType.public = EdgeType(4) # Intramodule dependency EdgeType.intramodule = EdgeType(5) EdgeType.legacy = EdgeType(6) +EdgeType.cyclic = EdgeType(7) # Invalid dependency -EdgeType.undocumented = EdgeType(7) +EdgeType.undocumented = EdgeType(8) class Edge(object): @@ -123,6 +124,7 @@ class Edge(object): def format(self): """Format this edge for 'dot'.""" + # If you change these styles, update also the legend in modulegraph.md if self._fromnode.is_file_node() and self._tonode.is_file_node(): properties = '' elif self._edgetype == EdgeType.intramodule: @@ -139,6 +141,8 @@ class Edge(object): properties = 'color=black' elif self._edgetype == EdgeType.legacy: properties = 'color=grey75' + elif self._edgetype == EdgeType.cyclic: + properties = 'color=red, constraint=no' else: # undocumented properties = 'color=red' return '{0} -> {1} [{2}]'.format(self._fromnode.get_nodename(), @@ -336,49 +340,57 @@ class GraphBuilder(object): filenodes[fileobj] = node return node - def _create_file_edge(self, fromfile, tofile, filenodes): - """Create edge between two file objects. + def _get_file_edge_type(self, fromfile, tofile): + """Get EdgeType for an edge between two file objects. Determines the type for the edge from the information provided by 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: + return EdgeType.intramodule + elif tofile.get_api_type() == DocType.internal and not tofile.is_public(): if is_legacy: - edgetype = EdgeType.legacy + return EdgeType.legacy else: - edgetype = EdgeType.undocumented + return EdgeType.undocumented elif fromfile.is_test_file(): - edgetype = EdgeType.test + return 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: - edgetype = EdgeType.pubimpl + return EdgeType.undocumented + elif fromfile.is_module_internal(): + if tofile.is_public(): + return EdgeType.pubimpl elif tofile.get_api_type() == DocType.library: - edgetype = EdgeType.libimpl - elif is_legacy or not tofile.is_documented(): - edgetype = EdgeType.legacy + return EdgeType.libimpl + elif is_legacy: + return EdgeType.legacy + elif not tofile.is_documented(): + return 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()): - edgetype = EdgeType.public + return EdgeType.library + elif fromfile.is_public() or fromfile.is_installed(): + if tofile.is_public() or tofile.is_installed(): + return EdgeType.public else: - edgetype = EdgeType.undocumented + return EdgeType.undocumented + elif is_legacy: + return EdgeType.legacy else: raise ValueError('Unknown edge type between {0} and {1}' - .format(fromfile.path, tofile.path)) + .format(fromfile.get_relpath(), tofile.get_relpath())) + + def _create_file_edge(self, fromfile, tofile, filenodes): + """Create edge between two file objects. + + Determines the type for the edge from the information provided by + gmxtree. + """ + edgetype = self._get_file_edge_type(fromfile, tofile) return Edge(filenodes[fromfile], filenodes[tofile], edgetype) def _create_file_edges(self, filenodes): @@ -397,28 +409,32 @@ class GraphBuilder(object): edges.append(edge) return edges - def _create_module_node(self, module, filenodes): - """Create node for a module. - - The created node will have all files in the module as its child nodes. - All created file nodes are added to the filenodes dict. - """ + def _get_module_color(self, modulegroup): + # If you change these styles, update also the legend in modulegraph.md + 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): + """Create node for a module.""" style = [] properties = [] properties.append('shape=ellipse') - properties.append('URL="\\ref module_{0}"'.format(module.get_name())) + if module.is_documented(): + properties.append('URL="\\ref {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"') @@ -426,28 +442,45 @@ class GraphBuilder(object): nodename = 'module_' + re.subn(r'[-./]', '_', rootdir.get_relpath())[0] label = module.get_name()[7:] node = Node(nodename, label, style, properties) - for childfile in module.get_files(): - node.add_child(self._create_file_node(childfile, filenodes)) return node + def _create_module_edges(self, modulenodes): + """Create edges between all module nodes. + + Create edges between module nodes specified in modulenodes from all + include dependencies. An edge is created only if both ends of the + dependency are in the list of nodes. + """ + edges = [] + for moduleobj in modulenodes.iterkeys(): + for dep in moduleobj.get_dependencies(): + othermodule = dep.get_other_module() + if othermodule and othermodule in modulenodes: + if dep.is_cycle_suppressed(): + edgetype = EdgeType.cyclic + else: + edgetype = max([ + self._get_file_edge_type(x.get_including_file(), x.get_file()) + for x in dep.get_included_files()]) + edge = Edge(modulenodes[moduleobj], modulenodes[othermodule], edgetype) + edges.append(edge) + return edges + def create_modules_graph(self): """Create module dependency graph.""" - filenodes = dict() nodes = [] - modulenodes = [] + modulenodes = dict() libgromacsnode = Node('libgromacs', 'libgromacs') nodes.append(libgromacsnode) for moduleobj in self._tree.get_modules(): - node = self._create_module_node(moduleobj, filenodes) + node = self._create_module_node(moduleobj) if moduleobj.get_root_dir().get_relpath().startswith('src/gromacs'): libgromacsnode.add_child(node) else: nodes.append(node) - modulenodes.append(node) - edges = self._create_file_edges(filenodes) + modulenodes[moduleobj] = node + edges = self._create_module_edges(modulenodes) graph = Graph(nodes, edges) - for node in modulenodes: - graph.collapse_node(node) graph.set_options(concentrate=False) return graph @@ -477,29 +510,25 @@ def main(): help='Source tree root directory') parser.add_option('-B', '--build-root', help='Build tree root directory') - parser.add_option('--installed', - help='Read list of installed files from given file') + parser.add_option('--ignore-cycles', + help='Set file with module dependencies to ignore in cycles') parser.add_option('-o', '--outdir', default='.', help='Specify output directory for graphs') parser.add_option('-q', '--quiet', action='store_true', help='Do not write status messages') options, args = parser.parse_args() - installedlist = [] - if options.installed: - with open(options.installed, 'r') as outfile: - for line in outfile: - installedlist.append(line.strip()) - reporter = Reporter(quiet=True) if not options.quiet: sys.stderr.write('Scanning source tree...\n') tree = GromacsTree(options.source_root, options.build_root, reporter) - tree.set_installed_file_list(installedlist) + tree.load_installed_file_list() if not options.quiet: sys.stderr.write('Reading source files...\n') tree.scan_files() + if options.ignore_cycles: + tree.load_cycle_suppression_list(options.ignore_cycles) if not options.quiet: sys.stderr.write('Reading Doxygen XML files...\n') tree.load_xml(only_files=True) diff --git a/docs/doxygen/includesorter.py b/docs/doxygen/includesorter.py new file mode 100755 index 0000000000..635bf53256 --- /dev/null +++ b/docs/doxygen/includesorter.py @@ -0,0 +1,380 @@ +#!/usr/bin/python +# +# This file is part of the GROMACS molecular simulation package. +# +# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by +# Mark Abraham, David van der Spoel, Berk Hess, and 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 directive sorter for GROMACS. + +This module implements an #include directive sorter for GROMACS C/C++ files. +It allows (in most cases) automatically sorting includes and formatting +the paths to use either relative paths or paths relative to src/. +It groups includes in groups of related headers, sorts the headers +alphabetically within each block, and inserts empty lines in between. +It can be run as a standalone script, in which case it requires an up-to-date +list of installed headers and Doxygen XML documentation to be present in the +build tree. It can also be imported as a module to be embedded in other +scripts. In the latter case, the IncludeSorter provides the main interface. + +The sorting assumes some conventions (e.g., that system headers are included +with angle brackets instead of quotes). Generally, these conventions are +checked by the doxygen-check.py script. +""" + +import os.path +import re +import sys + +class IncludeGroup(object): + + """Enumeration type for grouping includes.""" + + def __init__(self, value): + """Initialize a IncludeGroup instance. + + IncludeGroup.{main,system_c,...} should be used outside the + class instead of calling the constructor. + """ + self._value = value + + def __cmp__(self, other): + """Order include groups in the desired order.""" + return cmp(self._value, other._value) + +# gmxpre.h is always first +IncludeGroup.pre = IncludeGroup(0) +# "main" include file for the source file is next +IncludeGroup.main = IncludeGroup(1) +# config.h is next, if present, to keep its location consistent +IncludeGroup.config = IncludeGroup(2) +# Followed by system headers, with C first and C++ following +IncludeGroup.system_c = IncludeGroup(3) +IncludeGroup.system_c_cpp = IncludeGroup(4) +IncludeGroup.system_cpp = IncludeGroup(5) +# System headers not in standard C/C++ are in a separate block +IncludeGroup.system_other = IncludeGroup(6) +# src/external/ contents that are included with quotes go here +IncludeGroup.nonsystem_other = IncludeGroup(7) +# Other GROMACS headers +IncludeGroup.gmx_general = IncludeGroup(8) +# This group is for shared (unit) testing utilities +IncludeGroup.gmx_test = IncludeGroup(9) +# This group is for headers local to the including file/module +IncludeGroup.gmx_local = IncludeGroup(10) + +class GroupedSorter(object): + + """Grouping and formatting logic for #include directives. + + This class implements the actual logic that decides how includes are + grouped and sorted, and how they are formatted.""" + + # These variables contain the list of system headers for various blocks + _std_c_headers = ['assert.h', 'ctype.h', 'errno.h', 'float.h', + 'inttypes.h', 'limits.h', 'math.h', 'signal.h', 'stdarg.h', + 'stddef.h', 'stdint.h', 'stdio.h', 'stdlib.h', 'string.h', + 'time.h'] + _std_c_cpp_headers = ['c' + x[:-2] for x in _std_c_headers] + _std_cpp_headers = ['algorithm', 'deque', 'exception', 'fstream', + 'iomanip', 'ios', 'iosfwd', 'iostream', 'istream', 'iterator', + 'limits', 'list', 'map', 'memory', 'new', 'numeric', 'ostream', + 'regex', 'set', 'sstream', 'stdexcept', 'streambuf', 'string', 'strstream', + 'typeinfo', 'vector', 'utility'] + + def __init__(self, style='pub-priv', absolute=False): + """Initialize a sorted with the given style.""" + if style == 'single-group': + self._local_group = 'none' + elif style == 'pub-priv': + self._local_group = 'private' + else: + self._local_group = 'local' + if absolute: + self._abspath_main = True + self._abspath_local = True + else: + self._abspath_main = False + self._abspath_local = False + + def _get_path(self, included_file, group, including_file): + """Compute include path to use for an #include. + + The path is made either absolute (i.e., relative to src/), or + relative to the location of the including file, depending on the group + the file is in. + """ + use_abspath = including_file is None or group is None + if not use_abspath: + if group in (IncludeGroup.gmx_general, IncludeGroup.gmx_test): + use_abspath = True + elif group == IncludeGroup.main and self._abspath_main: + use_abspath = True + elif group == IncludeGroup.gmx_local and self._abspath_local: + use_abspath = True + if not use_abspath: + fromdir = os.path.dirname(including_file.get_abspath()) + relpath = os.path.relpath(included_file.get_abspath(), fromdir) + if not relpath.startswith('..'): + return relpath + path = included_file.get_relpath() + assert path.startswith('src/') + return path[4:] + + def _get_gmx_group(self, including_file, included_file): + """Determine group for GROMACS headers. + + Helper function to determine the group for an #include directive + when the #include is in one of the gmx_* groups (or in the main group). + """ + main_header = including_file.get_main_header() + if main_header and main_header == included_file: + return IncludeGroup.main + if included_file.get_directory().get_name() == 'testutils': + return IncludeGroup.gmx_test + if including_file.get_directory().contains(included_file): + if self._local_group == 'local': + return IncludeGroup.gmx_local + if self._local_group == 'private': + if included_file.api_type_is_reliable() \ + and included_file.is_module_internal(): + return IncludeGroup.gmx_local + if not included_file.api_type_is_reliable() \ + and including_file.get_relpath().startswith('src/programs'): + return IncludeGroup.gmx_local + if included_file.is_test_file(): + return IncludeGroup.gmx_test + return IncludeGroup.gmx_general + + def get_sortable_object(self, include): + """Produce a sortable, opaque object for an include. + + Includes are sorted by calling this function for each #include object, + and sorting the list made up of these objects (using the default + comparison operators). Each element from the sorted list is then + passed to format_include(), which extracts information from the opaque + object and formats the #include directive for output. + """ + included_file = include.get_file() + if not included_file: + path = include.get_included_path() + if path in self._std_c_headers: + group = IncludeGroup.system_c + elif path in self._std_c_cpp_headers: + group = IncludeGroup.system_c_cpp + elif path in self._std_cpp_headers: + group = IncludeGroup.system_cpp + else: + group = IncludeGroup.system_other + elif included_file.is_external(): + group = IncludeGroup.nonsystem_other + if 'external/' in include.get_included_path(): + path = self._get_path(included_file, group, None) + else: + path = include.get_included_path() + elif included_file.get_name() == 'gmxpre.h': + group = IncludeGroup.pre + path = self._get_path(included_file, group, None) + elif included_file.get_name() in ('config.h', 'gmx_header_config.h'): + group = IncludeGroup.config + path = self._get_path(included_file, group, None) + else: + including_file = include.get_including_file() + group = self._get_gmx_group(including_file, included_file) + path = self._get_path(included_file, group, including_file) + return (group, os.path.split(path), include) + + def format_include(self, obj, prev): + """Format an #include directive after sorting.""" + result = [] + if prev: + if prev[0] != obj[0]: + # Print empty line between groups + result.append('\n') + elif prev[1] == obj[1]: + # Skip duplicates + return result + include = obj[2] + line = include.get_full_line() + include_re = r'^(?P\s*#\s*include\s+)["<][^">]*[">](?P.*)$' + match = re.match(include_re, line) + assert match + if include.is_system(): + path = '<{0}>'.format(os.path.join(obj[1][0], obj[1][1])) + else: + path = '"{0}"'.format(os.path.join(obj[1][0], obj[1][1])) + result.append('{0}{1}{2}\n'.format(match.group('head'), path, match.group('tail'))) + return result + +class IncludeSorter(object): + + """High-level logic for sorting includes. + + This class contains the high-level logic for sorting include statements. + The actual ordering and formatting the includes is delegated to a sort method + (see GroupedSorter) to keep things separated. + """ + + def __init__(self, sortmethod=None, quiet=True): + """Initialize the include sorter with the given sorter and options.""" + if not sortmethod: + sortmethod = GroupedSorter() + self._sortmethod = sortmethod + self._quiet = quiet + self._changed = False + + def _sort_include_block(self, block, lines): + """Sort a single include block. + + Returns a new list of lines for the block. + If anything is changed, self._changed is set to True, and the caller + can check that.""" + includes = map(self._sortmethod.get_sortable_object, block.get_includes()) + includes.sort() + result = [] + prev = None + current_line_number = block.get_first_line()-1 + for include in includes: + newlines = self._sortmethod.format_include(include, prev) + result.extend(newlines) + if not self._changed: + for offset, newline in enumerate(newlines): + if lines[current_line_number + offset] != newline: + self._changed = True + break + current_line_number += len(newlines) + prev = include + return result + + def sort_includes(self, fileobj): + """Sort all includes in a file.""" + lines = fileobj.get_contents() + # Format into a list first: + # - avoid bugs or issues in the script truncating the file + # - can check whether anything was changed before touching the file + newlines = [] + prev = 0 + self._changed = False + for block in fileobj.get_include_blocks(): + newlines.extend(lines[prev:block.get_first_line()-1]) + newlines.extend(self._sort_include_block(block, lines)) + # The returned values are 1-based, but indexing here is 0-based, + # so an explicit +1 is not needed. + prev = block.get_last_line() + if self._changed: + if not self._quiet: + sys.stderr.write('{0}: includes reformatted\n'.format(fileobj.get_relpath())) + newlines.extend(lines[prev:]) + with open(fileobj.get_abspath(), 'w') as fp: + fp.write(''.join(newlines)) + + def check_sorted(self, fileobj): + """Check that includes within a file are sorted.""" + # TODO: Make the checking work without full contents of the file + lines = fileobj.get_contents() + self._changed = False + for block in fileobj.get_include_blocks(): + self._sort_include_block(block, lines) + return not self._changed + +def main(): + """Run the include sorter script.""" + import os + import sys + + from optparse import OptionParser + + from gmxtree import GromacsTree + from reporter import Reporter + + parser = OptionParser() + parser.add_option('-S', '--source-root', + help='Source tree root directory') + parser.add_option('-B', '--build-root', + help='Build tree root directory') + parser.add_option('-F', '--files', + help='Specify files to sort') + parser.add_option('-q', '--quiet', action='store_true', + help='Do not write status messages') + # This is for evaluating different options; can be removed from the final + # version. + parser.add_option('-s', '--style', type='choice', default='pub-priv', + choices=('single-group', 'pub-priv', 'pub-local'), + help='Style for Gromacs includes') + parser.add_option('--absolute', action='store_true', + help='Write all include paths relative to src/') + options, args = parser.parse_args() + + filelist = args + if options.files: + if options.files == '-': + lines = sys.stdin.readlines() + else: + with open(options.files, 'r') as fp: + lines = fp.readlines() + filelist.extend([x.strip() for x in lines]) + + reporter = Reporter(quiet=True) + + if not options.quiet: + sys.stderr.write('Scanning source tree...\n') + tree = GromacsTree(options.source_root, options.build_root, reporter) + tree.load_installed_file_list() + files = [] + for filename in filelist: + fileobj = tree.get_file(os.path.abspath(filename)) + if not fileobj: + sys.stderr.write('warning: ignoring unknown file {0}\n'.format(filename)) + continue + files.append(fileobj) + if not options.quiet: + sys.stderr.write('Reading source files...\n') + tree.scan_files(only_files=files, keep_contents=True) + extfiles = set(files) + for fileobj in files: + for included_file in fileobj.get_includes(): + other_file = included_file.get_file() + if other_file: + extfiles.add(other_file) + if not options.quiet: + sys.stderr.write('Reading Doxygen XML files...\n') + tree.load_xml(only_files=extfiles) + + if not options.quiet: + sys.stderr.write('Sorting includes...\n') + + sorter = IncludeSorter(GroupedSorter(options.style, options.absolute), options.quiet) + + for fileobj in files: + sorter.sort_includes(fileobj) + +if __name__ == '__main__': + main() diff --git a/docs/doxygen/doxygen.md b/docs/doxygen/lib/doxygen.md similarity index 95% rename from docs/doxygen/doxygen.md rename to docs/doxygen/lib/doxygen.md index 854989caec..9670069da0 100644 --- a/docs/doxygen/doxygen.md +++ b/docs/doxygen/lib/doxygen.md @@ -271,8 +271,8 @@ rules about dependencies between the modules, but currently the checks are not run automatically. The checker currently checks for a few different types of issues: -* For all Doxygen documentation (currently does not apply for members within - anonymous namespaces or members that do not appear in the documentation): +* For all Doxygen documentation (currently does not apply for members that do + not appear in the documentation): * If a member has documentation, it should have a brief description. * A note is issued for in-body documentation for functions, since this is ignored by our current settings. @@ -308,6 +308,8 @@ The checker currently checks for a few different types of issues: (\c \\defgroup module_foo exists for the subdirectory): * Such files should not be included from outside their module if they are undocumented or are not specified as part of library or public API. +* For all modules: + * There should not be cyclic include dependencies between modules. The checker is based on extracting the Doxygen documentation in XML format. This information is then read using a Python script, and combined with @@ -338,6 +340,18 @@ issue does not have a file name (or a pseudo-file) associated, a leading `:` must be added. To cover many similar issues, parts of the line can then be replaced with wildcards. +A separate suppression mechanism is in place for cyclic dependencies: to +suppress a cycle between moduleA and moduleB, add a line with format + + moduleA -> moduleB + +into `doxygen/cycle-suppressions.txt`. This suppresses all cycles that contain +the mentioned edge. Since a cycle contains multiple edges, the suppression +should be made for the edge that is determined to be an incorrect dependency. +This also affects the layout of the include dependency graphs (see below): the +suppressed edge is not considered when determining the dependency order, and is +shown as invalid in the graph. + For some false positives from the script, the suppression mechanism is the easiest way to silence the script, but otherwise the goal would be to minimize the number of suppressions. @@ -361,7 +375,7 @@ their include dependencies. Additionally, a file-level graph is produced for each module, showing the include dependencies within that module. Currently, these are mostly for eye candy, but they can also be used for analyzing problematic dependencies to clean up the architecture. -The output is put in `doxygen/depgraphs/` in the build tree. +The output is put in `docs/doxygen/depgraphs/` in the build tree. As with `doc-check`, Python 2.7 is required (other versions may work, but have not been tested). To get `.png` versions of the graphs, `graphviz` is @@ -369,41 +383,9 @@ additionally required. ### Module graph ### -The graph is written into `module-deps.dot.png`. - -Node colors: -
-
gray background
-
undocumented module
-
orange background
-
documented utility modules
-
red background
-
documented analysis modules
-
violet background
-
documented MD execution modules
-
light blue border
-
module contains public API (installed) headers
-
- -Edge colors (an edge with a certain color indicates that types above it in the -list are not present): -
-
red
-
invalid dependency
-
gray
-
legacy dependency -(dependency on undocumented file, or to undocumented directories)
-
solid black
-
public header depends on the other module
-
solid blue
-
library header depends on the other module
-
dashed blue
-
source file depends on library header in the other module
-
dashed black
-
source file depends on public header in the other module
-
dashed green
-
test file depends on the other module
-
+The graph is written into `module-deps.dot.png`, and embedded into the Doxygen +documentation: \ref page_modulegraph. The embedded version contains a legend +explaining the graph. ### File graph ### @@ -447,10 +429,11 @@ placed in the page hierarchy by making it a subpage of another page, i.e., it should be referenced once using \c \\subpage. `mainpage.md` is the root of the hierarchy. -If you need to exclude a page from the public API docs, you need to add it to -an exclude list in `Doxyfile-user.cmakein`, and ensure that there are no -references to the page from public API documentation. \c \\if `libapi` can be -used to add references in content that is otherwise public. +There are two subdirectories, `user/` and `lib/`, determining the highest +documentation level where the page appears. If you add pages to `lib/`, ensure +that there are no references to the page from public API documentation. +\c \\if `libapi` can be used to add references in content that is otherwise +public. Generally, the pages should be on a high enough level and provide overview content that is useful enough such that it is not necessary to exclude them from the library API documentation. diff --git a/docs/doxygen/lib/modulegraph.md b/docs/doxygen/lib/modulegraph.md new file mode 100644 index 0000000000..5467bedd3e --- /dev/null +++ b/docs/doxygen/lib/modulegraph.md @@ -0,0 +1,89 @@ +Module dependency graph {#page_modulegraph} +======================= + +The graph below shows the dependencies between the source code modules, +computed from include statements in the code. +For documented modules (those that do not have a gray background), clicking on +the module takes you to the module documentation. +Legend for the graph can be found below the graph. + +\ifnot xml +\dotfile module-deps.dot +\endif + +Legend +====== + +The graph below annotates the colors and line styles used in the module +dependency graph above. More detailed textual annotation is below the graph. + +\dot +digraph legend { + node [fontname="FreeSans",fontsize=10,height=.2,shape=box] + edge [fontname="FreeSans",fontsize=10] + rankdir = "LR" + subgraph cluster_nodes { + label = "Nodes" + legacy [label="undocumented", fillcolor=grey75, style="filled"] + analysis [label="analysis", fillcolor="0 .2 1", style="filled"] + utility [label="utility", fillcolor=".08 .2 1", style="filled"] + mdrun [label="mdrun", fillcolor=".75 .2 1", style="filled"] + installed [label="installed", color=".66 .5 1", penwidth=3] + } + subgraph cluster_edges { + label = "Edges" + node [label=""] + invalid1 -> invalid2 [label="invalid", color=red] + legacy1 -> legacy2 [label="legacy", color=grey75] + legacy2 [label="undoc"] + public1 -> public2 [label="public", color=black] + public1 [label="public"] + public2 [label="public"] + library1 -> library2 [label="library", color=".66 .8 .8"] + library1 [label="library"] + pubimpl1 -> pubimpl2 [color=black, style=dashed] + pubimpl1 [label="internal"] + pubimpl2 [label="public"] + libimpl1 -> libimpl2 [color=".66 .8 .8", style=dashed] + libimpl1 [label="internal"] + libimpl2 [label="library"] + test1 -> test2 [label="test", color=".33 .8 .8", style=dashed] + test1 [label="test"] + } + legacy -> invalid1 [style="invis"] +} +\enddot + +Node colors: +
+
gray background
+
undocumented module
+
orange background
+
documented utility modules
+
red background
+
documented analysis modules
+
violet background
+
documented MD execution modules
+
light blue border
+
module contains public API (installed) headers
+
+ +Edge colors (an edge with a certain color indicates that types above it in the +list are not present): +
+
red
+
invalid dependency
+
gray
+
legacy dependency +(dependency on undocumented file, or to undocumented directories)
+
solid black
+
public header depends on the other module
+
solid blue
+
library header depends on the other module
+
dashed blue
+
source file depends on library header in the other module
+
dashed black
+
source file depends on public header in the other module
+
dashed green
+
test file depends on the other module
+
diff --git a/docs/doxygen/simd.md b/docs/doxygen/lib/simd.md similarity index 100% rename from docs/doxygen/simd.md rename to docs/doxygen/lib/simd.md diff --git a/docs/doxygen/unittesting.md b/docs/doxygen/lib/unittesting.md similarity index 100% rename from docs/doxygen/unittesting.md rename to docs/doxygen/lib/unittesting.md diff --git a/docs/doxygen/wrapperbinary.md b/docs/doxygen/lib/wrapperbinary.md similarity index 100% rename from docs/doxygen/wrapperbinary.md rename to docs/doxygen/lib/wrapperbinary.md diff --git a/docs/doxygen/misc.cpp b/docs/doxygen/misc.cpp index 895a34924f..69f9b9e12e 100644 --- a/docs/doxygen/misc.cpp +++ b/docs/doxygen/misc.cpp @@ -36,7 +36,7 @@ A separate page describes the responsibilities of these modules: \ref page_analysisframework */ -/*! +/*! \libinternal \defgroup group_mdrun Modules for simulation functionality \brief Modules used in running simulations with mdrun @@ -59,3 +59,17 @@ This namespace is used to contain some implementation-specific functions and classes. These are not meant for direct user access, but typically reside in public headers because of implementation reasons. */ + +/*! +\file share/template/template.cpp +\brief Template code for writing analysis programs. + +See \ref page_analysistemplate for more information. + */ + +/*! +\example template.cpp +\brief Template code for writing analysis programs. + +See \ref page_analysistemplate for more information. + */ diff --git a/docs/doxygen/reporter.py b/docs/doxygen/reporter.py index e541c54235..14e2bfbd88 100644 --- a/docs/doxygen/reporter.py +++ b/docs/doxygen/reporter.py @@ -165,6 +165,7 @@ class Reporter(object): self._messages = [] self._filters = [] self._quiet = quiet + self._had_warnings = False def _write(self, message): """Implement actual message writing.""" @@ -178,6 +179,7 @@ class Reporter(object): sys.stderr.write(wholemsg) if self._logfp: self._logfp.write(wholemsg) + self._had_warnings = True def _report(self, message): """Handle a single reporter message.""" @@ -215,6 +217,10 @@ class Reporter(object): text = 'warning: unused filter: ' + filterobj.get_text() self._write(Message(text)) + def had_warnings(self): + """Return true if any warnings have been reported.""" + return self._had_warnings + def close_log(self): """Close the log file if one exists.""" assert not self._messages @@ -240,6 +246,10 @@ class Reporter(object): self._report(Message('warning: ' + message, details, location=entity.get_reporter_location())) + def cyclic_issue(self, message, details=None): + """Report a cyclic dependency issue.""" + self._report(Message('warning: ' + message, details)) + def doc_error(self, entity, message): """Report an issue in documentation.""" self._report(Message('error: ' + entity.get_name() + ': ' + message, diff --git a/docs/doxygen/suppressions.txt b/docs/doxygen/suppressions.txt index 592505a962..2f2e397fd7 100644 --- a/docs/doxygen/suppressions.txt +++ b/docs/doxygen/suppressions.txt @@ -1,21 +1,20 @@ -# These look like bugs in Doxygen 1.8.5 -src/gromacs/gmxlib/gmx_cpuid.c: warning: duplicate declarations for a member 'gmx_cpuid_vendor' -src/gromacs/gmxlib/gmx_cpuid.c: warning: duplicate declarations for a member 'gmx_cpuid_x86_smt' -src/gromacs/gmxlib/gmx_cpuid.c: warning: duplicate declarations for a member 'gmx_cpuid_simd_suggest' - # The script is currently a bit too eager share/template/template.cpp: error: source file documentation appears outside full documentation +# The parser in the script is not clever enough +src/gromacs/version.h: warning: includes local file as + +# These are OK +src/gromacs/math/vec.h: warning: installed header includes non-installed "config.h" +src/gromacs/linearalgebra/gmx_blas/*: warning: does not include "gmxpre.h" first +src/gromacs/linearalgebra/gmx_lapack/*: warning: does not include "gmxpre.h" first +src/gromacs/utility/baseversion-gen.c: warning: does not include "gmxpre.h" first # This module name doesn't really fall into any currently used pattern; needs some thought : error: no matching directory for module: module_mdrun_integration_tests # These would be nice to fix, but can wait for later -*: warning: includes local file as src/gromacs/gmxlib/nonbonded/nb_kernel_*/*: warning: included file "gromacs/simd/math_x86_*.h" is not documented as exposed outside its module # These are specific to Folding@Home, and easiest to suppress here *: warning: includes non-local file as "corewrap.h" -src/config.h.cmakein: warning: includes non-local file as "swindirect.h" - -# These are limitations in the current script -src/gromacs/utility/gmx_header_config.h: warning: includes non-local file as "gmx_header_config_gen.h" +src/gmxpre.h: warning: includes non-local file as "swindirect.h" diff --git a/docs/doxygen/analysisdata.md b/docs/doxygen/user/analysisdata.md similarity index 100% rename from docs/doxygen/analysisdata.md rename to docs/doxygen/user/analysisdata.md diff --git a/docs/doxygen/analysisframework.md b/docs/doxygen/user/analysisframework.md similarity index 100% rename from docs/doxygen/analysisframework.md rename to docs/doxygen/user/analysisframework.md diff --git a/docs/doxygen/analysistemplate.md b/docs/doxygen/user/analysistemplate.md similarity index 100% rename from docs/doxygen/analysistemplate.md rename to docs/doxygen/user/analysistemplate.md diff --git a/docs/doxygen/codelayout.md b/docs/doxygen/user/codelayout.md similarity index 92% rename from docs/doxygen/codelayout.md rename to docs/doxygen/user/codelayout.md index 24bb7ae0c5..efe5a64ff5 100644 --- a/docs/doxygen/codelayout.md +++ b/docs/doxygen/user/codelayout.md @@ -38,6 +38,9 @@ not compile. It is not included in the build. \endif +\if libapi +\subpage page_modulegraph +\endif Organization under `src/gromacs/` --------------------------------- @@ -68,7 +71,7 @@ See \ref page_unittesting for more details. \endif When compiling, the include search path is set to `src/`. This means that -source files include headers as +files include headers as #include "gromacs//.h" @@ -76,23 +79,12 @@ The following is also possible for intra-module headers: #include ".h" -Header files include other headers using - - #include "..//.h" - -because relative paths work best for installed headers. For non-installed -headers, the path relative to `src/` is sometimes also used. - For historical reasons, there are directories `src/gromacs/gmxana/`, `src/gromacs/gmxlib/`, `src/gromacs/mdlib/`, and `src/gromacs/gmxpreprocess/` that do not follow the above rules. The installed headers for these are in `src/gromacs/legacyheaders/`. The aim is to gradually get rid of these directories and move code into proper modules. -For similar historical reasons, the include path also includes -`src/gromacs/legacyheaders/`. It is preferred that new code does not depend on -this. - Documentation organization ========================== diff --git a/docs/doxygen/mainpage.md b/docs/doxygen/user/mainpage.md similarity index 100% rename from docs/doxygen/mainpage.md rename to docs/doxygen/user/mainpage.md diff --git a/docs/doxygen/selections.md b/docs/doxygen/user/selections.md similarity index 100% rename from docs/doxygen/selections.md rename to docs/doxygen/user/selections.md diff --git a/docs/doxygen/user/usinglibrary.md b/docs/doxygen/user/usinglibrary.md new file mode 100644 index 0000000000..8afcb715df --- /dev/null +++ b/docs/doxygen/user/usinglibrary.md @@ -0,0 +1,222 @@ +Using \Gromacs as a library {#page_usinglibrary} +=========================== + +Getting started +=============== + +The \Gromacs library (`libgromacs`) provides a few different alternatives for +using it. These are listed here from the highest level of abstraction to the +low-level functions. + - If you are writing a trajectory analysis tool, please see + \ref page_analysisframework. \ref page_analysistemplate should contain + all the ingredients to get started. + If you have an existing tool written using the analysis template from 4.5 or + 4.6 (using the selection engine added in 4.5), you need to do some + conversion work to get this work with the new template. This is mostly + straightforward, but requires some studying to understand the new framework. + - If you are writing a command line tool for some other purpose, you can use + the facilities provided by \ref module_commandline. There are a few + different alternatives, depending on how much control you want to give + \Gromacs: + - For C++ code, you can implement gmx::CommandLineModuleInterface, and + use gmx::runCommandLineModule() to execute it. This requires using some + additional \Gromacs classes (in particular, for implementing + gmx::CommandLineModuleInterface::writeHelp(), if you want to support the + `-h` option). + - For C code, you can use gmx_run_cmain() to wrap an existing C main + method. The only constraint on the provided main method is that it + should use parse_common_args() for argument processing. + This approach should allow you to convert existing C tools written + against pre-5.0 \Gromacs (e.g., using the analysis template from 4.0 or + earlier) to the new version. + - If you want more control (for example, you do not want the default + command line options added by \Gromacs), you can directly initialize + \Gromacs using gmx::initForCommandLine() before calling other \Gromacs + routines. This allows you to write your own handling for command line + options from scratch. This is also discussed in \ref module_commandline. + - For most control, you can use gmx::init() to do basic initialization, create + your own implementation for gmx::ProgramContextInterface, and set that using + gmx::setProgramContext(). This allows you to customize how the \Gromacs + library shows the name of the program in messages, as well as how it locates + its own data files. + +If these do not fit your needs, you may need to modify the \Gromacs source code +yourself. In particular, it is currently relatively difficult to extend the +functionality of `mdrun` without modifying the source code directly. +If you think that some particular API would be necessary for your work, and +think that it would be easy to expose, please drop a line on the +`gmx-developers` mailing list, or contribute the necessary changes on +http://gerrit.gromacs.org/. + +Linking against `libgromacs` +============================ + +\Gromacs is a bit picky on how the headers need to be used: depending on +compilation options used for \Gromacs, some preprocessor defines may need to be +set, the required include path may also depend on compilation options, and some +extra libraries may need to be linked. You will also likely need to use the +same compiler (or sufficiently similar one that uses the same standard library) +that was used to compile \Gromacs. + +To manage this more easily, \Gromacs provides two mechanisms for getting the +correct flags for compilation and linking against the \Gromacs library: + - `pkg-config`: \Gromacs installs `libgromacs.pc` file (suffixed with the + library suffix) for use with `pkg-config` if that is present on the system. + Sourcing `GMXRC` adjusts the `pkg-config` search path such that these files + are found automatically. + See `Makefile.pkg` installed with the analysis template for one example of + how to use it (to use it with a differently suffixed \Gromacs, just replace + `libgromacs` with `libgromacs`_suffix in the `pkg-config` calls). + - CMake package configuration files and a find module that allow + `find_package(GROMACS)` to work. See below for details about how to use + this in CMake. Sourcing `GMXRC` sets an environment variable that allows + CMake to find the configuration file automatically. + See `CMakeLists.txt` installed with the analysis template for one example of + how to use it. + +These mechanisms are currently provided on a best-effort basis, but are not +routinely tested on a wide range of configurations. Please report any issues +with details of how \Gromacs was built so that the mechanism can be improved. +Known issues: + - `pkg-config` files are not relocatable, i.e., they hard-code the + installation prefix as an absolute path. + - Installing both static and shared libraries with the same suffix to the same + installation prefix is guaranteed to work only if both are built with + exactly the same configuration options (except for `BUILD_SHARED_LIBS`) from + exactly the same version. There are several files that are shared between + the installations in such a case, and the latter installation will overwrite + those from the former. + - Further, if both static and shared libraries have been installed in the past + to a prefix, then future installations to the same prefix should also + install both static and shared libraries. Otherwise, some obsolete CMake + package configuration files will be left behind which can lead to finding + the old library. Alternatively, you can delete `share/cmake/` from the + installation directory before doing the install. + - If a mechanism other than the CMake-generated `install` target is used to + install \Gromacs over an existing installation, and the build type (e.g., + Release vs.\ Debug) does not match what was previously installed, some + obsolete CMake import target definition files are left behind in + `share/cmake/`, and may cause failures whey trying to use the package + configuration files. + - If \Gromacs is built with `GMX_BUILD_OWN_FFTW=ON`, the CMake-generated + import definitions for `libgromacs` reference a `gmxfftw` target that was + used in the build to reference the `fftw` library. As this library only + exists in the \Gromacs build tree, and the CMake machinery does not write + any import definitions for it anywhere, linking will fail with errors about + not being able to find a `gmxfftw` library. So the CMake package + configuration files can only be used with `GMX_BUILD_OWN_FFTW=OFF`. + +CMake `find_package(GROMACS)` details +------------------------------------- + +The CMake machinery to support `find_package(GROMACS)` has two parts: a +`FindGROMACS.cmake` find module (found in `share/gromacs/template/cmake/` in +the installation and `share/template/cmake/` in the source tree), and actual +package configuration files (`gromacs-config.cmake` and supporting files +installed to `share/cmake/` from input files in `src/gromacs/`). + +`FindGROMACS.cmake` is a simple wrapper over the package configuration files, +providing a somewhat more convenient interface to the machinery that supports +multiple suffixed \Gromacs installations in the same installation prefix (see +`GROMACS_SUFFIX` variable below). This file is intended to be version-agnostic +and remain both forward- and backward-compatible even between major \Gromacs +releases. All version-specific information and the actual details about the +compilation and linking settings is in the package configuration files. +Build systems willing to utilize `FindGROMACS.cmake` can create a local copy of +it and use it like it is used in the installed +`share/gromacs/template/CMakeLists.txt`. +The package configuration files can also be used directly if desired, bypassing +`FindGROMACS.cmake`. + +Input options for influencing what to find: + +
+
`GROMACS_SUFFIX` (only for `FindGROMACS.cmake`)
+
This CMake variable can be set before calling `find_package(GROMACS)` to +specify the \Gromacs suffix to search for. If not set, an unsuffixed version +is searched for. If using the package configuration files directly, the suffix +must be set using `find_package(GROMACS NAMES gromacs)`.
+
`GROMACS_PREFER_STATIC`
+
This CMake variable can be set before calling `find_package(GROMACS)` to +specify whether static or shared libraries are preferred if both are available. +It does not affect which \Gromacs installation is chosen, but if that +installation has both static and shared libraries available (installed from two +different builds with the same suffix), then this chooses the library to be +returned in `GROMACS_LIBRARIES`.
+
`GROMACS_DIR`
+
This CMake (cache) variable is a standard mechanism provided by +`find_package`, and can be used to specify a hint where to search for \Gromacs. +Also `CMAKE_PREFIX_PATH` can be used for this purpose; see CMake documentation +for `find_package` for more details. +`GROMACS_DIR` can also be set as an environment variable, and this is done by +`GMXRC`.
+
+ +Output variables that specify how the found `libgromacs` and header should be +used: + +
+
`GROMACS_INCLUDE_DIRS`
+
List of include directories necessary to compile against the \Gromacs +headers. Currently, this includes the path to \Gromacs headers, as well as the +path to Boost headers that were used to compile \Gromacs.
+
`GROMACS_LIBRARIES`
+
List of libraries to link with to link against \Gromacs. +Under the hood, this uses imported CMake targets to represent `libgromacs`.
+
`GROMACS_DEFINITIONS`
+
List of compile definitions (with `-D` in front) that are required to +compile the \Gromacs headers.
+
`GROMACS_IS_DOUBLE`
+
Whether the found \Gromacs was compiled in double precision.
+
+ +Declared macros/functions that can be used for checking for correctness of some +settings: + +
+
`gromacs_check_double(GMX_DOUBLE)`
+
Checks that the found \Gromacs is in the expected precision. +The parameter `GMX_DOUBLE` should be the name of a cache variable that +specified whether double-precision was requested.
+
`gromacs_check_compiler(LANG)`
+
Checks that the found \Gromacs was compiled with the same compiler +that is used by the current CMake system. +Currently only `LANG=CXX` is supported.
+
+ +Notes on \Gromacs API +===================== + +The headers for the public \Gromacs API are installed in `include/gromacs/` +under the installation directory. The layout reflects the source code layout +under the `src/gromacs/` directory (see \ref page_codelayout). The headers +directly under `include/gromacs/` do not contain any declarations, but instead +include a collection of headers from subdirectories. +You should prefer to include these convenience headers instead of individual +headers from the subdirectories, since they are much more stable. The +individual headers in the subdirectories can be renamed or moved, but the goal +is to only rarely change the name of these top-level headers. + +Pre-5.0 versions of \Gromacs installed (nearly) all headers directly under +`include/gromacs/`. Most of these headers still exist, but now under +`include/gromacs/legacyheaders/`. The long-term goal is to move these to +proper module hierarchy or get rid of them, but unfortunately this can take a +long time. Thus, you should not expect much stability from the API in these +headers. Some have already been moved, so if you do not find your favorite +header there, try searching for a declaration from the other subdirectories. + +For headers under other subdirectories, some effort has been put to design the +API for stability. However, with limited development resources, and the focus +of \Gromacs being in high performance simulations, all the APIs are subject to +change without notice. With each new release (with possible exception of patch +releases), you should expect incompatible API changes. This is in particular +true until the planned reorganization of the `legacyheaders/` subdirectory is +complete. + +The header version.h (installed as `gromacs/version.h`) provides defines that +calling code can use to check the exact (released) version of \Gromacs that +installed the headers. + +This Doxygen documentation only covers part of the API. In particular, nearly +all of `include/gromacs/legacyheaders/` is undocumented, as well as code +recently moved from there. diff --git a/docs/doxygen/usinglibrary.md b/docs/doxygen/usinglibrary.md deleted file mode 100644 index 7419b5dcd4..0000000000 --- a/docs/doxygen/usinglibrary.md +++ /dev/null @@ -1,89 +0,0 @@ -Using \Gromacs as a library {#page_usinglibrary} -=========================== - -Getting started -=============== - -\todo -Describe how to link against \Gromacs (pkg-config, FindGromacs.cmake, etc.) - -The \Gromacs library (`libgromacs`) provides a few different alternatives for -using it. These are listed here from the highest level of abstraction to the -low-level functions. - - If you are writing a trajectory analysis tool, please see - \ref page_analysisframework. \ref page_analysistemplate should contain - all the ingredients to get started. - If you have an existing tool written using the analysis template from 4.5 or - 4.6 (using the selection engine added in 4.5), you need to do some - conversion work to get this work with the new template. This is mostly - straightforward, but requires some studying to understand the new framework. - - If you are writing a command line tool for some other purpose, you can use - the facilities provided by \ref module_commandline. There are a few - different alternatives, depending on how much control you want to give - \Gromacs: - - For C++ code, you can implement gmx::CommandLineModuleInterface, and - use gmx::runCommandLineModule() to execute it. This requires using some - additional \Gromacs classes (in particular, for implementing - gmx::CommandLineModuleInterface::writeHelp(), if you want to support the - `-h` option). - - For C code, you can use gmx_run_cmain() to wrap an existing C main - method. The only constraint on the provided main method is that it - should use parse_common_args() for argument processing. - This approach should allow you to convert existing C tools written - against pre-5.0 \Gromacs (e.g., using the analysis template from 4.0 or - earlier) to the new version. - - If you want more control (for example, you do not want the default - command line options added by \Gromacs), you can directly initialize - \Gromacs using gmx::initForCommandLine() before calling other \Gromacs - routines. This allows you to write your own handling for command line - options from scratch. This is also discussed in \ref module_commandline. - - For most control, you can use gmx::init() to do basic initialization, create - your own implementation for gmx::ProgramContextInterface, and set that using - gmx::setProgramContext(). This allows you to customize how the \Gromacs - library shows the name of the program in messages, as well as how it locates - its own data files. - -If these do not fit your needs, you may need to modify the \Gromacs source code -yourself. In particular, it is currently relatively difficult to extend the -functionality of `mdrun` without modifying the source code directly. -If you think that some particular API would be necessary for your work, and -think that it would be easy to expose, please drop a line on the -`gmx-developers` mailing list, or contribute the necessary changes on -http://gerrit.gromacs.org/. - -Notes on \Gromacs API -===================== - -The headers for the public \Gromacs API are installed in `include/gromacs/` -under the installation directory. The layout reflects the source code layout -under the `src/gromacs/` directory (see \ref page_codelayout). The headers -directly under `include/gromacs/` do not contain any declarations, but instead -include a collection of headers from subdirectories. -You should prefer to include these convenience headers instead of individual -headers from the subdirectories, since they are much more stable. The -individual headers in the subdirectories can be renamed or moved, but the goal -is to only rarely change the name of these top-level headers. - -Pre-5.0 versions of \Gromacs installed (nearly) all headers directly under -`include/gromacs/`. Most of these headers still exist, but now under -`include/gromacs/legacyheaders/`. The long-term goal is to move these to -proper module hierarchy or get rid of them, but unfortunately this can take a -long time. Thus, you should not expect much stability from the API in these -headers. Some have already been moved, so if you do not find your favorite -header there, try searching for a declaration from the other subdirectories. - -For headers under other subdirectories, some effort has been put to design the -API for stability. However, with limited development resources, and the focus -of \Gromacs being in high performance simulations, all the APIs are subject to -change without notice. With each new release (with possible exception of patch -releases), you should expect incompatible API changes. This is in particular -true until the planned reorganization of the `legacyheaders/` subdirectory is -complete. - -The header version.h (installed as `gromacs/version.h`) provides defines that -calling code can use to check the exact (released) version of \Gromacs that -installed the headers. - -This Doxygen documentation only covers part of the API. In particular, nearly -all of `include/gromacs/legacyheaders/` is undocumented, as well as code -recently moved from there. diff --git a/docs/install-guide/CMakeLists.txt b/docs/install-guide/CMakeLists.txt index 7342ba4d71..8b3eed92db 100644 --- a/docs/install-guide/CMakeLists.txt +++ b/docs/install-guide/CMakeLists.txt @@ -60,4 +60,5 @@ if(MARKDOWN_CONFIGURE_IS_POSSIBLE AND PANDOC_EXECUTABLE) ${HTML_OUTPUT_DIR}/${name}.pdf VERBATIM ) + gmx_cpack_add_generated_source_directory(final DESTINATION /) endif() diff --git a/docs/install-guide/install-guide.md b/docs/install-guide/install-guide.md index 67185db2cf..095db26641 100644 --- a/docs/install-guide/install-guide.md +++ b/docs/install-guide/install-guide.md @@ -75,6 +75,9 @@ architectures including x86, AMD64/x86-64, PPC, ARM v7 and SPARC VIII. Technically, GROMACS can be compiled on any platform with an ANSI C99 and C++98 compiler, and their respective standard C/C++ libraries. +We use only a few C99 features, but note that the C++ compiler also needs to +support these C99 features (notably, int64_t and related things), which are not +part of the C++98 standard. Getting good performance on an OS and architecture requires choosing a good compiler. In practice, many compilers struggle to do a good job optimizing the GROMACS architecture-optimized SIMD kernels. @@ -650,6 +653,13 @@ CMakeLists.txt. is determined by CMake. The name of the directory can be changed using `GMX_LIB_INSTALL_DIR` CMake variable. +`lib/pkgconfig/` + : Information about the installed `libgromacs` library for `pkg-config` is + installed here. The `lib/` part adapts to the installation location of the + libraries. The installed files contain the installation prefix as absolute + paths. +`share/cmake/` + : CMake package configuration files are installed here. `share/gromacs/` : Various data files and some documentation go here. The `gromacs` part can be changed using `GMX_DATA_INSTALL_DIR`. Using this diff --git a/docs/man/BuildManPages.cmake b/docs/man/BuildManPages.cmake new file mode 100644 index 0000000000..80c5aebbcb --- /dev/null +++ b/docs/man/BuildManPages.cmake @@ -0,0 +1,60 @@ +# +# 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. + +if (NOT DEFINED GMX_EXECUTABLE OR NOT DEFINED SOURCE_DIR) + message(FATAL_ERROR "Required input parameter not set") +endif() + +file(MAKE_DIRECTORY man1) +file(MAKE_DIRECTORY man7) +file(COPY ${SOURCE_DIR}/man7/gromacs.7.in DESTINATION man7/) +execute_process( + COMMAND ${GMX_EXECUTABLE} -quiet help -export man + RESULT_VARIABLE exitcode) +if (exitcode) + # Ensure that no partial output is left behind. + file(REMOVE_RECURSE man1) + file(REMOVE man7/gromacs.7) + if (ERRORS_ARE_FATAL) + message(FATAL_ERROR + "Failed to generate man pages. " + "Set GMX_BUILD_HELP=OFF if you want to skip them.\n" + "Error/exit code: ${exitcode}") + else() + message( + "Failed to generate man pages, will build GROMACS without. " + "Set GMX_BUILD_HELP=OFF if you want to skip this notification and " + "warnings during installation.") + endif() +endif() diff --git a/docs/man/CMakeLists.txt b/docs/man/CMakeLists.txt index ffcff945a7..be92414983 100644 --- a/docs/man/CMakeLists.txt +++ b/docs/man/CMakeLists.txt @@ -32,24 +32,21 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -if(SOURCE_IS_SOURCE_DISTRIBUTION) - # Make sure source package contains all man pages. - if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/man1/gmx-view.1") - message(FATAL_ERROR "Man pages are missing from source package.") - endif() -endif() - -add_custom_target(man - ${CMAKE_COMMAND} -E make_directory man1 - COMMAND ${CMAKE_COMMAND} -E make_directory man7 - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/man7/gromacs.7.in" man7/ - COMMAND gmx -quiet help -export man - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating man pages" - VERBATIM) +include(gmxCustomCommandUtilities) set(MAN_PAGE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) if (GMX_BUILD_HELP) + gmx_add_custom_output_target(man OUTPUT STAMP + COMMAND ${CMAKE_COMMAND} + -D GMX_EXECUTABLE=$ + -D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} + -D ERRORS_ARE_FATAL=${GMX_BUILD_HELP_FORCE} + -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildManPages.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS gmx + ${CMAKE_CURRENT_SOURCE_DIR}/man7/gromacs.7.in + ${CMAKE_CURRENT_SOURCE_DIR}/BuildManPages.cmake + COMMENT "Generating man pages") set_target_properties(man PROPERTIES EXCLUDE_FROM_ALL OFF) set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "man1;man7/gromacs.7") @@ -60,8 +57,10 @@ endif() if (SOURCE_IS_SOURCE_DISTRIBUTION OR GMX_BUILD_HELP) install(FILES ${MAN_PAGE_DIR}/man7/gromacs.7 DESTINATION ${MAN_INSTALL_DIR}/man7 - COMPONENT man) + COMPONENT man OPTIONAL) install(DIRECTORY ${MAN_PAGE_DIR}/man1 DESTINATION ${MAN_INSTALL_DIR} - COMPONENT man) + COMPONENT man OPTIONAL) endif() +gmx_cpack_add_generated_source_directory(man1) +gmx_cpack_add_generated_source_directory(man7) diff --git a/docs/manual/CMakeLists.txt b/docs/manual/CMakeLists.txt index 0a012e04ff..ea6ccbb82a 100644 --- a/docs/manual/CMakeLists.txt +++ b/docs/manual/CMakeLists.txt @@ -32,7 +32,7 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -if(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) +if (BUILD_IS_INSOURCE) # UseLATEX.cmake does not work with an in-source build message(STATUS "Cannot build the manual when building in the source directory") set(MANUAL_BUILD_IS_POSSIBLE OFF) diff --git a/docs/manual/README b/docs/manual/README index 74bc93d515..38a07a50e0 100644 --- a/docs/manual/README +++ b/docs/manual/README @@ -1,7 +1,7 @@ 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. diff --git a/docs/manual/files.tex b/docs/manual/files.tex index 1fae94e989..af67d4a6ec 100644 --- a/docs/manual/files.tex +++ b/docs/manual/files.tex @@ -54,7 +54,7 @@ \tt conf & \tt esp & Asc & \tt -c & Coordinate file in ESPResSo format \\[-0.1ex] \tt conf & \tt g96 & Asc & \tt -c & Coordinate file in Gromos-96 format \\[-0.1ex] \tt conf & \tt gro & Asc & \tt -c & Coordinate file in Gromos-87 format \\[-0.1ex] -\tt conf & \tt gro & & \tt -c & Structure: \tt gro g96 pdb esp tpr tpb tpa \\[-0.1ex] +\tt conf & \tt gro & & \tt -c & Structure: \tt gro g96 pdb esp tpr \\[-0.1ex] \tt out & \tt gro & & \tt -o & Structure: \tt gro g96 pdb esp \\[-0.1ex] \tt polar & \tt hdb & Asc & \tt & Hydrogen data base \\[-0.1ex] \tt topinc & \tt itp & Asc & \tt & Include file for topology \\[-0.1ex] @@ -70,16 +70,14 @@ \tt residue & \tt rtp & Asc & \tt & Residue Type file used by {\tt pdb2gmx} \\[-0.1ex] \tt doc & \tt tex & Asc & \tt -o & LaTeX file \\[-0.1ex] \tt topol & \tt top & Asc & \tt -p & Topology file \\[-0.1ex] -\tt topol & \tt tpb & Bin & \tt -s & Binary run input file \\[-0.1ex] -\tt topol & \tt tpr & & \tt -s & Generic run input: \tt tpr tpb tpa \\[-0.1ex] -\tt topol & \tt tpr & & \tt -s & Structure+mass(db): \tt tpr tpb tpa gro g96 pdb \\[-0.1ex] +\tt topol & \tt tpr & & \tt -s & Generic run input: \tt tpr \\[-0.1ex] +\tt topol & \tt tpr & & \tt -s & Structure+mass(db): \tt tpr gro g96 pdb \\[-0.1ex] \tt topol & \tt tpr & xdr & \tt -s & Portable xdr run input file \\[-0.1ex] -\tt traj & \tt trj & Bin & \tt & Trajectory file (architecture specific) \\[-0.1ex] -\tt traj & \tt trr & & \tt & Full precision trajectory: \tt trr trj cpt \\[-0.1ex] +\tt traj & \tt trr & & \tt & Full precision trajectory: \tt trr cpt \\[-0.1ex] \tt traj & \tt trr & xdr & \tt & Trajectory in portable xdr format \\[-0.1ex] \tt root & \tt xpm & Asc & \tt & X PixMap compatible matrix file \\[-0.1ex] -\tt traj & \tt xtc & & \tt -f & Trajec., input: \tt xtc trr trj cpt gro g96 pdb \\[-0.1ex] -\tt traj & \tt xtc & & \tt -f & Trajectory, output: \tt xtc trr trj gro g96 pdb \\[-0.1ex] +\tt traj & \tt xtc & & \tt -f & Trajec., input: \tt xtc trr cpt gro g96 pdb \\[-0.1ex] +\tt traj & \tt xtc & & \tt -f & Trajectory, output: \tt xtc trr gro g96 pdb \\[-0.1ex] \tt traj & \tt xtc & xdr & \tt & Compressed trajectory (portable xdr format) \\[-0.1ex] \tt graph & \tt xvg & Asc & \tt -o & xvgr/xmgr file \\[-0.1ex] \dline @@ -90,6 +88,6 @@ % LocalWords: lccX atomtp atp Asc Atomtype pdb gmx eiwit brk Brookhaven cpt tm % LocalWords: xdr nnnice dat dlg ngmx sam edi edo ener edr ene ent eps conf ss -% LocalWords: PostScript ESPResSo gtraj Gromos gro tpr tpb tpa hdb topinc itp -% LocalWords: grompp mdp mtx ndx rtp tex LaTeX topol traj trj trr xpm PixMap +% LocalWords: PostScript ESPResSo gtraj Gromos gro tpr hdb topinc itp +% LocalWords: grompp mdp mtx ndx rtp tex LaTeX topol traj trr xpm PixMap % LocalWords: xtc Trajec xvg xvgr xmgr ps diff --git a/docs/manual/forcefield.tex b/docs/manual/forcefield.tex index f20986fc61..70829ad13e 100644 --- a/docs/manual/forcefield.tex +++ b/docs/manual/forcefield.tex @@ -1087,9 +1087,12 @@ radius. The force acts towards the center of the sphere. The following distance \beq d_g(\ve{r}_i;\ve{R}_i) = |\ve{r}_i-\ve{R}_i| \eeq -{\bfseries Cylinder} ($g=2$): The particle is kept in a cylinder of given radius -parallel to the $z$-axis. The force from the flat-bottomed potential acts -towards the axis of the cylinder. The $z$-component of the force is zero. +{\bfseries Cylinder} ($g=6,7,8$): The particle is kept in a cylinder of given radius +parallel to the $x$ ($g=6$), $y$ ($g=7$), or $z$-axis ($g=8$). For backwards compatibility, setting +$g=2$ is mapped to $g=8$ in the code so that old {\tt .tpr} files and topologies work. +The force from the flat-bottomed potential acts towards the axis of the cylinder. +The component of the force parallel to the cylinder axis is zero. +For a cylinder aligned along the $z$-axis: \beq d_g(\ve{r}_i;\ve{R}_i) = \sqrt{ (x_i-X_i)^2 + (y_i - Y_i)^2 } \eeq diff --git a/docs/manual/install.tex b/docs/manual/install.tex index 5386ba5901..d80a987e1d 100644 --- a/docs/manual/install.tex +++ b/docs/manual/install.tex @@ -260,7 +260,7 @@ you should consult your local documentation for details. \item {\tt GMX_NO_NODECOMM}: do not use separate inter- and intra-node communicators. \item {\tt GMX_NO_NONBONDED}: skip non-bonded calculations; can be used to estimate the possible performance gain from adding a GPU accelerator to the current hardware setup -- assuming that this is - fast enough to complete the non-bonded calculations while the CPU does bonded force and PME computation. + fast enough to complete the non-bonded calculations while the CPU does listed force and PME computation. \item {\tt GMX_NO_PULLVIR}: when set, do not add virial contribution to COM pull forces. \item {\tt GMX_NOCHARGEGROUPS}: disables multi-atom charge groups, {\ie} each atom in all non-solvent molecules is assigned its own charge group. diff --git a/docs/manual/macros.tex b/docs/manual/macros.tex index ed8442fbb3..ed4b53ce25 100644 --- a/docs/manual/macros.tex +++ b/docs/manual/macros.tex @@ -138,7 +138,7 @@ \newcommand{\ttw}{4.33cm} % 1/3 of the textwidth \newcommand{\htw}{7.5cm} % 1/2 of the textwidth \newcommand{\ntw}{13cm} % 0.9 of the textwidth -\newcommand{\gmxver}{@PROJECT_VERSION@} +\newcommand{\gmxver}{@GMX_VERSION_STRING@} \newcommand{\gmxyear}{\the\year} \newcommand{\figref}[1]{Fig.~\ref{fig:#1}} \newcommand{\figsref}[2]{Figs.~\ref{fig:#1} and ~\ref{fig:#2}} diff --git a/docs/manual/monster.bib b/docs/manual/monster.bib index 3c14898f4b..0774ae539c 100644 --- a/docs/manual/monster.bib +++ b/docs/manual/monster.bib @@ -7398,7 +7398,7 @@ rov and V. S. Ananthanarayanan}, @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} diff --git a/docs/old-html/BuildHtmlHelp.cmake b/docs/old-html/BuildHtmlHelp.cmake index 8a4f169a5f..16c31da177 100644 --- a/docs/old-html/BuildHtmlHelp.cmake +++ b/docs/old-html/BuildHtmlHelp.cmake @@ -32,50 +32,52 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -if (NOT DEFINED OUTPUT_DIR OR NOT DEFINED SOURCE_HTML_DIR) +if (NOT DEFINED GMX_EXECUTABLE OR NOT DEFINED OUTPUT_DIR OR NOT DEFINED SOURCE_HTML_DIR) message(FATAL_ERROR "Required input parameter not set") endif() -function(PRE_EXPORT_ACTIONS) - file(MAKE_DIRECTORY ${OUTPUT_DIR}) - file(MAKE_DIRECTORY ${OUTPUT_DIR}/programs) - file(COPY ${SOURCE_HTML_DIR}/header.html.in DESTINATION .) - file(COPY ${SOURCE_HTML_DIR}/footer.html DESTINATION .) - file(COPY ${SOURCE_HTML_DIR}/links.dat DESTINATION .) -endfunction() +file(MAKE_DIRECTORY ${OUTPUT_DIR}) +file(MAKE_DIRECTORY ${OUTPUT_DIR}/programs) +file(COPY ${SOURCE_HTML_DIR}/header.html.in DESTINATION .) +file(COPY ${SOURCE_HTML_DIR}/footer.html DESTINATION .) +file(COPY ${SOURCE_HTML_DIR}/links.dat DESTINATION .) + +# This is generated by gmx help -export html +set(HEADER_FILE header.html) -function(POST_EXPORT_ACTIONS) - # This is generated by gmx help -export html - set(HEADER_FILE header.html) - set(FOOTER_FILE ${SOURCE_HTML_DIR}/footer.html) - file(READ ${HEADER_FILE} HEADER_TEXT) - file(READ ${FOOTER_FILE} FOOTER_TEXT) - set(_title_re "[Tt][Ii][Tt][Ll][Ee]") +execute_process( + COMMAND ${GMX_EXECUTABLE} -quiet help -export html + RESULT_VARIABLE exitcode) +if (exitcode) + # Ensure that no partial output is left behind. + file(REMOVE_RECURSE ${OUTPUT_DIR}) + file(REMOVE ${HEADER_FILE}) + message(FATAL_ERROR + "Failed to generate HTML help. " + "Set GMX_BUILD_HELP=OFF or GMX_BUILD_HELP=AUTO if you want to skip them.\n" + "Error/exit code: ${exitcode}") +endif() - function(CREATE_HTML_FILE SOURCE_FILE ROOTPATH) - file(RELATIVE_PATH _rel_path ${SOURCE_HTML_DIR} ${SOURCE_FILE}) - file(READ ${SOURCE_FILE} _content) - string(REGEX REPLACE "^ *<${_title_re}>(.*)\n" "" _content "${_content}") - set(TITLE "${CMAKE_MATCH_1}") - string(CONFIGURE "${HEADER_TEXT}" _header @ONLY) - set(_content "${_header}${_content}${FOOTER_TEXT}") - file(WRITE ${OUTPUT_DIR}/${_rel_path} "${_content}") - endfunction() +set(FOOTER_FILE ${SOURCE_HTML_DIR}/footer.html) +file(READ ${HEADER_FILE} HEADER_TEXT) +file(READ ${FOOTER_FILE} FOOTER_TEXT) +set(_title_re "[Tt][Ii][Tt][Ll][Ee]") - create_html_file(${SOURCE_HTML_DIR}/online.html "") - file(COPY ${SOURCE_HTML_DIR}/images DESTINATION ${OUTPUT_DIR}) - file(MAKE_DIRECTORY ${OUTPUT_DIR}/online) - file(COPY ${SOURCE_HTML_DIR}/online/style.css DESTINATION ${OUTPUT_DIR}/online) - file(GLOB _source_files ${SOURCE_HTML_DIR}/online/*.html) - foreach(_file ${_source_files}) - create_html_file(${_file} "../") - endforeach() +function(CREATE_HTML_FILE SOURCE_FILE ROOTPATH) + file(RELATIVE_PATH _rel_path ${SOURCE_HTML_DIR} ${SOURCE_FILE}) + file(READ ${SOURCE_FILE} _content) + string(REGEX REPLACE "^ *<${_title_re}>(.*)\n" "" _content "${_content}") + set(TITLE "${CMAKE_MATCH_1}") + string(CONFIGURE "${HEADER_TEXT}" _header @ONLY) + set(_content "${_header}${_content}${FOOTER_TEXT}") + file(WRITE ${OUTPUT_DIR}/${_rel_path} "${_content}") endfunction() -if (STEP STREQUAL "PRE") - pre_export_actions() -elseif (STEP STREQUAL "POST") - post_export_actions() -else() - message(FATAL_ERROR "Unknown parameter STEP=${STEP}") -endif() +create_html_file(${SOURCE_HTML_DIR}/online.html "") +file(COPY ${SOURCE_HTML_DIR}/images DESTINATION ${OUTPUT_DIR}) +file(MAKE_DIRECTORY ${OUTPUT_DIR}/online) +file(COPY ${SOURCE_HTML_DIR}/online/style.css DESTINATION ${OUTPUT_DIR}/online) +file(GLOB _source_files ${SOURCE_HTML_DIR}/online/*.html) +foreach(_file ${_source_files}) + create_html_file(${_file} "../") +endforeach() diff --git a/docs/old-html/CMakeLists.txt b/docs/old-html/CMakeLists.txt index 861151879c..2b119f9afc 100644 --- a/docs/old-html/CMakeLists.txt +++ b/docs/old-html/CMakeLists.txt @@ -32,40 +32,47 @@ # 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(gmxCustomCommandUtilities) + set(OUTPUT_DIR final) -set(HTML_PAGE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${OUTPUT_DIR}) -if(SOURCE_IS_SOURCE_DISTRIBUTION) - # Make sure source package contains HTML pages. - if(NOT EXISTS "${HTML_PAGE_DIR}/online.html") - message(FATAL_ERROR "Online HTML pages are missing from source package.") - endif() -endif() +set(HTML_PAGE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${OUTPUT_DIR}) +if (GMX_BUILD_HELP) + # Unlike the man and completion targets, this target is not built + # automatically with GMX_BUILD_HELP=AUTO, since most people will not + # notice it missing. + file(GLOB_RECURSE deps + ${CMAKE_CURRENT_SOURCE_DIR}/images/* + ${CMAKE_CURRENT_SOURCE_DIR}/*.html + ${CMAKE_CURRENT_SOURCE_DIR}/*.css + ) + list(APPEND deps + ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/header.html.in + ${CMAKE_CURRENT_SOURCE_DIR}/links.dat + ) -add_custom_target(html - ${CMAKE_COMMAND} - -D SOURCE_HTML_DIR=${CMAKE_CURRENT_SOURCE_DIR} - -D OUTPUT_DIR=${OUTPUT_DIR} - -D STEP=PRE - -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake - COMMAND gmx -quiet help -export html - COMMAND ${CMAKE_COMMAND} - -D SOURCE_HTML_DIR=${CMAKE_CURRENT_SOURCE_DIR} - -D OUTPUT_DIR=${OUTPUT_DIR} - -D STEP=POST - -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake - COMMENT "Generating HTML help" - VERBATIM) + gmx_add_custom_output_target(html OUTPUT STAMP + COMMAND ${CMAKE_COMMAND} + -D GMX_EXECUTABLE=$ + -D SOURCE_HTML_DIR=${CMAKE_CURRENT_SOURCE_DIR} + -D OUTPUT_DIR=${OUTPUT_DIR} + -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildHtmlHelp.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS gmx ${deps} + COMMENT "Generating HTML help") -if (GMX_BUILD_HELP) - set_target_properties(html PROPERTIES EXCLUDE_FROM_ALL OFF) + if (GMX_BUILD_HELP_FORCE) + set_target_properties(html PROPERTIES EXCLUDE_FROM_ALL OFF) + endif() set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${OUTPUT_DIR};header.html") set(HTML_PAGE_DIR ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_DIR}) endif() -if (SOURCE_IS_SOURCE_DISTRIBUTION OR GMX_BUILD_HELP) +if (SOURCE_IS_SOURCE_DISTRIBUTION OR GMX_BUILD_HELP_FORCE) install(DIRECTORY ${HTML_PAGE_DIR}/ DESTINATION ${DATA_INSTALL_DIR}/html COMPONENT html) endif() +gmx_cpack_add_generated_source_directory(${OUTPUT_DIR}) diff --git a/docs/old-html/links.dat b/docs/old-html/links.dat index 8ee9ba7b0c..01ee831ccc 100644 --- a/docs/old-html/links.dat +++ b/docs/old-html/links.dat @@ -19,10 +19,7 @@ rtp tex top tng -tpa -tpb tpr -trj trr xpm xtc diff --git a/docs/old-html/online/files.html b/docs/old-html/online/files.html index ee57c53221..e458217867 100644 --- a/docs/old-html/online/files.html +++ b/docs/old-html/online/files.html @@ -18,14 +18,10 @@
Generic structure formats: gro, g96, -pdb, -tpr, -tpb or -tpa +pdb, or +tpr
Structure+mass(db): tpr, -tpb, -tpa, gro, g96 or pdb. @@ -45,35 +41,26 @@ When gro or pdb is used approximate masses will be read from the mass database.
tpr
system topology, parameters, coordinates and velocities (binary, portable) -
tpa
system topology, parameters, coordinates -and velocities (ascii) -
tpb
system topology, parameters, coordinates -and velocities (binary)
Generic run input file formats: -tpr, -tpb or -tpa +tpr

Trajectory files

tng
Any kind of data (compressed, portable, any precision) -
trj
x, v and f (binary, full precision)
trr
x, v and f (binary, full precision, portable)
xtc
x only (compressed, portable, any precision)
gro
x and v (ascii, any precision)
g96
x only (ascii, fixed high precision)
pdb
x only (ascii, reduced precision)
Formats for full-precision data: -tng, -trr or -trj +tng or +trr
Generic trajectory formats: tng, xtc, trr, -trj, gro, g96, pdb or diff --git a/docs/old-html/online/getting_started.html b/docs/old-html/online/getting_started.html index d9de09fad5..fcaf75c72d 100644 --- a/docs/old-html/online/getting_started.html +++ b/docs/old-html/online/getting_started.html @@ -183,8 +183,7 @@ not consider the use of index files. The next step is to combine the molecular structure (.gro file), topology (.top file) MD-parameters (.mdp file) and (optionally) the -index file (ndx) to generate a run input file (.tpr extension or -.tpb if you don't have XDR). +index file (ndx) to generate a run input file (.tpr extension. This file contains all information needed to start a simulation with GROMACS. The gmx grompp program processes all @@ -203,8 +202,7 @@ to start a run is the run input file (.tpr file). The output files of gmx mdrun are the -trajectory file (.trr file -or .trj if you don't have XDR) and a logfile ( +trajectory file (.trr file) and a logfile ( .log file).

diff --git a/docs/old-html/online/mtx.html b/docs/old-html/online/mtx.html index c023102238..6492e5db38 100644 --- a/docs/old-html/online/mtx.html +++ b/docs/old-html/online/mtx.html @@ -1,7 +1,7 @@ mtx file format

Description

Files with the mtx file extension contain a matrix. -The file format is identical to the trj format. +The file format is identical to the trr format. Currently this file format is only used for hessian matrices, which are produced with gmx mdrun and read by gmx nmeig. diff --git a/docs/old-html/online/options.html b/docs/old-html/online/options.html index af9fc65727..a2e0cfa3cb 100644 --- a/docs/old-html/online/options.html +++ b/docs/old-html/online/options.html @@ -38,7 +38,7 @@ parameter is supplied the two others are also set to this value.
  • All GROMACS programs can read compressed or g-zipped files. There might be a problem with reading compressed .xtc, -.trr and .trj files, but these will not compress +.trr files, but these will not compress very well anyway.

  • diff --git a/docs/old-html/online/top.html b/docs/old-html/online/top.html index 8bba16691f..67f6c174ff 100644 --- a/docs/old-html/online/top.html +++ b/docs/old-html/online/top.html @@ -2,7 +2,7 @@

    Description

    The top file extension stands for topology. It is an ascii file which is read by gmx grompp which processes it -and creates a binary topology (.tpb file).
    +and creates a binary topology (.tpr file).
    A sample file is included below:
     ;
    diff --git a/docs/old-html/online/tpa.html b/docs/old-html/online/tpa.html
    deleted file mode 100644
    index 9002525fea..0000000000
    --- a/docs/old-html/online/tpa.html
    +++ /dev/null
    @@ -1,19 +0,0 @@
    -tpa file format
    -

    Description

    -The tpa file extension stands for binary run input file. This file contains -the starting structure of your simulation, The molecular topology and -all the simulation data. Because this file is in binary format it -cannot be read with a normal editor. To read a binary run input file type: -
    -% gmx dump -s topol.tpa
    -
    -or if you're not such a fast reader: -
    -% gmxdump -s topol.tpa | more
    -
    - -

    -You can also compare two tpa files using: -

    -% gmx check -s1 top1 -s2 top2 | more
    -
    diff --git a/docs/old-html/online/tpb.html b/docs/old-html/online/tpb.html deleted file mode 100644 index 4206296a66..0000000000 --- a/docs/old-html/online/tpb.html +++ /dev/null @@ -1,19 +0,0 @@ -tpb file format -

    Description

    -The tpb file extension stands for binary run input file. This file contains -the starting structure of your simulation, The molecular topology and -all the simulation data. Because this file is in binary format it -cannot be read with a normal editor. To read a binary run input file type: -
    -% gmx dump -s topol.tpb
    -
    -or if you're not such a fast reader: -
    -% gmxdump -s topol.tpb | more
    -
    - -

    -You can also compare two tpb files using: -

    -% gmx check -s1 top1 -s2 top2 | more
    -
    diff --git a/docs/old-html/online/trj.html b/docs/old-html/online/trj.html deleted file mode 100644 index 0077a8ed01..0000000000 --- a/docs/old-html/online/trj.html +++ /dev/null @@ -1,20 +0,0 @@ -trj file format -

    Description

    -Files with the trj file extension contain the trajectory of a simulation. -In this file all the coordinates, velocities, forces and energies are -printed as you told GROMACS in your mdp file. This file is in binary -format an can be read with gmx dump. -
    -% gmx dump -f traj.trj
    -
    -or if you're not such a fast reader: -
    -% gmxdump -f traj.trj | more
    -
    - -

    -You can also get a quick look in the contents of the file (number of -frames etc.) using: -

    -% gmx check -f traj.trj
    -
    diff --git a/scripts/GMXRC.bash.cmakein b/scripts/GMXRC.bash.cmakein index a7a1a0c22b..eed26cafe7 100644 --- a/scripts/GMXRC.bash.cmakein +++ b/scripts/GMXRC.bash.cmakein @@ -55,6 +55,7 @@ GMXBIN=${GMXPREFIX}/@BIN_INSTALL_DIR@ GMXLDLIB=${GMXPREFIX}/@LIB_INSTALL_DIR@ GMXMAN=${GMXPREFIX}/@MAN_INSTALL_DIR@ GMXDATA=${GMXPREFIX}/@DATA_INSTALL_DIR@ +GROMACS_DIR=${GMXPREFIX} LD_LIBRARY_PATH=${GMXLDLIB}${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH} PKG_CONFIG_PATH=${GMXLDLIB}/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH} @@ -63,7 +64,8 @@ PATH=${GMXBIN}${PATH:+:}${PATH} MANPATH=${GMXMAN}:${MANPATH} # export should be separate, so /bin/sh understands it -export GMXBIN GMXLDLIB GMXMAN GMXDATA LD_LIBRARY_PATH PATH MANPATH PKG_CONFIG_PATH +export GMXBIN GMXLDLIB GMXMAN GMXDATA LD_LIBRARY_PATH PATH MANPATH +export PKG_CONFIG_PATH GROMACS_DIR IFS="$old_IFS" unset old_IFS diff --git a/scripts/GMXRC.csh.cmakein b/scripts/GMXRC.csh.cmakein index f22607920b..16a85df5c3 100644 --- a/scripts/GMXRC.csh.cmakein +++ b/scripts/GMXRC.csh.cmakein @@ -75,6 +75,7 @@ setenv GMXBIN ${GMXPREFIX}/@BIN_INSTALL_DIR@ setenv GMXLDLIB ${GMXPREFIX}/@LIB_INSTALL_DIR@ setenv GMXMAN ${GMXPREFIX}/@MAN_INSTALL_DIR@ setenv GMXDATA ${GMXPREFIX}/@DATA_INSTALL_DIR@ +setenv GROMACS_DIR ${GMXPREFIX} #make them begin with : if ($?LD_LIBRARY_PATH) setenv LD_LIBRARY_PATH ":${LD_LIBRARY_PATH}" diff --git a/share/template/CMakeLists.txt b/share/template/CMakeLists.txt index dbc671e398..29ef88ad49 100644 --- a/share/template/CMakeLists.txt +++ b/share/template/CMakeLists.txt @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2011,2012, by the GROMACS development team, led by +# Copyright (c) 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. @@ -43,10 +43,6 @@ install(FILES README template.cpp Makefile.pkg DESTINATION ${DATA_INSTALL_DIR}/template COMPONENT development) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindGROMACS.cmakein - ${CMAKE_CURRENT_BINARY_DIR}/cmake/FindGROMACS.cmake @ONLY) - -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/FindGROMACS.cmake +install(FILES cmake/FindGROMACS.cmake DESTINATION ${DATA_INSTALL_DIR}/template/cmake COMPONENT development) - diff --git a/share/template/CMakeLists.txt.template b/share/template/CMakeLists.txt.template index 0cc6dcdfba..5d738b8d63 100644 --- a/share/template/CMakeLists.txt.template +++ b/share/template/CMakeLists.txt.template @@ -1,44 +1,42 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 2.8.8) -project(template) +project(template CXX) -# Cmake modules/macros are in a subdirectory to keep this file cleaner -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) - -if(NOT CMAKE_BUILD_TYPE) +if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) -endif(NOT CMAKE_BUILD_TYPE) +endif() -option(GMX_DOUBLE "Use double precision" OFF) +# CMake modules are in a subdirectory to keep this file cleaner +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) -######################################################################## -# Fix stupid flags on MSVC -######################################################################## -IF(CMAKE_GENERATOR MATCHES "Visual Studio") - STRING(REPLACE /MD /MT CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) - SET(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "" FORCE) - STRING(REPLACE /MD /MT CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) - SET(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} CACHE STRING "" FORCE) -ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio") - -######################################################################## -# Basic system tests (standard libraries, headers, functions, types) # -######################################################################## - -if (GMX_DOUBLE) - set(LIBGROMACS "libgromacs_d") -else(GMX_DOUBLE) - set(LIBGROMACS "libgromacs") -endif(GMX_DOUBLE) - -FIND_PACKAGE(GROMACS COMPONENTS ${LIBGROMACS} REQUIRED) -message("GROMACS version ${GROMACS_VERSION_STRING} found") -if ("${GROMACS_VERSION_STRING}" VERSION_LESS "5.0") - message(FATAL_ERROR "This template works with GROMACS 5.0 (and possibly later versions)") +# In principle, this could be deduced from GROMACS_IS_DOUBLE returned by +# find_package(GROMACS) based on the suffix alone, but it is clearer that the +# user explicitly sets what they want to get, and then need to provide a suffix +# to match. +option(GMX_DOUBLE "Use double precision" OFF) +set(GMX_SUFFIX "" CACHE STRING "Suffix for the GROMACS installation to use (empty for default)") + +# This does not allow for a non-suffixed double-precision libgromacs, but +# that should be rare enough for demonstration purposes. +if (GMX_DOUBLE AND NOT GMX_SUFFIX) + set(GROMACS_SUFFIX "_d") +else() + set(GROMACS_SUFFIX ${GMX_SUFFIX}) endif() -add_definitions( ${GROMACS_DEFINITIONS} ) -include_directories( ${GROMACS_INCLUDE_DIRS} ) +find_package(GROMACS 5.1 REQUIRED) +gromacs_check_double(GMX_DOUBLE) +gromacs_check_compiler(CXX) +include_directories(${GROMACS_INCLUDE_DIRS}) +add_definitions(${GROMACS_DEFINITIONS}) + +# Use static linking on MSVC +if (CMAKE_GENERATOR MATCHES "Visual Studio") + string(REPLACE /MD /MT CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) + set(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "" FORCE) + string(REPLACE /MD /MT CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) + set(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} CACHE STRING "" FORCE) +endif() add_executable(template template.cpp) target_link_libraries(template ${GROMACS_LIBRARIES}) diff --git a/share/template/README b/share/template/README index dc25c57bfa..bc1e4b6c32 100644 --- a/share/template/README +++ b/share/template/README @@ -1,6 +1,10 @@ Once installed, this directory contains CMakelist.txt, Makefile.pkg and a small program that you could use as a template when writing your own analysis software. +Further explanation for the template code can be found +in the Doxygen documentation (link to the latest development +version): + The CMakelist.txt can be used together with cmake to build the template program: @@ -10,30 +14,19 @@ Alternatively, setting CMAKE_PREFIX_PATH will direct cmake to find a particular GROMACS installation. The Makefile.pkg can be used if cmake is unavailable. It -makes use of pkg-config only to build the template program: +makes use of pkg-config to build the template program: $ source /path/to/GMXRC $ make -f Makefile.pkg You will need to make sure that you use a sufficiently similar C++ compiler and C++ Standard Library as the one that was used for -compiling GROMACS, preferably the same one. If you used any system -libraries (e.g. Boost, FFTW, BLAS, LAPACK) when installing GROMACS, -then you will need make them available to the template build system -also. The easiest way to do this is to have pkg-config installed on -your system, and to source GMXRC from the GROMACS installation before -you attempt to configure the template. A subset of Boost is supposed -to be installed with GROMACS, but currently the automatic machinery -does not detect that installation, so you may need to install Boost -(headers only) in order to use the GROMACS template program. - -If the compiler used for GROMACS was capable of some C++11 features -then, by default, those will be required for compiling the -template. To make that work, you can either configure GROMACS with -$ cmake -DGMX_CXX11=off -or configure the template with the appropriate -$ cmake -DCMAKE_CXX_FLAGS="-flag-for-your-compiler" -You can find out the necessary flags from your compiler's documentation, -or by inspecting the src/buildinfo.h file in the GROMACS build tree. +compiling GROMACS, preferably the same one. Boost headers used to +compile GROMACS are also required, and are automatically added to +the include path by both of the above build systems. +See the Doxygen documentation for using GROMACS as a library for +more details about the build system used to build the template, as +well as its limitations (link to the latest development version): + ---------------------------------------------------------- diff --git a/share/template/cmake/FindGROMACS.cmake b/share/template/cmake/FindGROMACS.cmake new file mode 100644 index 0000000000..67a8a65299 --- /dev/null +++ b/share/template/cmake/FindGROMACS.cmake @@ -0,0 +1,75 @@ +# +# 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. + +# This file should remain version-agnostic, with all things specific to a +# particular GROMACS version remaining in the package configuration files. +# This find module only provides some convenience functionality to manage the +# suffixes etc. +# That should allow using the same FindGROMACS.cmake file with multiple +# different GROMACS installations on the same machine. + +# Propagate all flags passed to parent find_package() to the config call below. +set(_gmx_find_args "") +if (GROMACS_FIND_VERSION) + if (GROMACS_FIND_VERSION VERSION_LESS "5.1") + message(FATAL_ERROR + "This version of FindGROMACS.cmake requires GROMACS-provided " + "package configuration files, and only works to find " + "GROMACS 5.1 or later.") + endif() + list(APPEND _gmx_find_args ${GROMACS_FIND_VERSION}) + if (GROMACS_FIND_VERSION_EXACT) + list(APPEND _gmx_find_args EXACT) + endif() +endif() +if (GROMACS_FIND_REQUIRED) + list(APPEND _gmx_find_args REQUIRED) +endif() +if (GROMACS_FIND_QUIETLY) + list(APPEND _gmx_find_args QUIET) +endif() + +# Determine the actual name of the package configuration files. +set(_gmx_pkg_name gromacs) +if (DEFINED GROMACS_SUFFIX) + set(_gmx_pkg_name gromacs${GROMACS_SUFFIX}) +endif() +# Delegate all the actual work to the package configuration files. +# The CONFIGS option is not really necessary, but provides a bit better error +# messages, since we actually know what the config file should be called. +find_package(GROMACS ${_gmx_find_args} CONFIG + NAMES ${_gmx_pkg_name} + CONFIGS ${_gmx_pkg_name}-config.cmake) +unset(_gmx_find_args) +unset(_gmx_pkg_name) diff --git a/share/template/cmake/FindGROMACS.cmakein b/share/template/cmake/FindGROMACS.cmakein deleted file mode 100644 index f50d356a35..0000000000 --- a/share/template/cmake/FindGROMACS.cmakein +++ /dev/null @@ -1,179 +0,0 @@ -# -# This file is part of the GROMACS molecular simulation package. -# -# Copyright (c) 2009-2011, by the VOTCA Development Team (http://www.votca.org). -# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by -# Mark Abraham, David van der Spoel, Berk Hess, and 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. - -# - Finds parts of GROMACS -# Find the native GROMACS components headers and libraries. -# -# GROMACS_INCLUDE_DIRS - where to find GROMACS headers. -# GROMACS_LIBRARIES - List of libraries when used by GROMACS. -# GROMACS_FOUND - True if all GROMACS components were found. -# GROMACS_DEFINITIONS - Extra definies needed by GROMACS -# GROMACS_PKG - The name of the pkg-config package needed -# GROMACS_VERSION - GROMACS lib interface version -# GROMACS_MAJOR_VERSION - GROMACS lib interface major version -# GROMACS_MINOR_VERSION - GROMACS lib interface minor version -# GROMACS_PATCH_LEVEL - GROMACS lib interface patch level -# GROMACS_VERSION_STRING - GROMACS lib interface version string (e.g. "4.5.3") -# - -find_package(PkgConfig) -list(LENGTH GROMACS_FIND_COMPONENTS GROMACS_NUM_COMPONENTS_WANTED) -if(${GROMACS_NUM_COMPONENTS_WANTED} LESS 1) - message(FATAL_ERROR "find_package(GROMACS) needs to be supplied with the name of a GROMACS component for which it can search") -elseif(${GROMACS_NUM_COMPONENTS_WANTED} GREATER 1) - message(FATAL_ERROR "We only support finding one GROMACS component at this point, go and implement it ;-)") -elseif(${GROMACS_FIND_COMPONENTS} MATCHES "^lib(gmx|gromacs)(_d)?$") - set(GROMACS_PKG "${GROMACS_FIND_COMPONENTS}") - string(REGEX REPLACE "^lib(.*)" "\\1" GROMACS_LIBRARY_NAME "${GROMACS_PKG}") -else() - message(FATAL_ERROR "We do not support finding ${GROMACS_FIND_COMPONENTS}, go and implement it ;-)") -endif() - -if(GMX_DOUBLE AND NOT "${GROMACS_PKG}" MATCHES "_d$") - message(FATAL_ERROR "GMX_DOUBLE was true, but I was asked to find ${GROMACS_PKG} (without _d at the end) - illogical!") -endif(GMX_DOUBLE AND NOT "${GROMACS_PKG}" MATCHES "_d$") -if(NOT GMX_DOUBLE AND "${GROMACS_PKG}" MATCHES "_d$") - message(FATAL_ERROR "GMX_DOUBLE was false, but I was asked to find ${GROMACS_PKG} (with _d at the end) - illogical!") -endif(NOT GMX_DOUBLE AND "${GROMACS_PKG}" MATCHES "_d$") - -pkg_check_modules(PC_GROMACS ${GROMACS_PKG}) -if (GMX_DOUBLE) - list(APPEND GMX_DEFS "-DGMX_DOUBLE") -endif(GMX_DOUBLE) -if (PC_GROMACS_CFLAGS_OTHER) - foreach(DEF ${PC_GROMACS_CFLAGS_OTHER}) - if (${DEF} MATCHES "^-D") - list(APPEND GMX_DEFS ${DEF}) - endif (${DEF} MATCHES "^-D") - endforeach(DEF) - list(REMOVE_DUPLICATES GMX_DEFS) -endif (PC_GROMACS_CFLAGS_OTHER) -set(GROMACS_DEFINITIONS "${GMX_DEFS}" CACHE STRING "extra GROMACS definitions") - -find_library(GROMACS_LIBRARY NAMES ${GROMACS_LIBRARY_NAME} - HINTS ${PC_GROMACS_LIBRARY_DIRS} @CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@) -if (GROMACS_LIBRARY) - if("${GROMACS_LIBRARY}" MATCHES "lib(gmx|gromacs)[^;]*\\.a") - if(PC_GROMACS_LIBRARIES) - list(REMOVE_ITEM PC_GROMACS_LIBRARIES ${GROMACS_LIBRARY_NAME}) - foreach (LIB ${PC_GROMACS_LIBRARIES}) - find_library(GROMACS_${LIB} NAMES ${LIB} - HINTS ${PC_GROMACS_LIBRARY_DIRS} @CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@) - list(APPEND GMX_DEP_LIBRARIES ${GROMACS_${LIB}}) - unset(GROMACS_${LIB} CACHE) - endforeach(LIB) - endif(PC_GROMACS_LIBRARIES) - if(PC_GROMACS_CFLAGS_OTHER) - foreach(LIB ${PC_GROMACS_CFLAGS_OTHER}) - if (${LIB} MATCHES "thread") - find_package(Threads REQUIRED) - list(APPEND GMX_DEP_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) - endif (${LIB} MATCHES "thread") - endforeach(LIB) - endif(PC_GROMACS_CFLAGS_OTHER) - set(GROMACS_DEP_LIBRARIES "${GMX_DEP_LIBRARIES}" CACHE FILEPATH "GROMACS depency libs (only needed for static (.a) ${GROMACS_LIBRARY}") - endif("${GROMACS_LIBRARY}" MATCHES "lib(gmx|gromacs)[^;]*\\.a") - include(CheckLibraryExists) - check_library_exists("${GROMACS_LIBRARY};${GROMACS_DEP_LIBRARIES}" GromacsVersion "" FOUND_GROMACS_VERSION) - if(NOT FOUND_GROMACS_VERSION) - message(FATAL_ERROR "Could not find GromacsVersion in ${GROMACS_LIBRARY};${GROMACS_DEP_LIBRARIES}, take look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. If you don't have pkg-config installed you will most likely have to set GROMACS_LIBRARY and GROMACS_DEP_LIBRARY by hand which sets the GROMACS lib and its depencies (e.g. -DGROMACS_LIBRARY='/path/to/libgmx.so' -DGROMACS_DEP_LIBRARIES='/path/to/libblas.so;/path/to/libm.so') !") - endif(NOT FOUND_GROMACS_VERSION) - check_library_exists("${GROMACS_LIBRARY};${GROMACS_DEP_LIBRARIES}" init_mtop "" FOUND_GROMACS_INIT_MTOP) - if(NOT FOUND_GROMACS_INIT_MTOP) - message(FATAL_ERROR "Could not find init_mtop in the GROMACS library, take look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. This most likely means that your GROMACS version is too old, we need at least GROMACS 4.0.7.") - endif(NOT FOUND_GROMACS_INIT_MTOP) - set(GROMACS_VERSION 40000) - check_library_exists("${GROMACS_LIBRARY};${GROMACS_DEP_LIBRARIES}" output_env_done "" FOUND_GROMACS_OUTPUT_ENV_DONE) - if(FOUND_GROMACS_OUTPUT_ENV_DONE) - set(GROMACS_VERSION 40500) - endif(FOUND_GROMACS_OUTPUT_ENV_DONE) - check_library_exists("${GROMACS_LIBRARY};${GROMACS_DEP_LIBRARIES}" gmx_nonbonded_setup "" FOUND_GROMACS_GMX_NONBONDED_SETUP) - if(FOUND_GROMACS_GMX_NONBONDED_SETUP) - set(GROMACS_VERSION 40600) - endif(FOUND_GROMACS_GMX_NONBONDED_SETUP) - check_library_exists("${GROMACS_LIBRARY};${GROMACS_DEP_LIBRARIES}" init_domdec_vsites "" FOUND_GROMACS_INIT_DOMDEC_VSITES) - if(FOUND_GROMACS_INIT_DOMDEC_VSITES) - set(GROMACS_VERSION 50000) - endif(FOUND_GROMACS_INIT_DOMDEC_VSITES) - set(GROMACS_VERSION ${GROMACS_VERSION} CACHE STRING "GROMACS lib interface version") -else(GROMACS_LIBRARY) - set(GROMACS_VERSION 40500) -endif (GROMACS_LIBRARY) - -math(EXPR GROMACS_MAJOR_VERSION "${GROMACS_VERSION} / 10000") -math(EXPR GROMACS_MINOR_VERSION "${GROMACS_VERSION} / 100 % 100") -math(EXPR GROMACS_PATCH_LEVEL "${GROMACS_VERSION} % 100") -set(GROMACS_VERSION_STRING "${GROMACS_MAJOR_VERSION}.${GROMACS_MINOR_VERSION}.${GROMACS_PATCH_LEVEL}") - -if ("${GROMACS_PKG}" MATCHES "libgmx") - if (${GROMACS_VERSION} EQUAL 40000) - find_path(GROMACS_INCLUDE_DIR tpxio.h HINTS ${PC_GROMACS_INCLUDE_DIRS} @CMAKE_INSTALL_PREFIX@/@INCL_INSTALL_DIR@) - else(${GROMACS_VERSION} EQUAL 40000) - find_path(GROMACS_INCLUDE_DIR gromacs/tpxio.h HINTS ${PC_GROMACS_INCLUDE_DIRS} @CMAKE_INSTALL_PREFIX@/@INCL_INSTALL_DIR@) - endif(${GROMACS_VERSION} EQUAL 40000) -elseif("${GROMACS_PKG}" MATCHES "libgromacs") - find_path(GROMACS_INCLUDE_DIR gromacs/version.h HINTS ${PC_GROMACS_INCLUDE_DIRS} @CMAKE_INSTALL_PREFIX@/@INCL_INSTALL_DIR@) -endif("${GROMACS_PKG}" MATCHES "libgmx") - -set(GROMACS_LIBRARIES "${GROMACS_LIBRARY};${GROMACS_DEP_LIBRARIES}" ) -set(GROMACS_INCLUDE_DIRS ${GROMACS_INCLUDE_DIR} ) -if (PC_GROMACS_INCLUDE_DIRS) - list(APPEND GROMACS_INCLUDE_DIRS ${PC_GROMACS_INCLUDE_DIRS}) -endif(PC_GROMACS_INCLUDE_DIRS) - -if(NOT ${GROMACS_MAJOR_VERSION} LESS 5) - include(CheckIncludeFile) - # Let find_package find the subset of Boost installed with - # GROMACS, by appending the relevant subdirectory, unless - # pkg-config already took care of it. - if(PC_GROMACS_INCLUDE_DIRS) - set(BOOST_INCLUDEDIR ${GROMACS_INCLUDE_DIRS}) - else() - set(BOOST_INCLUDEDIR ${GROMACS_INCLUDE_DIRS}/gromacs/external/boost) - endif() - find_package(Boost 1.44.0 REQUIRED) - if(Boost_FOUND) - list(APPEND GROMACS_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) - else() - message(FATAL_ERROR "Boost not found, compiling the GROMACS template will not work") - endif() -endif() - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set GROMACS_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(GROMACS DEFAULT_MSG GROMACS_LIBRARY GROMACS_INCLUDE_DIR) - -mark_as_advanced(GROMACS_INCLUDE_DIR GROMACS_LIBRARY GROMACS_DEFINITIONS GROMACS_PKG GROMACS_VERSION GROMACS_DEP_LIBRARIES) diff --git a/share/top/gurgle.dat b/share/top/gurgle.dat index 474b5d99de..c6d3fee693 100644 --- a/share/top/gurgle.dat +++ b/share/top/gurgle.dat @@ -1,4 +1,4 @@ -413 +510 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) @@ -397,6 +397,7 @@ Restraint! What possible restraint?_(Joseph Conrad) 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) @@ -412,4 +413,99 @@ In the processing of models we must be especially cautious of the human weakness ... 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) - +Parallel programming is not about elegance!_(Bill Gropp) +In a talk you have a choice: You can make one point or no points._(Paul Sigler) +Where all think alike, no one thinks very much._(Walter Lippmann) +The scientist is not the person who always gives the right answers, he is the one who asks the right questions._(Claude Levi-Strauss) +A curious aspect of the theory of evolution is that everybody thinks he understands it._(Jacques Monod) +When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong._(Arthur C. Clarke) +Energy is a very subtle concept. It is very, very difficult to get right._(Richard Feynman) +The determined Real Programmer can write FORTRAN programs in any language._(Ed Post) +FORTRAN was the language of choice for the same reason that three-legged races are popular._(Ken Thompson) +A computer without COBOL and FORTRAN is like a piece of chocolate cake without ketchup or mustard._(Unix fortune program) +Consistently separating words by spaces became a general custom about the tenth century A.D., and lasted until about 1957, when FORTRAN abandoned the practice._(Sun FORTRAN Reference Manual) +Ludwig Boltzmann, who spent much of his life studying statistical mechanics, died in 1906, by his own hand. Paul Ehrenfest, carrying on the same work, died similarly in 1933. Now it is our turn to study statistical mechanics. Perhaps it will be wise to approach the subject cautiously._(David Goodstein) +It all works because Avogadro's number is closer to infinity than to 10._(Ralph Baierlein) +In this house, we OBEY the laws of thermodynamics!_(Homer Simpson) +We mathematicians are all a bit crazy._(Lev Landau) +There is no such thing as free energy. Anyone who advocates it does not know what he is talking about._(Alireza Haghighat) +In science it often happens that scientists say, 'You know that's a really good argument; my position is mistaken,' and then they would actually change their minds and you never hear that old view from them again. They really do it. It doesn't happen as often as it should, because scientists are human and change is sometimes painful. But it happens every day. I cannot recall the last time something like that happened in politics or religion._(Carl Sagan) +There is nothing new to be discovered in physics now. All that remains is more and more precise measurement._(Lord Kelvin, 1900) +I love fools' experiments. I am always making them._(Charles Darwin) +If you want to save your child from polio, you can pray or you can inoculate... choose science._(Carl Sagan) +Molecular biology is essentially the practice of biochemistry without a license._(Edwin Chargaff) +If at one time or another I have brushed a few colleagues the wrong way, I must apologize: I had not realized that they were covered with fur._(Edwin Chargaff) +It has not escaped our notice that the specific pairing we have postulated immediately suggests a possible copying mechanism for the genetic material._(Watson & Crick) +The researcher's art is first of all to find himself a good boss._(Andre Lwoff) +What about my nose?_(Aneesur Rahman, responding to an Argonne manager arguing the long hair of Charles Bennett in his group was disreputing the lab; Retold by Michael Klein) +Science, my lad, is made up of mistakes, but they are mistakes which it is useful to make, because they lead little by little to the truth._(Jules Verne) +Don't be afraid of hard work. Nothing worthwhile comes easily. Don't let others discourage you or tell you that you can't do it. In my day I was told women didn't go into chemistry. I saw no reason why we couldn't._(Gertrude Elion) +The Nobel Prize is fine, but the drugs I've developed are rewards in themselves._(Gertrude Elion) +...sometimes a scream is better than a thesis._(Ralph Waldo Emerson) +The great tragedy of science - the slaying of a beautiful hypothesis by an ugly fact._(Thomas Henry Huxley) +Dr Pauling, how do you have so many good ideas? Well David, I have a lot of ideas and throw away the bad ones._(Linus Pauling) +I try to identify myself with the atoms... I ask what I would do If I were a carbon atom or a sodium atom._(Linus Pauling) +I admired Bohr very much. We had long talks together, long talks in which Bohr did practically all the talking._(Paul Dirac) +Predictions can be very difficult - especially about the future._(Niels Bohr) +For those who want some proof that physicists are human, the proof is in the idiocy of all the different units which they use for measuring energy._(Richard Feynman) +Dreams seldom materialize on their own._(Dian Fossey) +Above all, don't fear difficult moments. The best comes from them._(Rita Levi-Montalcini) +Our struggle today is not to have a female Einstein get appointed as an assistant professor. It is for a woman schlemiel to get as quickly promoted as a male schlemiel._(Bella Abzug) +I never thought of stopping, and I just hated sleeping. I can't imagine having a better life._(Barbara McClintock) +The farther the experiment is from theory, the closer it is to the Nobel Prize._(Irene Joliot-Curie) +I never see what has been done; I only see what remains to be done._(Marie Curie) +There is no reason for any individual to have a computer in his home._(Ken Olsen, head of Digital Equipment Corp.) +People disagree with me. I just ignore them._(Linus Torvalds on the use of C++ in the kernel) +Beware of bugs in the above code; I have only proved it correct, not tried it._(Donald Knuth) +My greatest contribution to the field of science is that I never entered it._(Colin Powell) +We are perhaps not far removed from the time when we shall be able to submit the bulk of chemical phenomena to calculation._(Joseph Gay-Lussac, 1808) +If mathematical analysis should ever hold a prominent place in chemistry - an aberration which is happily almost impossible - it would occasion a rapid and widespread degeneration of that science._(Aguste Comte, 1830) +Almost without exception, the talented women I have known have believed they had less ability than they actually had. And almost without exception, the talented men I have known believed they had more._(Gregory Petsko) +The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time._(Tom Cargill) +The Internet? We are not interested in it._(Bill Gates, 1993) +Perl: The only language that looks the same before and after RSA encryption._(Keith Bostic) +There are only two things wrong with C++: The initial concept and the implementation._(Bertrand Meyer) +XML is not a language in the sense of a programming language any more than sketches on a napkin are a language._(Charles Simonyi) +It has been discovered that C++ provides a remarkable facility for concealing the trivial details of a program - such as where its bugs are._(David Keppel) +UNIX is basically a simple operating system. It just takes a genius to understand its simplicity._(Dennis Ritchie) +There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence._(Jeremy Anderson) +There are only two kinds of programming languages: those people always bitch about and those nobody uses._(Bjarne Stroustrup) +If Java had true garbage collection, most programs would delete themselves upon execution._(Robert Sewell) +Documentation is like sex: When it's good it's great, and when it's bad it's better than nothing._(Linus Torvalds) +C has the power of assembly language and the convenience of... assembly language._(Dennis Ritchie) +The last good thing written in C was Franz Schubert's Symphony Number 9._(Erwin Dieterich) +User-friendly, adj.: Programmer-hostile._(New Hacker's Dictionary) +First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it's a great symbolic gesture._(Linus Torvalds) +I invented the term 'Object-Oriented', and I can tell you I did not have C++ in mind._(Alay Kay, author of Smalltalk) +FORTRAN, the infantile disorder, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use._(Edsger Dijkstra, 1970) +Do you know what cations don't like? Dog-ions. Do you know what they like? Pie._(Tom Cheatham) +The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka" but "That's funny..."._(Isaac Asimov) +Those people who think they know everything are a great annoyance to those of us who do._(Isaac Asimov) +No great discovery was ever made without a bold guess._(Marie Curie) +Chance favors the prepared mind._(Louis Pasteur) +I love deadlines. I like the whooshing sound they make as they fly by._(Douglas Adams) +Good judgement is the result of experience; experience is the result of bad judgement._(Mark Twain) +No matter how important you are, you are not as important as lunch._(Randy Pausch) +There is just one thing I can promise you about the outer-space program: your tax dollar will go farther._(Wernher von Braun) +Harvard makes mistakes too, you know. Kissinger taught there._(Woody Allen) +Nothing in biology makes sense except in the light of evolution._(Theodosius Dobzhansky) +I have a hunch that the unknown sequences of DNA will decode into copyright notices and patent protections._(Donald Knuth) +It always takes longer than you think even when you take Hofstadter's Law into account._(Hofstadter's Law) +A ship in port is safe, but that is not what ships are for. Sail out to sea and do new things._(Grace Hopper, developer of COBOL) +I was told I'd never make it to VP rank because I was too outspoken. Maybe so, but I think men will always find an excuse for keeping women in their 'place.' So, let's make that place the executive suite and start more of our own companies._(Jean Bartik, ENIAC developer) +If it's a good idea, go ahead and do it. It's much easier to apologize than it is to get permission._(Grace Hopper, developer of COBOL) +This isn't right. This isn't even wrong._(Wolfgang Pauli) +Louis Pasteur's theory of germs is ridicolous fiction._(Pierre Pachet, Professor of Physiology at Toulouse, 1872) +Research ! A mere excuse for idleness; it has never achieved, and will never achieve any results of the slightest value._(Benjamin Jowett, British theologian, 1817-93) +Problems worthy of attack prove their worth by hitting back._(Piet Hein) +You should never bet against anything in science at odds of more than about 10^12 to 1._(Ernest Rutherford) +X-rays will prove to be a hoax._(Lord Kelvin, while president of the Royal Society) +If you're doing I/O, you're doing it wrong!_(Cannada "Drew" Lewis) +The easiest way to scale well is to have bad single-core performance_(Blind Freddie) +Heard a talk introducing a new language called Swift, from a guy named Wozniak, and it had nothing to do with Apple!_(Adam Cadien) +When doing HPC, don't communica_(Jim Demmel) +Today we're not going to optimize our CUDA code, cause that's just a rabbit hole of misery!_(Tim Warburton) +Big Data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it..._(Dan Ariely) +It seems likely that significant software contributions to existing scientific software projects are not likely to be rewarded through the traditional reputation economy of science. Together these factors provide a reason to expect the over-production of independent scientific software packages, and the underproduction of collaborative projects in which later academics build on the work of earlier ones._(Howison & Herbsleb) +On average, it takes twenty years for the world's largest super computer to shrink down to the size of your laptop._(Pete Beckman) +When using an abacus, a human can achieve about 0.1 flops/watt. Super-computers achieve about 2 gigaflops/watt._(John Linford) diff --git a/share/top/residuetypes.dat b/share/top/residuetypes.dat index 22943e384b..173d1bc1ce 100644 --- a/share/top/residuetypes.dat +++ b/share/top/residuetypes.dat @@ -188,7 +188,7 @@ T3H Water K Ion NA Ion CA Ion -MK Ion +MG Ion CL Ion ZN Ion CU1 Ion diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4764df0ac3..a263d4f721 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,6 +43,7 @@ if(GMX_GPU) endif() configure_file(config.h.cmakein config.h) +configure_file(gmxpre-config.h.cmakein gmxpre-config.h) configure_file(buildinfo.h.cmakein buildinfo.h ESCAPE_QUOTES) if (BUILD_TESTING) diff --git a/src/config.h.cmakein b/src/config.h.cmakein index a71fdad597..69e3400264 100644 --- a/src/config.h.cmakein +++ b/src/config.h.cmakein @@ -43,6 +43,7 @@ */ #ifndef GMX_CONFIG_H #define GMX_CONFIG_H + #include "gromacs/utility/gmx_header_config.h" /* TODO: For now, disable Doxygen warnings from here */ @@ -63,12 +64,6 @@ /* Binary directory for the build */ #cmakedefine CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@" -/* Turn off water-water neighborlist optimization only - not used right now */ -#cmakedefine DISABLE_WATERWATER_NLIST - -/* Turn off all water neighborlist optimization - not used right now */ -#cmakedefine DISABLE_WATER_NLIST - /* IEEE754 floating-point format. Memory layout is defined by macros * GMX_IEEE754_BIG_ENDIAN_BYTE_ORDER and GMX_IEEE754_BIG_ENDIAN_WORD_ORDER. */ @@ -95,6 +90,12 @@ /* Target platform is BlueGene/Q */ #cmakedefine GMX_TARGET_BGQ +/** Define if we are building for Cygwin */ +#cmakedefine GMX_CYGWIN + +/** Define if we have sufficient C++11 support */ +#cmakedefine GMX_CXX11 + /* GCC bug in AVX maskload/maskstore arguments - worked around internally */ #cmakedefine GMX_SIMD_X86_AVX_GCC_MASKLOAD_BUG @@ -113,9 +114,21 @@ /* AVX2 256-bit SIMD instruction set level was selected */ #cmakedefine GMX_SIMD_X86_AVX2_256 +/* 32-bit ARM NEON SIMD instruction set level was selected */ +#cmakedefine GMX_SIMD_ARM_NEON + +/* ARM (AArch64) NEON Advanced SIMD instruction set level was selected */ +#cmakedefine GMX_SIMD_ARM_NEON_ASIMD + /* IBM QPX was selected as SIMD instructions (e.g. BlueGene/Q) */ #cmakedefine GMX_SIMD_IBM_QPX +/* IBM VMX was selected as SIMD instructions (Power 6 and later) */ +#cmakedefine GMX_SIMD_IBM_VMX + +/* IBM VSX was selected as SIMD instructions (Power 7 and later) */ +#cmakedefine GMX_SIMD_IBM_VSX + /* Fujitsu Sparc64 HPC-ACE SIMD acceleration */ #cmakedefine GMX_SIMD_SPARC64_HPC_ACE @@ -199,7 +212,10 @@ #cmakedefine TMPI_ATOMICS /* Define for busy wait option */ +/* See gmxpre-config.h.cmakein for explanation for the #ifdef */ +#ifndef TMPI_WAIT_FOR_NO_ONE #cmakedefine TMPI_WAIT_FOR_NO_ONE +#endif /* Define for copy buffer option */ #cmakedefine TMPI_COPY_BUFFER @@ -327,27 +343,9 @@ /* Define if SIGUSR1 is present */ #cmakedefine HAVE_SIGUSR1 -/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ -#cmakedefine _LARGEFILE_SOURCE - -/* Define for large files, on AIX-style hosts. */ -#cmakedefine _LARGE_FILES - -/* Some systems requires this to be set to 64 for large file support */ -#cmakedefine _FILE_OFFSET_BITS @_FILE_OFFSET_BITS@ - -/* Build special-purpose mdrun library */ -#cmakedefine GMX_FAHCORE - /* Enable gromacs quotes */ #cmakedefine GMX_COOL_QUOTES -#ifdef GMX_FAHCORE -#define FULLINDIRECT 1 -#define USE_FAH_XDR 1 -#include "swindirect.h" -#endif - /* default name mangling maybe wrong on exotic plattforms */ #define F77_FUNC(name,NAME) name ## _ @@ -357,6 +355,6 @@ /* Define if we have zlib */ #cmakedefine HAVE_ZLIB -#endif - /*! \endcond */ + +#endif diff --git a/src/contrib/anaf.c b/src/contrib/anaf.c index c71140f3b9..8267fea6b0 100644 --- a/src/contrib/anaf.c +++ b/src/contrib/anaf.c @@ -39,14 +39,13 @@ #include #include #include -#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" @@ -54,7 +53,7 @@ #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" }; @@ -138,9 +137,9 @@ static void list_trn(char *fn) int main(int argc,char *argv[]) { static char *desc[] = { - "[TT]gmxdump[tt] reads a run input file ([TT].tpa[tt]/[TT].tpr[tt]/[TT].tpb[tt]),", - "a trajectory ([TT].trj[tt]/[TT].trr[tt]/[TT].xtc[tt]) or an energy", - "file ([TT].ene[tt]/[TT].edr[tt]) and prints that to standard", + "[TT]gmxdump[tt] reads a run input file ([TT].tpr[tt]),", + "a trajectory ([TT].trr[tt]/[TT].xtc[tt]) or an energy", + "file ([TT].edr[tt]) and prints that to standard", "output in a readable format. This program is essential for", "checking your run input file in case of problems.[PAR]" }; diff --git a/src/contrib/calcfdev.c b/src/contrib/calcfdev.c index 371156f7ee..ac2066f058 100644 --- a/src/contrib/calcfdev.c +++ b/src/contrib/calcfdev.c @@ -37,8 +37,7 @@ #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[]) diff --git a/src/contrib/compnl.c b/src/contrib/compnl.c index 923319e4e3..0f1e4e4d83 100644 --- a/src/contrib/compnl.c +++ b/src/contrib/compnl.c @@ -39,13 +39,13 @@ #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[]) { diff --git a/src/contrib/do_multiprot.c b/src/contrib/do_multiprot.c index 23459e1c55..80474afb71 100644 --- a/src/contrib/do_multiprot.c +++ b/src/contrib/do_multiprot.c @@ -39,23 +39,20 @@ #include #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" @@ -226,7 +223,7 @@ int main(int argc,char *argv[]) #define NFILE asize(fnm) CopyRight(stderr,argv[0]); - parse_common_args(&argc,argv,PCA_CAN_TIME | PCA_CAN_VIEW | PCA_TIME_UNIT | PCA_BE_NICE , + parse_common_args(&argc,argv,PCA_CAN_TIME | PCA_CAN_VIEW | PCA_TIME_UNIT, NFILE,fnm, asize(pa),pa, asize(desc),desc, asize(bugs),bugs,&oenv ); @@ -350,9 +347,6 @@ int main(int argc,char *argv[]) out=gmx_ffopen(TrjoutFile,filemode); break; } - if (outftp == efG87) - fprintf(gmx_fio_getfp(trx_get_fileio(trxout)),"Generated by %s. #atoms=%d, a BOX is" - " stored in this file.\n",ShortProgram(),nout); } if (natoms > atoms->nr) { diff --git a/src/contrib/do_shift.c b/src/contrib/do_shift.c index 5bea7c5fea..fce2869ebb 100644 --- a/src/contrib/do_shift.c +++ b/src/contrib/do_shift.c @@ -38,19 +38,17 @@ #include #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) @@ -121,7 +119,7 @@ int main(int argc,char *argv[]) #define NFILE asize(fnm) CopyRight(stdout,argv[0]); - parse_common_args(&argc,argv,PCA_CAN_TIME | PCA_BE_NICE ,NFILE,fnm, + parse_common_args(&argc,argv,PCA_CAN_TIME,NFILE,fnm, asize(pa),pa,asize(desc),desc,asize(bugs),bugs); top=read_top(ftp2fn(efTPX,NFILE,fnm)); diff --git a/src/contrib/ehanal.c b/src/contrib/ehanal.c index bd625ce29b..31c6870bb8 100644 --- a/src/contrib/ehanal.c +++ b/src/contrib/ehanal.c @@ -42,13 +42,13 @@ #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" diff --git a/src/contrib/ehdata.c b/src/contrib/ehdata.c index f0f5d2c85e..4bc06da790 100644 --- a/src/contrib/ehdata.c +++ b/src/contrib/ehdata.c @@ -41,11 +41,10 @@ #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 { diff --git a/src/contrib/ehole.c b/src/contrib/ehole.c index 39ac52b22e..d5510ecb5d 100644 --- a/src/contrib/ehole.c +++ b/src/contrib/ehole.c @@ -44,13 +44,12 @@ #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" @@ -673,7 +672,7 @@ int main(int argc,char *argv[]) int seed; CopyRight(stdout,argv[0]); - parse_common_args(&argc,argv,PCA_BE_NICE,NFILE,fnm, + parse_common_args(&argc,argv,0,NFILE,fnm, NPA,pa,asize(desc),desc,0,NULL); please_cite(stdout,"Timneanu2004a"); diff --git a/src/contrib/g_anavel.c b/src/contrib/g_anavel.c index 175b95cce4..5646ab9a86 100644 --- a/src/contrib/g_anavel.c +++ b/src/contrib/g_anavel.c @@ -36,19 +36,16 @@ #include #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[]) @@ -94,7 +91,7 @@ int main(int argc,char *argv[]) CopyRight(stderr,argv[0]); - parse_common_args(&argc,argv,PCA_CAN_TIME | PCA_BE_NICE ,NFILE,fnm, + parse_common_args(&argc,argv,PCA_CAN_TIME,NFILE,fnm, asize(pa),pa,asize(desc),desc,0,NULL); top = read_top(ftp2fn(efTPX,NFILE,fnm)); diff --git a/src/contrib/gen_table.c b/src/contrib/gen_table.c index a0942f7cb8..6c8f1bc7fa 100644 --- a/src/contrib/gen_table.c +++ b/src/contrib/gen_table.c @@ -39,7 +39,7 @@ #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" @@ -759,7 +759,7 @@ int main(int argc,char *argv[]) int eel=0,m=0; CopyRight(stderr,argv[0]); - parse_common_args(&argc,argv,PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + parse_common_args(&argc,argv,PCA_CAN_VIEW | PCA_CAN_TIME, NFILE,fnm,NPA,pa,asize(desc),desc,0,NULL); if (strcmp(opt[0],"cut") == 0) diff --git a/src/contrib/gmx_sdf.c b/src/contrib/gmx_sdf.c index 03bbf17d5c..6950dd02d0 100644 --- a/src/contrib/gmx_sdf.c +++ b/src/contrib/gmx_sdf.c @@ -20,22 +20,20 @@ #include -#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 @@ -723,7 +721,7 @@ int gmx_sdf(int argc,char *argv[]) #define NFILE asize(fnm) CopyRight(stderr,argv[0]); - parse_common_args(&argc,argv,PCA_CAN_TIME | PCA_BE_NICE, + parse_common_args(&argc,argv,PCA_CAN_TIME, NFILE,fnm,NPA,pa,asize(desc),desc,0,NULL,&oenv); diff --git a/src/contrib/gmx_stats_test.c b/src/contrib/gmx_stats_test.c index 1896bd00a6..e9091879bf 100644 --- a/src/contrib/gmx_stats_test.c +++ b/src/contrib/gmx_stats_test.c @@ -1,7 +1,7 @@ #include #include "typedefs.h" #include "gromacs/utility/smalloc.h" -#include "vec.h" +#include "gromacs/math/vec.h" #include "gmx_random.h" #include "gmx_statistics.h" diff --git a/src/contrib/hexamer.c b/src/contrib/hexamer.c index 986044be95..bd477eb91b 100644 --- a/src/contrib/hexamer.c +++ b/src/contrib/hexamer.c @@ -41,18 +41,15 @@ #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[]) diff --git a/src/contrib/hrefify.c b/src/contrib/hrefify.c index 315fc5e6ca..6fc113b603 100644 --- a/src/contrib/hrefify.c +++ b/src/contrib/hrefify.c @@ -44,7 +44,7 @@ #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" diff --git a/src/contrib/mkice.c b/src/contrib/mkice.c index 91fb0657ab..a60b847cdd 100644 --- a/src/contrib/mkice.c +++ b/src/contrib/mkice.c @@ -41,19 +41,18 @@ #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 diff --git a/src/contrib/test.c b/src/contrib/test.c index 3bea84f5d9..865f4b8b47 100644 --- a/src/contrib/test.c +++ b/src/contrib/test.c @@ -41,18 +41,17 @@ #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) diff --git a/src/contrib/test_fatal.c b/src/contrib/test_fatal.c index b2e52fe23d..c7f2849314 100644 --- a/src/contrib/test_fatal.c +++ b/src/contrib/test_fatal.c @@ -1,4 +1,4 @@ -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" void my_func(char *msg) { diff --git a/src/contrib/testfft.c b/src/contrib/testfft.c index b97146db75..1f2f4936ac 100644 --- a/src/contrib/testfft.c +++ b/src/contrib/testfft.c @@ -37,7 +37,7 @@ #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" diff --git a/src/contrib/testlr.c b/src/contrib/testlr.c index 247a7cd853..f470e974c2 100644 --- a/src/contrib/testlr.c +++ b/src/contrib/testlr.c @@ -35,8 +35,8 @@ #include #include #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" @@ -44,15 +44,12 @@ #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" diff --git a/src/contrib/timefft.c b/src/contrib/timefft.c index 017604b615..88811810af 100644 --- a/src/contrib/timefft.c +++ b/src/contrib/timefft.c @@ -39,7 +39,7 @@ #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" @@ -87,8 +87,7 @@ int main(int argc,char *argv[]) cr = init_par(&argc,&argv); if (MASTER(cr)) CopyRight(stdout,argv[0]); - parse_common_args(&argc,argv, - PCA_CAN_SET_DEFFNM | (MASTER(cr) ? 0 : PCA_QUIET), + parse_common_args(&argc,argv, PCA_CAN_SET_DEFFNM, NFILE,fnm,asize(pa),pa,0,NULL,0,NULL); gmx_log_open(ftp2fn(efLOG,NFILE,fnm),cr,1,0,&fplog); diff --git a/src/external/.gitattributes b/src/external/.gitattributes index ad2a03b0bb..24cfcc74ca 100644 --- a/src/external/.gitattributes +++ b/src/external/.gitattributes @@ -1,2 +1,4 @@ -* !filter +# Only recent versions of git support pattern matching rules that would allow +# the first to be conveniently specified in the main .gitattributes file. +* -filter -gmx-doxygen gmock-1.7.0/CMakeLists.txt filter=copyright diff --git a/src/external/Random123-1.08/include/Random123/features/compilerfeatures.h b/src/external/Random123-1.08/include/Random123/features/compilerfeatures.h index 3468b659a5..f5f110209d 100644 --- a/src/external/Random123-1.08/include/Random123/features/compilerfeatures.h +++ b/src/external/Random123-1.08/include/Random123/features/compilerfeatures.h @@ -35,7 +35,7 @@ #include -#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/utility/basedefinitions.h" /* We only use the C interface of ThreeFry and r123array2x64. This file is a replacment for the original from the Random123 distribution. It sets all @@ -49,7 +49,7 @@ /* For "inline" use the Gromacs own gmx_inline */ #define R123_STATIC_INLINE static gmx_inline /* force_inline isn't used in Gromacs - if it matters for a compiler it probably - not only matters here and should be defined in simple.h */ + not only matters here and should be defined in basedefinitions.h */ #define R123_FORCE_INLINE(decl) decl /* We assume in Gromacs that assert is available outside of Cuda */ #define R123_ASSERT assert diff --git a/src/external/fftpack/fftpack.h b/src/external/fftpack/fftpack.h index bb9b86d014..3df5b7a3f8 100644 --- a/src/external/fftpack/fftpack.h +++ b/src/external/fftpack/fftpack.h @@ -33,11 +33,11 @@ ************************************************************/ -#include "types/simple.h" - #ifndef _fftpack_h #define _fftpack_h +#include "gromacs/utility/real.h" + #ifdef __cplusplus extern "C" { #endif @@ -53,4 +53,5 @@ extern "C" { #ifdef __cplusplus } #endif + #endif diff --git a/src/external/gmock-1.7.0/CMakeLists.txt b/src/external/gmock-1.7.0/CMakeLists.txt index d0552fb3f9..c9404bf48b 100644 --- a/src/external/gmock-1.7.0/CMakeLists.txt +++ b/src/external/gmock-1.7.0/CMakeLists.txt @@ -37,8 +37,6 @@ include(gmxGetGmockTupleWorkaround) get_gmock_tuple_workaround(GMOCK_COMPILE_DEFINITIONS) -set(GMOCK_COMPILE_DEFINITIONS "_GNU_SOURCE=1;${GMOCK_COMPILE_DEFINITIONS}") -set(GMOCK_COMPILE_DEFINITIONS ${GMOCK_COMPILE_DEFINITIONS} PARENT_SCOPE) # GTest/GMock suggest linking with pthreads when available for thread safety set(CMAKE_THREAD_PREFER_PTHREAD 1) @@ -68,9 +66,11 @@ if (HAS_NO_UNUSED_VARIABLE) endif() add_library(gmock STATIC ${UNITTEST_TARGET_OPTIONS} ${GMOCK_SOURCES} ${GTEST_SOURCES}) -set_property(TARGET gmock APPEND PROPERTY COMPILE_DEFINITIONS "${GMOCK_COMPILE_DEFINITIONS}") +set_property(TARGET gmock APPEND PROPERTY COMPILE_DEFINITIONS + "_GNU_SOURCE=1;${GMOCK_COMPILE_DEFINITIONS}") set(GMOCK_LIBRARIES gmock ${PTHREADS_LIBRARIES} PARENT_SCOPE) set(GTEST_LIBRARIES ${GMOCK_LIBRARIES} PARENT_SCOPE) set(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIRS} PARENT_SCOPE) set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} PARENT_SCOPE) +set(GMOCK_COMPILE_DEFINITIONS ${GMOCK_COMPILE_DEFINITIONS} PARENT_SCOPE) diff --git a/src/external/thread_mpi/include/thread_mpi/mpi_bindings.h b/src/external/thread_mpi/include/thread_mpi/mpi_bindings.h index 419ffb64a2..f4cf02b943 100644 --- a/src/external/thread_mpi/include/thread_mpi/mpi_bindings.h +++ b/src/external/thread_mpi/include/thread_mpi/mpi_bindings.h @@ -38,6 +38,8 @@ #ifndef TMPI_MPI_BINDINGS_H_ #define TMPI_MPI_BINDINGS_H_ +#include "tmpi.h" + /** \file \brief MPI bindings for thread_mpi/tmpi.h diff --git a/src/external/thread_mpi/src/pthreads.c b/src/external/thread_mpi/src/pthreads.c index 3aee9c52e5..0c34919e75 100644 --- a/src/external/thread_mpi/src/pthreads.c +++ b/src/external/thread_mpi/src/pthreads.c @@ -372,8 +372,9 @@ int tMPI_Thread_setaffinity_single(tMPI_Thread_t tmpi_unused thread, CPU_ZERO(&set); CPU_SET(nr, &set); return pthread_setaffinity_np(thread->th, sizeof(set), &set); -#endif +#else return 0; +#endif } diff --git a/src/external/tng_io/include/tng/tng_io.h b/src/external/tng_io/include/tng/tng_io.h index 51c1d9b593..c607aad2c5 100644 --- a/src/external/tng_io/include/tng/tng_io.h +++ b/src/external/tng_io/include/tng/tng_io.h @@ -331,6 +331,9 @@ typedef unsigned __int64 uint64_t; #ifndef PRId64 # define PRId64 __PRI64_PREFIX "d" #endif +#ifndef PRIu64 +# define PRIu64 __PRI64_PREFIX "u" +#endif #endif diff --git a/src/external/tng_io/src/lib/md5.c b/src/external/tng_io/src/lib/md5.c index f6a2391635..774c0f6841 100644 --- a/src/external/tng_io/src/lib/md5.c +++ b/src/external/tng_io/src/lib/md5.c @@ -165,7 +165,6 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) #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 diff --git a/src/external/tng_io/src/lib/tng_io.c b/src/external/tng_io/src/lib/tng_io.c index 074b781317..7702d23846 100644 --- a/src/external/tng_io/src/lib/tng_io.c +++ b/src/external/tng_io/src/lib/tng_io.c @@ -3222,7 +3222,7 @@ static tng_function_status tng_molecules_block_read sizeof(struct tng_molecule)); if(!tng_data->molecules) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", tng_data->n_molecules * sizeof(struct tng_molecule), __FILE__, __LINE__); return(TNG_CRITICAL); @@ -3238,7 +3238,7 @@ static tng_function_status tng_molecules_block_read tng_data->n_molecules); if(!tng_data->molecule_cnt_list) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", tng_data->n_molecules * sizeof(struct tng_molecule), __FILE__, __LINE__); return(TNG_CRITICAL); @@ -3354,7 +3354,7 @@ static tng_function_status tng_molecules_block_read sizeof(struct tng_chain)); if(!molecule->chains) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", molecule->n_chains * sizeof(struct tng_chain), __FILE__, __LINE__); return(TNG_CRITICAL); @@ -3373,7 +3373,7 @@ static tng_function_status tng_molecules_block_read sizeof(struct tng_residue)); if(!molecule->residues) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", molecule->n_residues * sizeof(struct tng_residue), __FILE__, __LINE__); if(molecule->chains) @@ -3395,7 +3395,7 @@ static tng_function_status tng_molecules_block_read sizeof(struct tng_atom)); if(!molecule->atoms) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", molecule->n_atoms * sizeof(struct tng_atom), __FILE__, __LINE__); if(molecule->chains) @@ -3503,7 +3503,7 @@ static tng_function_status tng_molecules_block_read sizeof(struct tng_bond)); if(!molecule->bonds) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", molecule->n_bonds * sizeof(struct tng_bond), __FILE__, __LINE__); if(molecule->chains) @@ -3997,7 +3997,7 @@ static tng_function_status tng_frame_set_block_read if(!frame_set->molecule_cnt_list) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * tng_data->n_molecules, __FILE__, __LINE__); return(TNG_CRITICAL); @@ -4199,7 +4199,7 @@ static tng_function_status tng_frame_set_block_write temp_name = realloc(block->name, name_len + 1); if(!temp_name) { - fprintf(stderr, "TNG library: Cannot allocate memory (%d bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%u bytes). %s: %d\n", name_len+1, __FILE__, __LINE__); free(block->name); block->name = 0; @@ -4538,7 +4538,7 @@ static tng_function_status tng_trajectory_mapping_block_read sizeof(int64_t)); if(!mapping->real_particle_numbers) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", mapping->n_particles * sizeof(int64_t), __FILE__, __LINE__); return(TNG_CRITICAL); } @@ -4614,7 +4614,7 @@ static tng_function_status tng_trajectory_mapping_block_write temp_name = realloc(block->name, name_len + 1); if(!temp_name) { - fprintf(stderr, "TNG library: Cannot allocate memory (%d bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%u bytes). %s: %d\n", name_len+1, __FILE__, __LINE__); free(block->name); block->name = 0; @@ -5190,7 +5190,7 @@ static tng_function_status tng_gzip_compress(tng_trajectory_t tng_data, dest = malloc(max_len); if(!dest) { - fprintf(stderr, "TNG library: Cannot allocate memory (%ld bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%lu bytes). %s: %d\n", max_len, __FILE__, __LINE__); return(TNG_CRITICAL); } @@ -5365,7 +5365,7 @@ static tng_function_status tng_allocate_particle_data_mem n_particles); if(!data->strings[i]) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(union data_values *) * n_particles, __FILE__, __LINE__); return(TNG_CRITICAL); @@ -5376,7 +5376,7 @@ static tng_function_status tng_allocate_particle_data_mem n_values_per_frame); if(!data->strings[i][j]) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(union data_values) * n_values_per_frame, __FILE__, __LINE__); return(TNG_CRITICAL); @@ -6907,7 +6907,7 @@ static tng_function_status tng_data_block_write(tng_trajectory_t tng_data, temp_name = realloc(block->name, len); if(!temp_name) { - fprintf(stderr, "TNG library: Cannot allocate memory (%d bytes). %s: %d\n", len+1, + fprintf(stderr, "TNG library: Cannot allocate memory (%u bytes). %s: %d\n", len+1, __FILE__, __LINE__); free(block->name); block->name = 0; @@ -8009,7 +8009,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_w_id_add if(!new_molecules) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_molecule) * (tng_data->n_molecules + 1), __FILE__, __LINE__); free(tng_data->molecules); @@ -8023,7 +8023,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_w_id_add if(!new_molecule_cnt_list) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * (tng_data->n_molecules + 1), __FILE__, __LINE__); free(tng_data->molecule_cnt_list); @@ -8075,7 +8075,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_existing_add if(!new_molecules) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_molecule) * (tng_data->n_molecules + 1), __FILE__, __LINE__); free(tng_data->molecules); @@ -8089,7 +8089,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_existing_add if(!new_molecule_cnt_list) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * (tng_data->n_molecules + 1), __FILE__, __LINE__); free(tng_data->molecule_cnt_list); @@ -8320,7 +8320,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_system_copy(tng_trajectory_t sizeof(struct tng_molecule) * tng_data_src->n_molecules); if(!molecule_temp) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_molecule) * tng_data_src->n_molecules, __FILE__, __LINE__); free(tng_data_dest->molecules); @@ -8331,7 +8331,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_system_copy(tng_trajectory_t sizeof(int64_t) * tng_data_src->n_molecules); if(!list_temp) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * tng_data_src->n_molecules, __FILE__, __LINE__); free(tng_data_dest->molecule_cnt_list); @@ -8401,7 +8401,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_system_copy(tng_trajectory_t molecule->n_bonds); if(!bond_temp) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_bond) * molecule->n_bonds, __FILE__, __LINE__); free(molecule_temp->bonds); @@ -8601,7 +8601,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_chain_w_id_add if(!new_chains) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_chain) * (molecule->n_chains + 1), __FILE__, __LINE__); free(molecule->chains); @@ -8642,7 +8642,7 @@ tng_function_status DECLSPECDLLEXPORT tng_molecule_bond_add if(!new_bonds) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_bond) * (molecule->n_bonds + 1), __FILE__, __LINE__); *bond = 0; @@ -8867,7 +8867,7 @@ tng_function_status DECLSPECDLLEXPORT tng_chain_residue_w_id_add if(!new_residues) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_residue) * (molecule->n_residues + 1), __FILE__, __LINE__); free(molecule->residues); @@ -9079,7 +9079,7 @@ tng_function_status DECLSPECDLLEXPORT tng_residue_atom_w_id_add if(!new_atoms) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_atom) * (molecule->n_atoms + 1), __FILE__, __LINE__); free(molecule->atoms); @@ -9343,14 +9343,14 @@ tng_function_status DECLSPECDLLEXPORT tng_molsystem_bonds_get *from_atoms = malloc(sizeof(int64_t) * (*n_bonds)); if(!*from_atoms) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * (*n_bonds), __FILE__, __LINE__); return(TNG_CRITICAL); } *to_atoms = malloc(sizeof(int64_t) * (*n_bonds)); if(!*to_atoms) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * (*n_bonds), __FILE__, __LINE__); free(*from_atoms); *from_atoms = 0; @@ -9732,7 +9732,7 @@ tng_function_status DECLSPECDLLEXPORT tng_particle_mapping_add if(!mapping) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(struct tng_particle_mapping)*frame_set->n_mapping_blocks, __FILE__, __LINE__); free(frame_set->mappings); @@ -9747,7 +9747,7 @@ tng_function_status DECLSPECDLLEXPORT tng_particle_mapping_add frame_set->mappings[frame_set->n_mapping_blocks - 1].real_particle_numbers = malloc(sizeof(int64_t) * n_particles); if(!frame_set->mappings[frame_set->n_mapping_blocks - 1].real_particle_numbers) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * n_particles, __FILE__, __LINE__); return(TNG_CRITICAL); } @@ -15113,7 +15113,7 @@ static tng_function_status tng_data_values_alloc *values = malloc(sizeof(union data_values *) * n_frames); if(!*values) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(union data_values **) * n_frames, __FILE__, __LINE__); return(TNG_CRITICAL); @@ -15126,7 +15126,7 @@ static tng_function_status tng_data_values_alloc n_values_per_frame); if(!(*values)[i]) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(union data_values) * n_values_per_frame, __FILE__, __LINE__); free(values); @@ -15207,7 +15207,7 @@ static tng_function_status tng_particle_data_values_alloc *values = malloc(sizeof(union data_values **) * n_frames); if(!*values) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(union data_values **) * n_frames, __FILE__, __LINE__); return(TNG_CRITICAL); @@ -15220,7 +15220,7 @@ static tng_function_status tng_particle_data_values_alloc n_particles); if(!(*values)[i]) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(union data_values *) * n_particles, __FILE__, __LINE__); free(*values); @@ -15233,7 +15233,7 @@ static tng_function_status tng_particle_data_values_alloc n_values_per_frame); if(!(*values)[i][j]) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(union data_values *) * n_particles, __FILE__, __LINE__); tng_particle_data_values_free(tng_data, *values, n_frames, @@ -19163,7 +19163,7 @@ tng_function_status DECLSPECDLLEXPORT tng_util_trajectory_next_frame_present_dat temp = realloc(*data_block_ids_in_next_frame, size); if(!temp) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * (*n_data_blocks_in_next_frame), __FILE__, __LINE__); free(*data_block_ids_in_next_frame); @@ -19305,7 +19305,7 @@ tng_function_status DECLSPECDLLEXPORT tng_util_trajectory_next_frame_present_dat temp = realloc(*data_block_ids_in_next_frame, size); if(!temp) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * (*n_data_blocks_in_next_frame), __FILE__, __LINE__); free(*data_block_ids_in_next_frame); @@ -19392,7 +19392,7 @@ tng_function_status DECLSPECDLLEXPORT tng_util_trajectory_next_frame_present_dat temp = realloc(*data_block_ids_in_next_frame, size); if(!temp) { - fprintf(stderr, "TNG library: Cannot allocate memory (%"PRId64" bytes). %s: %d\n", + fprintf(stderr, "TNG library: Cannot allocate memory (%"PRIu64" bytes). %s: %d\n", sizeof(int64_t) * (*n_data_blocks_in_next_frame), __FILE__, __LINE__); free(*data_block_ids_in_next_frame); diff --git a/src/gromacs/legacyheaders/gmx_fatal_collective.h b/src/gmxpre-config.h.cmakein similarity index 58% rename from src/gromacs/legacyheaders/gmx_fatal_collective.h rename to src/gmxpre-config.h.cmakein index c7e59575a5..2f840259d0 100644 --- a/src/gromacs/legacyheaders/gmx_fatal_collective.h +++ b/src/gmxpre-config.h.cmakein @@ -1,9 +1,7 @@ /* * 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 + * 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. @@ -34,34 +32,36 @@ * 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 + * Configuration macros from the build system for gmxpre.h. + * + * This header is an internal implementation detail of gmxpre.h, and should not + * be included from anywhere else. + * + * \see gmxpre.h + */ -#ifndef _fatal_collective_h -#define _fatal_collective_h - -#include "typedefs.h" - -#ifdef __cplusplus -extern "C" { -#endif +/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ +#cmakedefine _LARGEFILE_SOURCE +/* Define for large files, on AIX-style hosts. */ +#cmakedefine _LARGE_FILES -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. - */ +/* Some systems requires this to be set to 64 for large file support */ +#cmakedefine _FILE_OFFSET_BITS @_FILE_OFFSET_BITS@ +/* Build special-purpose mdrun library */ +#cmakedefine GMX_FAHCORE -#ifdef __cplusplus -} -#endif +/* This is here for simplicity, since the layout for some thread-MPI structs + * declared in headers depend on this being consistently defined. + * But thread-MPI itself does not include gmxpre.h, so the same define is also + * set in config.h (which gets included by thread-MPI, but only in the source + * files). There are some other config.h defines that appear in thread-MPI + * headers, but currently Gromacs does not use any code that would depend on + * those, and for thread-MPI, config.h provides the definitions wherever + * required. */ +/* Define for busy wait option */ +#cmakedefine TMPI_WAIT_FOR_NO_ONE -#endif /* _fatal_collective_h */ diff --git a/src/gmxpre.h b/src/gmxpre.h new file mode 100644 index 0000000000..0573e37a11 --- /dev/null +++ b/src/gmxpre.h @@ -0,0 +1,93 @@ +/* + * 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 + * Prerequisite header file for \Gromacs build. + * + * This header should be included as the first header in all source files, but + * not in header files. It is intended to contain definitions that must appear + * before any other code to work properly (e.g., macro definitions that + * influence behavior of system headers). This frees other code from include + * order dependencies that may raise from requirements of getting these + * definitions from some header. + * + * The definitions here should be kept to a minimum, and should be as static as + * possible (typically not change as a result of user choices in the build + * system), as any change will trigger a full rebuild. Avoid including any + * actual headers to not hide problems with include-what-you-use, and to keep + * build times to a minimum. Also, installer headers should avoid relying on + * the definitions from here (if possible), as this header will not be + * available to the user. + * + * \inlibraryapi + */ +//! \cond +#ifdef HAVE_CONFIG_H +#include "gmxpre-config.h" +#endif + +/* We use a few GNU functions for thread affinity and other low-level stuff. + * However, all such uses should be accompanied by #ifdefs and a feature test + * at CMake level, so that the actual uses will be compiled only when available. + * But since the define affects system headers, it should be defined before + * including any system headers, and this is a robust location to do that. + * If this were defined only in source files that needed it, it would clutter + * the list of includes somewhere close to the beginning and make automatic + * sorting of the includes more difficult. + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#endif + +/* Some C++(?) compilers require these to be defined to get the integer limits + * and format specifier macros from stdint.h and inttypes.h, respectively. + * The macros are in C99 and C++11, but not in C++98... + * As with _GNU_SOURCE, these need to be defined before these headers get first + * included. Unlike _GNU_SOURCE, these headers are included indirectly in most + * header and source files (even though the macros are not used that often), so + * there is no easy alternative to defining them here, either. + * If someone happens to use such a compiler to compile against the installed + * Gromacs headers, they need for now take care to define the macros themselves + * (as there is no way Gromacs can do that consistently). + */ +#define __STDC_LIMIT_MACROS +#define __STDC_FORMAT_MACROS + +#ifdef GMX_FAHCORE +#define FULLINDIRECT 1 +#define USE_FAH_XDR 1 +#include "swindirect.h" +#endif +//! \endcond diff --git a/src/gromacs/CMakeLists.txt b/src/gromacs/CMakeLists.txt index 6db37e2402..56022c0987 100644 --- a/src/gromacs/CMakeLists.txt +++ b/src/gromacs/CMakeLists.txt @@ -77,6 +77,7 @@ endif() add_subdirectory(gmxlib) add_subdirectory(mdlib) add_subdirectory(gmxpreprocess) +add_subdirectory(listed-forces) add_subdirectory(commandline) add_subdirectory(fft) add_subdirectory(linearalgebra) @@ -84,7 +85,9 @@ add_subdirectory(math) 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) @@ -114,50 +117,43 @@ list(APPEND LIBGROMACS_SOURCES ${GMXLIB_SOURCES} ${MDLIB_SOURCES}) tmpi_get_source_list(THREAD_MPI_SOURCES ${CMAKE_SOURCE_DIR}/src/external/thread_mpi/src) list(APPEND LIBGROMACS_SOURCES ${THREAD_MPI_SOURCES}) -file(GLOB LIBGROMACS_HEADERS *.h) +set(LIBGROMACS_HEADERS + analysisdata.h + commandline.h + options.h + selection.h + trajectoryanalysis.h + utility.h) configure_file(version.h.cmakein version.h) gmx_install_headers("" ${LIBGROMACS_HEADERS}) gmx_install_headers("" ${CMAKE_CURRENT_BINARY_DIR}/version.h) -# Add target that generates baseversion-gen.c every time make is run -# if git version info is requested, or create it statically. -# This code is here instead of utility/CMakeLists.txt because CMake -# ignores set_source_file_properties from subdirectories. -set(GENERATED_VERSION_FILE - ${CMAKE_CURRENT_BINARY_DIR}/utility/baseversion-gen.c) -set(GENERATED_VERSION_FILE_SOURCE - ${CMAKE_CURRENT_SOURCE_DIR}/utility/baseversion-gen.c.cmakein) -if (GMX_GIT_VERSION_INFO) - add_custom_target(gmx-version ALL - COMMAND ${CMAKE_COMMAND} - -D GIT_EXECUTABLE="${GIT_EXECUTABLE}" - -D PROJECT_VERSION="${PROJECT_VERSION}" - -D PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}" - -D VERSION_CMAKEIN=${GENERATED_VERSION_FILE_SOURCE} - -D VERSION_OUT=${GENERATED_VERSION_FILE} - -P ${CMAKE_SOURCE_DIR}/cmake/gmxGenerateVersionInfo.cmake - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${GENERATED_VERSION_FILE_SOURCE} - COMMENT "Generating git version information") - set_source_files_properties(${GENERATED_VERSION_FILE} - PROPERTIES GENERATED true) -else() - set(GMX_PROJECT_VERSION_STR ${PROJECT_VERSION}) - configure_file(${GENERATED_VERSION_FILE_SOURCE} ${GENERATED_VERSION_FILE}) -endif() +# This code is here instead of utility/CMakeLists.txt, because CMake +# custom commands and source file properties can only be set in the directory +# that contains the target that uses them. +# TODO: Generate a header instead that can be included from baseversion.c. +# That probably simplifies things somewhat. +set(GENERATED_VERSION_FILE utility/baseversion-gen.c) +gmx_configure_version_file( + utility/baseversion-gen.c.cmakein ${GENERATED_VERSION_FILE} + REMOTE_HASH SOURCE_FILE) list(APPEND LIBGROMACS_SOURCES ${GENERATED_VERSION_FILE}) # apply gcc 4.4.x bug workaround if(GMX_USE_GCC44_BUG_WORKAROUND) include(gmxGCC44O3BugWorkaround) - gmx_apply_gcc44_bug_workaround("gmxlib/bondfree.c") + gmx_apply_gcc44_bug_workaround("listed-forces/bonded.cpp") gmx_apply_gcc44_bug_workaround("mdlib/force.c") gmx_apply_gcc44_bug_workaround("mdlib/constr.c") endif() -add_library(libgromacs ${LIBGROMACS_SOURCES}) -if (GMX_GIT_VERSION_INFO) - add_dependencies(libgromacs gmx-version) +if (GMX_GPU) + cuda_add_library(libgromacs ${LIBGROMACS_SOURCES} + OPTIONS + RELWITHDEBINFO -g + DEBUG -g -D_DEBUG_=1) +else() + add_library(libgromacs ${LIBGROMACS_SOURCES}) endif() # Recent versions of gcc and clang give warnings on scanner.cpp, which @@ -184,7 +180,6 @@ set_source_files_properties(selection/scanner.cpp PROPERTIES COMPILE_FLAGS "${_s target_link_libraries(libgromacs ${EXTRAE_LIBRARIES} - ${GMX_GPU_LIBRARIES} ${GMX_EXTRA_LIBRARIES} ${TNG_IO_LIBRARIES} ${FFT_LIBRARIES} ${LINEAR_ALGEBRA_LIBRARIES} @@ -200,19 +195,15 @@ set_target_properties(libgromacs PROPERTIES # for the binary if (NOT GMX_BUILD_MDRUN_ONLY OR BUILD_SHARED_LIBS) install(TARGETS libgromacs - LIBRARY DESTINATION ${LIB_INSTALL_DIR} - RUNTIME DESTINATION ${BIN_INSTALL_DIR} - ARCHIVE DESTINATION ${LIB_INSTALL_DIR} - COMPONENT libraries) + EXPORT libgromacs + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + COMPONENT libraries) endif() if (NOT GMX_BUILD_MDRUN_ONLY) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libgromacs.pc.cmakein - ${CMAKE_CURRENT_BINARY_DIR}/libgromacs.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgromacs.pc - DESTINATION ${LIB_INSTALL_DIR}/pkgconfig - RENAME "libgromacs${GMX_LIBS_SUFFIX}.pc" - COMPONENT development) + include(InstallLibInfo.cmake) endif() if (INSTALL_CUDART_LIB) #can be set manual by user diff --git a/src/gromacs/InstallLibInfo.cmake b/src/gromacs/InstallLibInfo.cmake new file mode 100644 index 0000000000..58856f88ce --- /dev/null +++ b/src/gromacs/InstallLibInfo.cmake @@ -0,0 +1,96 @@ +# +# 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. + +function (do_pkgconfig) + set(PKG_CFLAGS "") + foreach (_dir ${INSTALLED_HEADER_INCLUDE_DIRS}) + if (IS_ABSOLUTE ${_dir}) + set(PKG_CFLAGS "${PKG_CFLAGS} -I${_dir}") + else() + set(PKG_CFLAGS "${PKG_CFLAGS} -I${CMAKE_INSTALL_PREFIX}/${_dir}") + endif() + endforeach() + if (INSTALLED_HEADER_DEFINITIONS) + foreach (_def ${INSTALLED_HEADER_DEFINITIONS}) + set(PKG_CFLAGS "${PKG_CFLAGS} ${_def}") + endforeach() + endif() + set(PKG_CFLAGS "${PKG_CFLAGS} ${OpenMP_C_FLAGS}") + + configure_file(libgromacs.pc.cmakein + libgromacs.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgromacs.pc + DESTINATION ${PKGCONFIG_INSTALL_DIR} + RENAME "libgromacs${GMX_LIBS_SUFFIX}.pc" + COMPONENT development) +endfunction() + +function (do_cmake_config) + # Install everything into a subdirectory, because + # 1. CMake expects things to be there for CMAKE_PREFIX_PATH to work, and + # 2. This nicely isolates files for different suffixes from each other. + set(CMAKE_PACKAGE_DIR ${CMAKE_INSTALL_DIR}/gromacs${GMX_LIBS_SUFFIX}) + + # Install import definitions that take care of the library locations and + # library dependencies. + set(EXPORT_FILE_NAME libgromacs.cmake) + if (NOT BUILD_SHARED_LIBS) + set(EXPORT_FILE_NAME libgromacs_static.cmake) + endif() + install(EXPORT libgromacs + FILE ${EXPORT_FILE_NAME} + DESTINATION ${CMAKE_PACKAGE_DIR} + COMPONENT libraries) + + get_filename_component(GROMACS_CXX_COMPILER ${CMAKE_CXX_COMPILER} REALPATH) + configure_file(gromacs-config.cmake.cmakein + gromacs-config.cmake @ONLY) + configure_file(gromacs-config-version.cmake.cmakein + gromacs-config-version.cmake @ONLY) + # The configuration files are also installed with the suffix, even though + # the directory already contains the suffix. This allows simple + # find_package(GROMACS NAMES gromacs_d) to find them, without also + # specifying CONFIGS. + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gromacs-config.cmake + DESTINATION ${CMAKE_PACKAGE_DIR} + RENAME "gromacs${GMX_LIBS_SUFFIX}-config.cmake" + COMPONENT development) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gromacs-config-version.cmake + DESTINATION ${CMAKE_PACKAGE_DIR} + RENAME "gromacs${GMX_LIBS_SUFFIX}-config-version.cmake" + COMPONENT development) +endfunction() + +do_pkgconfig() +do_cmake_config() diff --git a/src/gromacs/analysisdata.h b/src/gromacs/analysisdata.h index 51f2d44156..0bea920364 100644 --- a/src/gromacs/analysisdata.h +++ b/src/gromacs/analysisdata.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2012,2013, by the GROMACS development team, led by + * Copyright (c) 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. @@ -201,13 +201,13 @@ #ifndef GMX_ANALYSISDATA_H #define GMX_ANALYSISDATA_H -#include "analysisdata/analysisdata.h" -#include "analysisdata/arraydata.h" -#include "analysisdata/dataframe.h" -#include "analysisdata/modules/average.h" -#include "analysisdata/modules/displacement.h" -#include "analysisdata/modules/histogram.h" -#include "analysisdata/modules/lifetime.h" -#include "analysisdata/modules/plot.h" +#include "gromacs/analysisdata/analysisdata.h" +#include "gromacs/analysisdata/arraydata.h" +#include "gromacs/analysisdata/dataframe.h" +#include "gromacs/analysisdata/modules/average.h" +#include "gromacs/analysisdata/modules/displacement.h" +#include "gromacs/analysisdata/modules/histogram.h" +#include "gromacs/analysisdata/modules/lifetime.h" +#include "gromacs/analysisdata/modules/plot.h" #endif diff --git a/src/gromacs/analysisdata/abstractdata.cpp b/src/gromacs/analysisdata/abstractdata.cpp index 3562cdf2ee..9d21ccad6c 100644 --- a/src/gromacs/analysisdata/abstractdata.cpp +++ b/src/gromacs/analysisdata/abstractdata.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include "gromacs/analysisdata/abstractdata.h" +#include "gmxpre.h" + +#include "abstractdata.h" #include diff --git a/src/gromacs/analysisdata/abstractdata.h b/src/gromacs/analysisdata/abstractdata.h index a8bced1c10..07dc2ed0e4 100644 --- a/src/gromacs/analysisdata/abstractdata.h +++ b/src/gromacs/analysisdata/abstractdata.h @@ -1,7 +1,7 @@ /* * 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. @@ -45,9 +45,7 @@ #include -#include "../legacyheaders/types/simple.h" - -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/analysisdata/analysisdata.cpp b/src/gromacs/analysisdata/analysisdata.cpp index 7a4727435d..300b2bd56f 100644 --- a/src/gromacs/analysisdata/analysisdata.cpp +++ b/src/gromacs/analysisdata/analysisdata.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include "gromacs/analysisdata/analysisdata.h" +#include "gmxpre.h" + +#include "analysisdata.h" #include "gromacs/analysisdata/dataframe.h" #include "gromacs/analysisdata/datastorage.h" diff --git a/src/gromacs/analysisdata/analysisdata.h b/src/gromacs/analysisdata/analysisdata.h index 315e6ca343..b8849769ea 100644 --- a/src/gromacs/analysisdata/analysisdata.h +++ b/src/gromacs/analysisdata/analysisdata.h @@ -43,7 +43,8 @@ #ifndef GMX_ANALYSISDATA_ANALYSISDATA_H #define GMX_ANALYSISDATA_ANALYSISDATA_H -#include "abstractdata.h" +#include "gromacs/analysisdata/abstractdata.h" +#include "gromacs/utility/real.h" namespace gmx { diff --git a/src/gromacs/analysisdata/arraydata.cpp b/src/gromacs/analysisdata/arraydata.cpp index 55dc204df5..60d4c89cfd 100644 --- a/src/gromacs/analysisdata/arraydata.cpp +++ b/src/gromacs/analysisdata/arraydata.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include "gromacs/analysisdata/arraydata.h" +#include "gmxpre.h" + +#include "arraydata.h" #include diff --git a/src/gromacs/analysisdata/arraydata.h b/src/gromacs/analysisdata/arraydata.h index 71efadf6ed..f255ae70f6 100644 --- a/src/gromacs/analysisdata/arraydata.h +++ b/src/gromacs/analysisdata/arraydata.h @@ -45,10 +45,9 @@ #include -#include "../utility/gmxassert.h" - -#include "abstractdata.h" -#include "dataframe.h" +#include "gromacs/analysisdata/abstractdata.h" +#include "gromacs/analysisdata/dataframe.h" +#include "gromacs/utility/gmxassert.h" namespace gmx { diff --git a/src/gromacs/analysisdata/dataframe.cpp b/src/gromacs/analysisdata/dataframe.cpp index cfa09e86a3..e080f5f1ab 100644 --- a/src/gromacs/analysisdata/dataframe.cpp +++ b/src/gromacs/analysisdata/dataframe.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "dataframe.h" #include "gromacs/utility/gmxassert.h" diff --git a/src/gromacs/analysisdata/dataframe.h b/src/gromacs/analysisdata/dataframe.h index f52252988a..5502063042 100644 --- a/src/gromacs/analysisdata/dataframe.h +++ b/src/gromacs/analysisdata/dataframe.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -45,11 +45,10 @@ #include -#include "../legacyheaders/types/simple.h" - -#include "../utility/arrayref.h" -#include "../utility/flags.h" -#include "../utility/gmxassert.h" +#include "gromacs/utility/arrayref.h" +#include "gromacs/utility/flags.h" +#include "gromacs/utility/gmxassert.h" +#include "gromacs/utility/real.h" namespace gmx { diff --git a/src/gromacs/analysisdata/datamodule.cpp b/src/gromacs/analysisdata/datamodule.cpp index e10859259a..dde3922dbd 100644 --- a/src/gromacs/analysisdata/datamodule.cpp +++ b/src/gromacs/analysisdata/datamodule.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include "gromacs/analysisdata/datamodule.h" +#include "gmxpre.h" + +#include "datamodule.h" #include "gromacs/analysisdata/paralleloptions.h" diff --git a/src/gromacs/analysisdata/datamodule.h b/src/gromacs/analysisdata/datamodule.h index 4c60ac9a93..55eed0caa4 100644 --- a/src/gromacs/analysisdata/datamodule.h +++ b/src/gromacs/analysisdata/datamodule.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,8 +43,6 @@ #ifndef GMX_ANALYSISDATA_DATAMODULE_H #define GMX_ANALYSISDATA_DATAMODULE_H -#include "../legacyheaders/types/simple.h" - namespace gmx { diff --git a/src/gromacs/analysisdata/datamodulemanager.cpp b/src/gromacs/analysisdata/datamodulemanager.cpp index 779e7ec05c..5946a4f637 100644 --- a/src/gromacs/analysisdata/datamodulemanager.cpp +++ b/src/gromacs/analysisdata/datamodulemanager.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include "gromacs/analysisdata/datamodulemanager.h" +#include "gmxpre.h" + +#include "datamodulemanager.h" #include diff --git a/src/gromacs/analysisdata/datamodulemanager.h b/src/gromacs/analysisdata/datamodulemanager.h index 81ebbbbeee..4688ce01b3 100644 --- a/src/gromacs/analysisdata/datamodulemanager.h +++ b/src/gromacs/analysisdata/datamodulemanager.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,9 +43,8 @@ #ifndef GMX_ANALYSISDATA_DATAMODULEMANAGER_H #define GMX_ANALYSISDATA_DATAMODULEMANAGER_H -#include "abstractdata.h" - -#include "../utility/common.h" +#include "gromacs/analysisdata/abstractdata.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/analysisdata/dataproxy.cpp b/src/gromacs/analysisdata/dataproxy.cpp index 57040f6fef..f493e89b41 100644 --- a/src/gromacs/analysisdata/dataproxy.cpp +++ b/src/gromacs/analysisdata/dataproxy.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "dataproxy.h" #include "gromacs/analysisdata/dataframe.h" diff --git a/src/gromacs/analysisdata/dataproxy.h b/src/gromacs/analysisdata/dataproxy.h index 50f6d52d5b..d4c6af3b8f 100644 --- a/src/gromacs/analysisdata/dataproxy.h +++ b/src/gromacs/analysisdata/dataproxy.h @@ -1,7 +1,7 @@ /* * 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. @@ -45,8 +45,8 @@ #ifndef GMX_ANALYSISDATA_DATAPROXY_H #define GMX_ANALYSISDATA_DATAPROXY_H -#include "abstractdata.h" -#include "datamodule.h" +#include "gromacs/analysisdata/abstractdata.h" +#include "gromacs/analysisdata/datamodule.h" namespace gmx { diff --git a/src/gromacs/analysisdata/datastorage.cpp b/src/gromacs/analysisdata/datastorage.cpp index 57dfea17c7..370c7b4ab7 100644 --- a/src/gromacs/analysisdata/datastorage.cpp +++ b/src/gromacs/analysisdata/datastorage.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "datastorage.h" #include @@ -868,7 +870,7 @@ AnalysisDataStorage::startParallelDataStorage( AnalysisDataModuleManager *modules, const AnalysisDataParallelOptions &options) { - const int pendingLimit = 2 * options.parallelizationFactor() - 1; + const int pendingLimit = options.parallelizationFactor(); impl_->pendingLimit_ = pendingLimit; modules->notifyParallelDataStart(data, options); // Data needs to be set before calling extendBuffer() diff --git a/src/gromacs/analysisdata/datastorage.h b/src/gromacs/analysisdata/datastorage.h index 1f3f0cc582..4e9fd25341 100644 --- a/src/gromacs/analysisdata/datastorage.h +++ b/src/gromacs/analysisdata/datastorage.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -45,12 +45,10 @@ #include -#include "../legacyheaders/types/simple.h" - -#include "../utility/common.h" -#include "../utility/gmxassert.h" - -#include "dataframe.h" +#include "gromacs/analysisdata/dataframe.h" +#include "gromacs/utility/common.h" +#include "gromacs/utility/gmxassert.h" +#include "gromacs/utility/real.h" namespace gmx { @@ -370,7 +368,7 @@ class AnalysisDataStorage * far in the future: * If \c i is the index of the last frame such that all frames from * 0, ..., \c i have been finished, then \p header().index() should be - * at most \c 2*parallelizationFactor-1 larger than \c i, where + * at most \c parallelizationFactor larger than \c i, where * parallelizationFactor is the parallelization factor passed to * setParallelOptions(). * Throws APIError if this constraint is violated. diff --git a/src/gromacs/analysisdata/framelocaldata.h b/src/gromacs/analysisdata/framelocaldata.h new file mode 100644 index 0000000000..f6fa5ca3a7 --- /dev/null +++ b/src/gromacs/analysisdata/framelocaldata.h @@ -0,0 +1,308 @@ +/* + * 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 + * Defines gmx::AnalysisDataFrameLocalData and supporting types. + * + * \author Teemu Murtola + * \ingroup module_analysisdata + */ +#ifndef GMX_ANALYSISDATA_FRAMELOCALDATA_H +#define GMX_ANALYSISDATA_FRAMELOCALDATA_H + +#include +#include +#include + +#include "gromacs/analysisdata/paralleloptions.h" +#include "gromacs/utility/arrayref.h" +#include "gromacs/utility/gmxassert.h" + +namespace gmx +{ + +//! \addtogroup module_analysisdata +//! \{ + +/*! \internal + * \brief + * Handle to a single data set within frame-local data array. + * + * Methods in this class do not throw. + * + * \see AnalysisDataFrameLocalData + */ +template +class AnalysisDataFrameLocalDataSetHandle +{ + public: + //! Constructs a handle from an array of values. + explicit AnalysisDataFrameLocalDataSetHandle(ArrayRef values) + : values_(values) + { + } + + //! Clears all values in the data set. + void clear() + { + std::fill(values_.begin(), values_.end(), ValueType()); + } + + //! Accesses a single value in the data set. + ValueType &value(int column) + { + GMX_ASSERT(column >= 0 && column < static_cast(values_.size()), + "Invalid column index"); + return values_[column]; + } + + private: + ArrayRef values_; +}; + +/*! \internal + * \brief + * Handle to a single frame data within frame-local data array. + * + * Methods in this class do not throw. + * + * \see AnalysisDataFrameLocalData + */ +template +class AnalysisDataFrameLocalDataHandle +{ + public: + //! Shorthand for the internal array of values. + typedef std::vector ValueArray; + //! Shorthand for a handle to a single data set. + typedef AnalysisDataFrameLocalDataSetHandle DataSetHandle; + + //! Constructs a handle from specified frame data. + AnalysisDataFrameLocalDataHandle(const std::vector *dataSetIndices, + ValueArray *values) + : dataSetIndices_(dataSetIndices), values_(values) + { + } + + //! Returns the number of data sets in the array. + int dataSetCount() const + { + return dataSetIndices_->size() - 1; + } + //! Clears all values in the frame. + void clear() + { + std::fill(values_->begin(), values_->end(), ValueType()); + } + + //! Returns a handle for a single data set. + DataSetHandle dataSet(int dataSet) + { + GMX_ASSERT(dataSet >= 0 && dataSet < dataSetCount(), + "Invalid data set index"); + const int firstIndex = (*dataSetIndices_)[dataSet]; + const int lastIndex = (*dataSetIndices_)[dataSet + 1]; + typename ValueArray::iterator begin = values_->begin() + firstIndex; + typename ValueArray::iterator end = values_->begin() + lastIndex; + return DataSetHandle(arrayRefFromVector(begin, end)); + } + //! Accesses a single value in the frame. + ValueType &value(int dataSet, int column) + { + GMX_ASSERT(dataSet >= 0 && dataSet < dataSetCount(), + "Invalid data set index"); + const int firstIndex = (*dataSetIndices_)[dataSet]; + GMX_ASSERT(column >= 0 + && column < (*dataSetIndices_)[dataSet+1] - firstIndex, + "Invalid column index"); + return (*values_)[firstIndex + column]; + } + + private: + const std::vector *dataSetIndices_; + ValueArray *values_; +}; + +/*! \internal \brief + * Container for an array of frame-local values that supports parallel data + * processing. + * + * \tparam ValueType Type of values to store. + * + * This class provides a convenient interface to create an array of frame-local + * data for use in analysis data modules that support parallel processing. + * The object is initialized by setting the desired dimensionality with + * setDataSetCount() and setColumnCount(), followed by a call to init(), + * typically in AnalysisDataModuleInterface::parallelDataStarted(), + * + * After initialization, frameData() can be used to access the data for a given + * frame, independently from other frames. This works if the assumptions about + * parallelism hold: if `N` is the parallelization factor given for init() with + * AnalysisDataParallelOptions::parallelizationFactor(), then frame `i+N` must + * not be accessed before all processing for frame `i` is finished. + * Technically, the data for different frames is kept in a ring buffer of size + * `N`. + * + * The data for a frame is not cleared after it is reused for a new frame (but + * is initially cleared). This allows using the data for accumulating values + * over all frames in a lock-free manner. + * + * frameDataSet() is provided for convenience when only a single data set + * needs to be accessed (typically in AnalysisDataModuleInterface::pointsAdded()). + * + * Methods in this class do not throw except where indicated. + * + * \see AnalysisDataFrameLocalData + */ +template +class AnalysisDataFrameLocalData +{ + public: + //! Shorthand for the internal array of values for a frame. + typedef std::vector ValueArray; + //! Shorthand for a handle to a single frame. + typedef AnalysisDataFrameLocalDataHandle FrameHandle; + //! Shorthand for a handle to a single data set. + typedef AnalysisDataFrameLocalDataSetHandle DataSetHandle; + + //! Constructs an empty container with a single data set. + AnalysisDataFrameLocalData() + { + dataSetColumns_.resize(2); + } + + //! Whether init() has been called. + bool isInitialized() const { return !values_.empty(); } + /*! \brief + * Returns number of independent data frames in this object. + * + * This supports looping over all the frame arrays to, e.g., sum them + * up at the end in accumulation scenarios. + */ + int frameCount() const { return values_.size(); } + + /*! \brief + * Sets the number of data sets stored for each frame. + * + * \throws std::bad_alloc if out of memory. + * + * If not called, there is a single data set in the object. + * Cannot be called after init(). + */ + void setDataSetCount(int dataSetCount) + { + GMX_RELEASE_ASSERT(!isInitialized(), + "Cannot change value count after init()"); + GMX_RELEASE_ASSERT(dataSetCount >= 0, + "Invalid data set count"); + dataSetColumns_.resize(dataSetCount + 1); + } + /*! \brief + * Sets the number of columns stored for a data set. + * + * Must be called for each data set that needs to have values, + * otherwise there will be zero columns for that data set. + * Cannot be called after init(). + */ + void setColumnCount(int dataSet, int columnCount) + { + GMX_RELEASE_ASSERT(!isInitialized(), + "Cannot change value count after init()"); + GMX_RELEASE_ASSERT(dataSet >= 0 && dataSet < static_cast(dataSetColumns_.size()) - 1, + "Invalid data set index"); + GMX_RELEASE_ASSERT(columnCount >= 0, + "Invalid column count"); + dataSetColumns_[dataSet + 1] = columnCount; + } + + /*! \brief + * Initializes the storage to support specified parallelism. + * + * \throws std::bad_alloc if out of memory. + */ + void init(const AnalysisDataParallelOptions &opt) + { + GMX_RELEASE_ASSERT(!isInitialized(), "init() called multiple times"); + std::partial_sum(dataSetColumns_.begin(), dataSetColumns_.end(), + dataSetColumns_.begin()); + values_.resize(opt.parallelizationFactor()); + typename std::vector::iterator i; + for (i = values_.begin(); i != values_.end(); ++i) + { + i->resize(dataSetColumns_.back()); + } + } + + //! Returns a handle to access data for a frame. + FrameHandle frameData(int frameIndex) + { + GMX_ASSERT(frameIndex >= 0, "Invalid frame index"); + GMX_ASSERT(isInitialized(), "Cannot access data before init()"); + return FrameHandle(&dataSetColumns_, + &values_[frameIndex % values_.size()]); + } + //! Returns a handle to access a single data set within a frame. + DataSetHandle frameDataSet(int frameIndex, int dataSet) + { + return frameData(frameIndex).dataSet(dataSet); + } + + private: + /*! \brief + * Index to find data sets within a per-frame array in `values_`. + * + * The first entry is always zero, followed by one entry for each data + * set. Before init(), the data set entries hold the numbers set with + * setColumnCount(). After init(), the data set entries hold the + * indices of the first column for that data set in the per-frame + * arrays in `values_`. + */ + std::vector dataSetColumns_; + /*! \brief + * Data array for each frame. + * + * This is a ring buffer whose size is specified by the desired + * parallelism level. For each frame, there is a single array of + * values, where the individual data sets are indexed with + * `dataSetColumns_`. + */ + std::vector values_; +}; + +//! \} + +} // namespace gmx + +#endif diff --git a/src/gromacs/analysisdata/modules/average.cpp b/src/gromacs/analysisdata/modules/average.cpp index b8ee98259a..b4b02b9bd5 100644 --- a/src/gromacs/analysisdata/modules/average.cpp +++ b/src/gromacs/analysisdata/modules/average.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "average.h" #include diff --git a/src/gromacs/analysisdata/modules/average.h b/src/gromacs/analysisdata/modules/average.h index 3f8f583f06..558ee1e57b 100644 --- a/src/gromacs/analysisdata/modules/average.h +++ b/src/gromacs/analysisdata/modules/average.h @@ -45,10 +45,10 @@ #include -#include "../abstractdata.h" -#include "../arraydata.h" -#include "../datamodule.h" -#include "../../utility/common.h" +#include "gromacs/analysisdata/abstractdata.h" +#include "gromacs/analysisdata/arraydata.h" +#include "gromacs/analysisdata/datamodule.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/analysisdata/modules/displacement.cpp b/src/gromacs/analysisdata/modules/displacement.cpp index 52fd4193ed..9b9b2f468d 100644 --- a/src/gromacs/analysisdata/modules/displacement.cpp +++ b/src/gromacs/analysisdata/modules/displacement.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include "gromacs/analysisdata/modules/displacement.h" +#include "gmxpre.h" + +#include "displacement.h" #include "gromacs/analysisdata/dataframe.h" #include "gromacs/analysisdata/datamodulemanager.h" diff --git a/src/gromacs/analysisdata/modules/displacement.h b/src/gromacs/analysisdata/modules/displacement.h index 911477accc..398acf11ad 100644 --- a/src/gromacs/analysisdata/modules/displacement.h +++ b/src/gromacs/analysisdata/modules/displacement.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,8 +43,9 @@ #ifndef GMX_ANALYSISDATA_MODULES_DISPLACEMENT_H #define GMX_ANALYSISDATA_MODULES_DISPLACEMENT_H -#include "../abstractdata.h" -#include "../datamodule.h" +#include "gromacs/analysisdata/abstractdata.h" +#include "gromacs/analysisdata/datamodule.h" +#include "gromacs/utility/real.h" namespace gmx { diff --git a/src/gromacs/analysisdata/modules/frameaverager.cpp b/src/gromacs/analysisdata/modules/frameaverager.cpp index 061b5fd8a5..53ffd297c9 100644 --- a/src/gromacs/analysisdata/modules/frameaverager.cpp +++ b/src/gromacs/analysisdata/modules/frameaverager.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "frameaverager.h" #include "gromacs/analysisdata/dataframe.h" diff --git a/src/gromacs/analysisdata/modules/frameaverager.h b/src/gromacs/analysisdata/modules/frameaverager.h index 2a2da99314..61867c24c4 100644 --- a/src/gromacs/analysisdata/modules/frameaverager.h +++ b/src/gromacs/analysisdata/modules/frameaverager.h @@ -1,7 +1,7 @@ /* * 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. @@ -44,9 +44,8 @@ #include -#include "../../legacyheaders/types/simple.h" - -#include "../../utility/gmxassert.h" +#include "gromacs/utility/gmxassert.h" +#include "gromacs/utility/real.h" namespace gmx { diff --git a/src/gromacs/analysisdata/modules/histogram.cpp b/src/gromacs/analysisdata/modules/histogram.cpp index e48ea1b4bd..d9e3501f41 100644 --- a/src/gromacs/analysisdata/modules/histogram.cpp +++ b/src/gromacs/analysisdata/modules/histogram.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include "gromacs/analysisdata/modules/histogram.h" +#include "gmxpre.h" + +#include "histogram.h" #include @@ -48,6 +50,8 @@ #include "gromacs/analysisdata/dataframe.h" #include "gromacs/analysisdata/datastorage.h" +#include "gromacs/analysisdata/framelocaldata.h" +#include "gromacs/utility/basedefinitions.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" @@ -282,7 +286,7 @@ AbstractAverageHistogram::resampleDoubleBinWidth(bool bIntegerBins) const AverageHistogramPointer dest( new StaticAverageHistogram( - histogramFromBins(xstart(), nbins, 2*xstep()) + histogramFromBins(settings().firstEdge(), nbins, 2*xstep()) .integerBins(bIntegerBins))); dest->setColumnCount(columnCount()); dest->allocateValues(); @@ -329,6 +333,7 @@ AbstractAverageHistogram::clone() const { AverageHistogramPointer dest(new StaticAverageHistogram()); copyContents(this, dest.get()); + dest->settings_ = settings_; return dest; } @@ -338,7 +343,7 @@ AbstractAverageHistogram::normalizeProbability() { for (int c = 0; c < columnCount(); ++c) { - real sum = 0; + double sum = 0; for (int i = 0; i < rowCount(); ++i) { sum += value(i, c).value(); @@ -350,6 +355,24 @@ AbstractAverageHistogram::normalizeProbability() } } +void +AbstractAverageHistogram::makeCumulative() +{ + for (int c = 0; c < columnCount(); ++c) + { + double sum = 0; + for (int i = 0; i < rowCount(); ++i) + { + sum += value(i, c).value(); + // Clear the error, as we don't cumulate that. + value(i, c).clear(); + value(i, c).setValue(sum); + } + } + setXAxis(settings().firstEdge() + settings().binWidth(), + settings().binWidth()); +} + void AbstractAverageHistogram::scaleSingle(int index, real factor) @@ -502,9 +525,14 @@ BasicAverageHistogramModule::dataFinished() * BasicHistogramImpl */ -/*! \internal \brief - * Private implementation class for AnalysisDataSimpleHistogramModule and - * AnalysisDataWeightedHistogramModule. +/*! \internal + * \brief + * Base class for private implementation classes for histogram modules. + * + * Actual implementation classes are derived from this and add an accumulation + * data member that is specific to the histogram type in question. + * This is done like this to keep implementation details out of the header, and + * to not unnecessarily duplicate code. * * \ingroup module_analysisdata */ @@ -518,16 +546,13 @@ class BasicHistogramImpl BasicHistogramImpl(); //! Creates an histogram impl with defined bin parameters. explicit BasicHistogramImpl(const AnalysisHistogramSettings &settings); - ~BasicHistogramImpl(); + // Virtual only for simplicity. + virtual ~BasicHistogramImpl(); /*! \brief * (Re)initializes the histogram from settings. */ void init(const AnalysisHistogramSettings &settings); - /*! \brief - * Initializes data storage frame when a new frame starts. - */ - void initFrame(int dataSetCount, AnalysisDataStorageFrame *frame); //! Storage implementation object. AnalysisDataStorage storage_; @@ -560,21 +585,6 @@ void BasicHistogramImpl::init(const AnalysisHistogramSettings &settings) averager_->init(settings); } - -void -BasicHistogramImpl::initFrame(int dataSetCount, AnalysisDataStorageFrame *frame) -{ - for (int s = 0; s < dataSetCount; ++s) - { - frame->selectDataSet(s); - for (int i = 0; i < frame->columnCount(); ++i) - { - frame->setValue(i, 0.0); - } - } - frame->selectDataSet(0); -} - } // namespace internal @@ -582,15 +592,37 @@ BasicHistogramImpl::initFrame(int dataSetCount, AnalysisDataStorageFrame *frame) * AnalysisDataSimpleHistogramModule */ +/*! \internal \brief + * Private implementation class for AnalysisDataSimpleHistogramModule. + * + * \ingroup module_analysisdata + */ +class AnalysisDataSimpleHistogramModule::Impl : public internal::BasicHistogramImpl +{ + public: + //! Shorthand for the per-frame accumulation data structure type. + typedef AnalysisDataFrameLocalData FrameLocalData; + + Impl() {} + //! Creates an histogram impl with defined bin parameters. + explicit Impl(const AnalysisHistogramSettings &settings) + : BasicHistogramImpl(settings) + { + } + + //! Accumulates the histogram within a frame. + FrameLocalData accumulator_; +}; + AnalysisDataSimpleHistogramModule::AnalysisDataSimpleHistogramModule() - : impl_(new internal::BasicHistogramImpl()) + : impl_(new Impl()) { } AnalysisDataSimpleHistogramModule::AnalysisDataSimpleHistogramModule( const AnalysisHistogramSettings &settings) - : impl_(new internal::BasicHistogramImpl(settings)) + : impl_(new Impl(settings)) { } @@ -641,11 +673,16 @@ AnalysisDataSimpleHistogramModule::parallelDataStarted( const AnalysisDataParallelOptions &options) { addModule(impl_->averager_); - setDataSetCount(data->dataSetCount()); - for (int i = 0; i < data->dataSetCount(); ++i) + const int dataSetCount = data->dataSetCount(); + const int columnCount = settings().binCount(); + setDataSetCount(dataSetCount); + impl_->accumulator_.setDataSetCount(dataSetCount); + for (int i = 0; i < dataSetCount; ++i) { - setColumnCount(i, settings().binCount()); + setColumnCount(i, columnCount); + impl_->accumulator_.setColumnCount(i, columnCount); } + impl_->accumulator_.init(options); impl_->storage_.startParallelDataStorage(this, &moduleManager(), options); return true; } @@ -654,17 +691,15 @@ AnalysisDataSimpleHistogramModule::parallelDataStarted( void AnalysisDataSimpleHistogramModule::frameStarted(const AnalysisDataFrameHeader &header) { - AnalysisDataStorageFrame &frame = impl_->storage_.startFrame(header); - impl_->initFrame(dataSetCount(), &frame); + impl_->accumulator_.frameData(header.index()).clear(); } void AnalysisDataSimpleHistogramModule::pointsAdded(const AnalysisDataPointSetRef &points) { - AnalysisDataStorageFrame &frame = - impl_->storage_.currentFrame(points.frameIndex()); - frame.selectDataSet(points.dataSetIndex()); + Impl::FrameLocalData::DataSetHandle handle + = impl_->accumulator_.frameDataSet(points.frameIndex(), points.dataSetIndex()); for (int i = 0; i < points.columnCount(); ++i) { if (points.present(i)) @@ -672,7 +707,7 @@ AnalysisDataSimpleHistogramModule::pointsAdded(const AnalysisDataPointSetRef &po const int bin = settings().findBin(points.y(i)); if (bin != -1) { - frame.value(bin) += 1; + handle.value(bin) += 1; } } } @@ -682,7 +717,20 @@ AnalysisDataSimpleHistogramModule::pointsAdded(const AnalysisDataPointSetRef &po void AnalysisDataSimpleHistogramModule::frameFinished(const AnalysisDataFrameHeader &header) { - impl_->storage_.finishFrame(header.index()); + Impl::FrameLocalData::FrameHandle handle + = impl_->accumulator_.frameData(header.index()); + AnalysisDataStorageFrame &frame = impl_->storage_.startFrame(header); + const int columnCount = settings().binCount(); + for (int s = 0; s < dataSetCount(); ++s) + { + Impl::FrameLocalData::DataSetHandle dataSet = handle.dataSet(s); + frame.selectDataSet(s); + for (int i = 0; i < columnCount; ++i) + { + frame.setValue(i, dataSet.value(i)); + } + } + frame.finishFrame(); } @@ -711,15 +759,37 @@ AnalysisDataSimpleHistogramModule::requestStorageInternal(int nframes) * AnalysisDataWeightedHistogramModule */ +/*! \internal \brief + * Private implementation class for AnalysisDataWeightedHistogramModule. + * + * \ingroup module_analysisdata + */ +class AnalysisDataWeightedHistogramModule::Impl : public internal::BasicHistogramImpl +{ + public: + //! Shorthand for the per-frame accumulation data structure type. + typedef AnalysisDataFrameLocalData FrameLocalData; + + Impl() {} + //! Creates an histogram impl with defined bin parameters. + explicit Impl(const AnalysisHistogramSettings &settings) + : BasicHistogramImpl(settings) + { + } + + //! Accumulates the histogram within a frame. + FrameLocalData accumulator_; +}; + AnalysisDataWeightedHistogramModule::AnalysisDataWeightedHistogramModule() - : impl_(new internal::BasicHistogramImpl()) + : impl_(new Impl()) { } AnalysisDataWeightedHistogramModule::AnalysisDataWeightedHistogramModule( const AnalysisHistogramSettings &settings) - : impl_(new internal::BasicHistogramImpl(settings)) + : impl_(new Impl(settings)) { } @@ -769,11 +839,16 @@ AnalysisDataWeightedHistogramModule::parallelDataStarted( const AnalysisDataParallelOptions &options) { addModule(impl_->averager_); - setDataSetCount(data->dataSetCount()); - for (int i = 0; i < data->dataSetCount(); ++i) + const int dataSetCount = data->dataSetCount(); + const int columnCount = settings().binCount(); + setDataSetCount(dataSetCount); + impl_->accumulator_.setDataSetCount(dataSetCount); + for (int i = 0; i < dataSetCount; ++i) { - setColumnCount(i, settings().binCount()); + setColumnCount(i, columnCount); + impl_->accumulator_.setColumnCount(i, columnCount); } + impl_->accumulator_.init(options); impl_->storage_.startParallelDataStorage(this, &moduleManager(), options); return true; } @@ -782,8 +857,7 @@ AnalysisDataWeightedHistogramModule::parallelDataStarted( void AnalysisDataWeightedHistogramModule::frameStarted(const AnalysisDataFrameHeader &header) { - AnalysisDataStorageFrame &frame = impl_->storage_.startFrame(header); - impl_->initFrame(dataSetCount(), &frame); + impl_->accumulator_.frameData(header.index()).clear(); } @@ -797,12 +871,11 @@ AnalysisDataWeightedHistogramModule::pointsAdded(const AnalysisDataPointSetRef & int bin = settings().findBin(points.y(0)); if (bin != -1) { - AnalysisDataStorageFrame &frame = - impl_->storage_.currentFrame(points.frameIndex()); - frame.selectDataSet(points.dataSetIndex()); + Impl::FrameLocalData::DataSetHandle handle + = impl_->accumulator_.frameDataSet(points.frameIndex(), points.dataSetIndex()); for (int i = 1; i < points.columnCount(); ++i) { - frame.value(bin) += points.y(i); + handle.value(bin) += points.y(i); } } } @@ -811,7 +884,20 @@ AnalysisDataWeightedHistogramModule::pointsAdded(const AnalysisDataPointSetRef & void AnalysisDataWeightedHistogramModule::frameFinished(const AnalysisDataFrameHeader &header) { - impl_->storage_.finishFrame(header.index()); + Impl::FrameLocalData::FrameHandle handle + = impl_->accumulator_.frameData(header.index()); + AnalysisDataStorageFrame &frame = impl_->storage_.startFrame(header); + const int columnCount = settings().binCount(); + for (int s = 0; s < dataSetCount(); ++s) + { + Impl::FrameLocalData::DataSetHandle dataSet = handle.dataSet(s); + frame.selectDataSet(s); + for (int i = 0; i < columnCount; ++i) + { + frame.setValue(i, dataSet.value(i)); + } + } + frame.finishFrame(); } diff --git a/src/gromacs/analysisdata/modules/histogram.h b/src/gromacs/analysisdata/modules/histogram.h index 3b626cba25..dff0fd7ba2 100644 --- a/src/gromacs/analysisdata/modules/histogram.h +++ b/src/gromacs/analysisdata/modules/histogram.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,10 +43,11 @@ #ifndef GMX_ANALYSISDATA_MODULES_HISTOGRAM_H #define GMX_ANALYSISDATA_MODULES_HISTOGRAM_H -#include "../abstractdata.h" -#include "../arraydata.h" -#include "../datamodule.h" -#include "../../utility/uniqueptr.h" +#include + +#include "gromacs/analysisdata/abstractdata.h" +#include "gromacs/analysisdata/arraydata.h" +#include "gromacs/analysisdata/datamodule.h" namespace gmx { @@ -236,17 +237,10 @@ class AnalysisHistogramSettings }; -namespace internal -{ - -class BasicHistogramImpl; - -} // namespace internal - class AbstractAverageHistogram; //! Smart pointer to manage an AbstractAverageHistogram object. -typedef gmx_unique_ptr::type +typedef boost::shared_ptr AverageHistogramPointer; /*! \brief @@ -261,6 +255,8 @@ typedef gmx_unique_ptr::type * * This class can represent multiple histograms in one object: each column in * the data is an independent histogram. + * The X values correspond to center of the bins, except for a cumulative + * histogram made with makeCumulative(). * * \inpublicapi * \ingroup module_analysisdata @@ -276,6 +272,9 @@ class AbstractAverageHistogram : public AbstractAnalysisArrayData /*! \brief * Creates a copy of the histogram with double the bin width. * + * \param[in] bIntegerBins If `true`, the first bin in the result will + * cover the first bin from the source. Otherwise, the first bin + * will cover first two bins from the source. * \throws std::bad_alloc if out of memory. * * The caller is responsible of deleting the returned object. @@ -295,6 +294,14 @@ class AbstractAverageHistogram : public AbstractAnalysisArrayData AverageHistogramPointer clone() const; //! Normalizes the histogram such that the integral over it is one. void normalizeProbability(); + /*! \brief + * Makes the histograms cumulative by summing up each bin to all bins + * after it. + * + * The X values in the data are adjusted such that they match the right + * edges of bins instead of bin centers. + */ + void makeCumulative(); //! Scales a single histogram by a uniform scaling factor. void scaleSingle(int index, real factor); //! Scales all histograms by a uniform scaling factor. @@ -343,6 +350,10 @@ class AbstractAverageHistogram : public AbstractAnalysisArrayData * The number of columns for all data sets equals the number of bins in the * histogram. * + * The histograms are accumulated as 64-bit integers within a frame and summed + * in double precision across frames, even if the output data is in single + * precision. + * * \inpublicapi * \ingroup module_analysisdata */ @@ -395,7 +406,9 @@ class AnalysisDataSimpleHistogramModule : public AbstractAnalysisData, virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; virtual bool requestStorageInternal(int nframes); - PrivateImplPointer impl_; + class Impl; + + PrivateImplPointer impl_; // Copy and assign disallowed by base. }; @@ -416,6 +429,9 @@ class AnalysisDataSimpleHistogramModule : public AbstractAnalysisData, * The number of columns for all data sets equals the number of bins in the * histogram. * + * The histograms are accumulated in double precision, even if the output data + * is in single precision. + * * \inpublicapi * \ingroup module_analysisdata */ @@ -454,7 +470,9 @@ class AnalysisDataWeightedHistogramModule : public AbstractAnalysisData, virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; virtual bool requestStorageInternal(int nframes); - PrivateImplPointer impl_; + class Impl; + + PrivateImplPointer impl_; // Copy and assign disallowed by base. }; diff --git a/src/gromacs/analysisdata/modules/lifetime.cpp b/src/gromacs/analysisdata/modules/lifetime.cpp index c6af8d597e..b375fcf5b8 100644 --- a/src/gromacs/analysisdata/modules/lifetime.cpp +++ b/src/gromacs/analysisdata/modules/lifetime.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "lifetime.h" #include diff --git a/src/gromacs/analysisdata/modules/lifetime.h b/src/gromacs/analysisdata/modules/lifetime.h index 64560fdcdb..128fbfc053 100644 --- a/src/gromacs/analysisdata/modules/lifetime.h +++ b/src/gromacs/analysisdata/modules/lifetime.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,9 +43,9 @@ #ifndef GMX_ANALYSISDATA_MODULES_LIFETIME_H #define GMX_ANALYSISDATA_MODULES_LIFETIME_H -#include "../arraydata.h" -#include "../datamodule.h" -#include "../../utility/common.h" +#include "gromacs/analysisdata/arraydata.h" +#include "gromacs/analysisdata/datamodule.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/analysisdata/modules/plot.cpp b/src/gromacs/analysisdata/modules/plot.cpp index ca66a1fdf7..e421e2d64a 100644 --- a/src/gromacs/analysisdata/modules/plot.cpp +++ b/src/gromacs/analysisdata/modules/plot.cpp @@ -39,22 +39,23 @@ * \ingroup module_analysisdata * \author Teemu Murtola */ -#include "gromacs/analysisdata/modules/plot.h" +#include "gmxpre.h" -#include -#include +#include "plot.h" #include #include -#include +#include +#include -#include "gromacs/legacyheaders/oenv.h" -#include "gromacs/legacyheaders/vec.h" -#include "gromacs/legacyheaders/xvgr.h" +#include #include "gromacs/analysisdata/dataframe.h" #include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/math/vec.h" #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" #include "gromacs/options/timeunitmanager.h" @@ -331,7 +332,7 @@ AbstractPlotModule::dataStarted(AbstractAnalysisData * /* data */) ? static_cast(impl_->settings_.plotFormat()) : exvgNONE); output_env_t oenv; - output_env_init(&oenv, getProgramContext(), time_unit, FALSE, xvg_format, 0, 0); + output_env_init(&oenv, getProgramContext(), time_unit, FALSE, xvg_format, 0); boost::shared_ptr oenvGuard(oenv, &output_env_done); impl_->fp_ = xvgropen(impl_->filename_.c_str(), impl_->title_.c_str(), impl_->xlabel_.c_str(), impl_->ylabel_.c_str(), diff --git a/src/gromacs/analysisdata/modules/plot.h b/src/gromacs/analysisdata/modules/plot.h index 916fa4a151..9696d54e66 100644 --- a/src/gromacs/analysisdata/modules/plot.h +++ b/src/gromacs/analysisdata/modules/plot.h @@ -1,7 +1,7 @@ /* * 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. @@ -47,9 +47,9 @@ #include -#include "../datamodule.h" -#include "../../options/timeunitmanager.h" -#include "../../utility/common.h" +#include "gromacs/analysisdata/datamodule.h" +#include "gromacs/options/timeunitmanager.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/analysisdata/tests/analysisdata.cpp b/src/gromacs/analysisdata/tests/analysisdata.cpp index 6891bcef40..c1f94697ba 100644 --- a/src/gromacs/analysisdata/tests/analysisdata.cpp +++ b/src/gromacs/analysisdata/tests/analysisdata.cpp @@ -45,10 +45,13 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + +#include "gromacs/analysisdata/analysisdata.h" + #include #include -#include "gromacs/analysisdata/analysisdata.h" #include "gromacs/analysisdata/paralleloptions.h" #include "gromacs/utility/exceptions.h" diff --git a/src/gromacs/analysisdata/tests/arraydata.cpp b/src/gromacs/analysisdata/tests/arraydata.cpp index 184a0ef631..a1d2755bf4 100644 --- a/src/gromacs/analysisdata/tests/arraydata.cpp +++ b/src/gromacs/analysisdata/tests/arraydata.cpp @@ -44,10 +44,12 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ -#include +#include "gmxpre.h" #include "gromacs/analysisdata/arraydata.h" +#include + #include "gromacs/analysisdata/tests/datatest.h" #include "testutils/testasserts.h" diff --git a/src/gromacs/analysisdata/tests/average.cpp b/src/gromacs/analysisdata/tests/average.cpp index 7ee8b775dc..cdeabbb77d 100644 --- a/src/gromacs/analysisdata/tests/average.cpp +++ b/src/gromacs/analysisdata/tests/average.cpp @@ -46,10 +46,13 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + +#include "gromacs/analysisdata/modules/average.h" + #include #include "gromacs/analysisdata/analysisdata.h" -#include "gromacs/analysisdata/modules/average.h" #include "gromacs/analysisdata/tests/datatest.h" #include "testutils/testasserts.h" diff --git a/src/gromacs/analysisdata/tests/datatest.cpp b/src/gromacs/analysisdata/tests/datatest.cpp index 5093cdffec..b2a787bbbe 100644 --- a/src/gromacs/analysisdata/tests/datatest.cpp +++ b/src/gromacs/analysisdata/tests/datatest.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "datatest.h" #include diff --git a/src/gromacs/analysisdata/tests/datatest.h b/src/gromacs/analysisdata/tests/datatest.h index 09f4127470..6d85dd6b05 100644 --- a/src/gromacs/analysisdata/tests/datatest.h +++ b/src/gromacs/analysisdata/tests/datatest.h @@ -47,10 +47,9 @@ #include -#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" diff --git a/src/gromacs/analysisdata/tests/histogram.cpp b/src/gromacs/analysisdata/tests/histogram.cpp index 8a4cdacd1d..3fef0ef42c 100644 --- a/src/gromacs/analysisdata/tests/histogram.cpp +++ b/src/gromacs/analysisdata/tests/histogram.cpp @@ -46,10 +46,13 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + +#include "gromacs/analysisdata/modules/histogram.h" + #include #include "gromacs/analysisdata/analysisdata.h" -#include "gromacs/analysisdata/modules/histogram.h" #include "gromacs/analysisdata/tests/datatest.h" #include "testutils/testasserts.h" @@ -520,6 +523,24 @@ TEST_F(AbstractAverageHistogramTest, ClonesCorrectly) } +TEST_F(AbstractAverageHistogramTest, ComputesCumulativeHistogram) +{ + const AnalysisDataTestInput &input = AverageInputData::get(); + MockAverageHistogram data( + gmx::histogramFromBins(1.0, input.frameCount(), 0.5).integerBins()); + setupArrayData(input, &data); + + ASSERT_NO_THROW_GMX(addStaticCheckerModule(input, &data)); + ASSERT_NO_THROW_GMX(addReferenceCheckerModule("InputData", &data)); + ASSERT_NO_THROW_GMX(data.done()); + + gmx::AverageHistogramPointer cumulative(data.clone()); + cumulative->makeCumulative(); + ASSERT_NO_THROW_GMX(addReferenceCheckerModule("CumulativeHistogram", cumulative.get())); + ASSERT_NO_THROW_GMX(cumulative->done()); +} + + TEST_F(AbstractAverageHistogramTest, ResamplesAtDoubleBinWidth) { const AnalysisDataTestInput &input = AverageInputData::get(); diff --git a/src/gromacs/analysisdata/tests/lifetime.cpp b/src/gromacs/analysisdata/tests/lifetime.cpp index 52a29833af..1549d2a89a 100644 --- a/src/gromacs/analysisdata/tests/lifetime.cpp +++ b/src/gromacs/analysisdata/tests/lifetime.cpp @@ -45,10 +45,13 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + +#include "gromacs/analysisdata/modules/lifetime.h" + #include #include "gromacs/analysisdata/analysisdata.h" -#include "gromacs/analysisdata/modules/lifetime.h" #include "gromacs/analysisdata/tests/datatest.h" #include "testutils/testasserts.h" diff --git a/src/gromacs/analysisdata/tests/mock_datamodule.cpp b/src/gromacs/analysisdata/tests/mock_datamodule.cpp index ce4887ede0..a4749df187 100644 --- a/src/gromacs/analysisdata/tests/mock_datamodule.cpp +++ b/src/gromacs/analysisdata/tests/mock_datamodule.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_analysisdata */ +#include "gmxpre.h" + #include "mock_datamodule.h" #include diff --git a/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ComputesCumulativeHistogram.xml b/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ComputesCumulativeHistogram.xml new file mode 100644 index 0000000000..e7bd9d2e89 --- /dev/null +++ b/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ComputesCumulativeHistogram.xml @@ -0,0 +1,141 @@ + + + + + + 1 + + 1 + + 2 + 1 + + + + + 1.5 + + 1 + + 1 + 1 + + + + + 2 + + 1 + + 3 + 2 + + + + + 2.5 + + 1 + + 4 + 2 + + + + + 3 + + 1 + + 2 + 1 + + + + + 3.5 + + 1 + + 0 + 3 + + + + + 4 + + 1 + + 1 + 3 + + + + + + + 1.25 + + 1 + + 2 + + + + + 1.75 + + 1 + + 3 + + + + + 2.25 + + 1 + + 6 + + + + + 2.75 + + 1 + + 10 + + + + + 3.25 + + 1 + + 12 + + + + + 3.75 + + 1 + + 12 + + + + + 4.25 + + 1 + + 13 + + + + + diff --git a/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidth.xml b/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidth.xml index c0784a5e4c..02a3193019 100644 --- a/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidth.xml +++ b/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidth.xml @@ -75,7 +75,7 @@ - 1.5 + 1.25 1 @@ -85,7 +85,7 @@ - 2.5 + 2.25 1 @@ -95,7 +95,7 @@ - 3.5 + 3.25 1 diff --git a/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidthWithIntegerBins.xml b/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidthWithIntegerBins.xml index 211357e775..ffebb62053 100644 --- a/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidthWithIntegerBins.xml +++ b/src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidthWithIntegerBins.xml @@ -75,7 +75,7 @@ - 1 + 0.75 1 @@ -85,7 +85,7 @@ - 2 + 1.75 1 @@ -95,7 +95,7 @@ - 3 + 2.75 1 @@ -105,7 +105,7 @@ - 4 + 3.75 1 diff --git a/src/gromacs/commandline.h b/src/gromacs/commandline.h index d29ba2668f..eeba8f3ab3 100644 --- a/src/gromacs/commandline.h +++ b/src/gromacs/commandline.h @@ -78,10 +78,10 @@ #ifndef GMX_COMMANDLINE_H #define GMX_COMMANDLINE_H -#include "commandline/cmdlinehelpwriter.h" -#include "commandline/cmdlineinit.h" -#include "commandline/cmdlinemodule.h" -#include "commandline/cmdlineparser.h" -#include "commandline/pargs.h" +#include "gromacs/commandline/cmdlinehelpwriter.h" +#include "gromacs/commandline/cmdlineinit.h" +#include "gromacs/commandline/cmdlinemodule.h" +#include "gromacs/commandline/cmdlineparser.h" +#include "gromacs/commandline/pargs.h" #endif diff --git a/src/gromacs/commandline/cmdlinehelpcontext.cpp b/src/gromacs/commandline/cmdlinehelpcontext.cpp index b2ae873e47..e98997e5bf 100644 --- a/src/gromacs/commandline/cmdlinehelpcontext.cpp +++ b/src/gromacs/commandline/cmdlinehelpcontext.cpp @@ -39,11 +39,14 @@ * \author Teemu Murtola * \ingroup module_commandline */ +#include "gmxpre.h" + #include "cmdlinehelpcontext.h" -#include "gromacs/commandline/shellcompletions.h" #include "gromacs/utility/gmxassert.h" +#include "shellcompletions.h" + namespace gmx { diff --git a/src/gromacs/commandline/cmdlinehelpcontext.h b/src/gromacs/commandline/cmdlinehelpcontext.h index 154facabab..57aa7363c3 100644 --- a/src/gromacs/commandline/cmdlinehelpcontext.h +++ b/src/gromacs/commandline/cmdlinehelpcontext.h @@ -43,8 +43,8 @@ #ifndef GMX_COMMANDLINE_CMDLINEHELPCONTEXT_H #define GMX_COMMANDLINE_CMDLINEHELPCONTEXT_H -#include "../onlinehelp/helpwritercontext.h" -#include "../utility/common.h" +#include "gromacs/onlinehelp/helpwritercontext.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/commandline/cmdlinehelpmodule.cpp b/src/gromacs/commandline/cmdlinehelpmodule.cpp index f1cc893b11..3a67a1ff4a 100644 --- a/src/gromacs/commandline/cmdlinehelpmodule.cpp +++ b/src/gromacs/commandline/cmdlinehelpmodule.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_commandline */ -#include "gromacs/commandline/cmdlinehelpmodule.h" +#include "gmxpre.h" + +#include "cmdlinehelpmodule.h" #include #include @@ -49,7 +51,6 @@ #include "gromacs/commandline/cmdlinehelpcontext.h" #include "gromacs/commandline/cmdlinehelpwriter.h" #include "gromacs/commandline/cmdlineparser.h" -#include "gromacs/commandline/shellcompletions.h" #include "gromacs/onlinehelp/helpformat.h" #include "gromacs/onlinehelp/helpmanager.h" #include "gromacs/onlinehelp/helptopic.h" @@ -63,6 +64,8 @@ #include "gromacs/utility/programcontext.h" #include "gromacs/utility/stringutil.h" +#include "shellcompletions.h" + namespace gmx { @@ -133,15 +136,15 @@ class RootHelpTopic : public CompositeHelpTopic * * Does not throw. */ - explicit RootHelpTopic(const std::string &binaryName) - : binaryName_(binaryName) + explicit RootHelpTopic(const CommandLineHelpModuleImpl &helpModule) + : helpModule_(helpModule) { } virtual void writeHelp(const HelpWriterContext &context) const; private: - std::string binaryName_; + const CommandLineHelpModuleImpl &helpModule_; GMX_DISALLOW_COPY_AND_ASSIGN(RootHelpTopic); }; @@ -157,11 +160,10 @@ void RootHelpTopic::writeHelp(const HelpWriterContext &context) const } { CommandLineCommonOptionsHolder optionsHolder; - CommandLineHelpContext cmdlineContext(context); + CommandLineHelpContext cmdlineContext(*helpModule_.context_); + cmdlineContext.setModuleDisplayName(helpModule_.binaryName_); optionsHolder.initOptions(); - cmdlineContext.setModuleDisplayName(binaryName_); // TODO: Add [] into the synopsis. - // TODO: Propagate the -hidden option here. CommandLineHelpWriter(*optionsHolder.options()) .writeHelp(cmdlineContext); } @@ -722,7 +724,7 @@ CommandLineHelpModuleImpl::CommandLineHelpModuleImpl( const std::string &binaryName, const CommandLineModuleMap &modules, const CommandLineModuleGroupList &groups) - : rootTopic_(new RootHelpTopic(binaryName)), programContext_(programContext), + : rootTopic_(new RootHelpTopic(*this)), programContext_(programContext), binaryName_(binaryName), modules_(modules), groups_(groups), context_(NULL), moduleOverride_(NULL), bHidden_(false), outputOverride_(NULL) diff --git a/src/gromacs/commandline/cmdlinehelpmodule.h b/src/gromacs/commandline/cmdlinehelpmodule.h index fa120c732e..6b6d33413c 100644 --- a/src/gromacs/commandline/cmdlinehelpmodule.h +++ b/src/gromacs/commandline/cmdlinehelpmodule.h @@ -42,12 +42,12 @@ #ifndef GMX_COMMANDLINE_CMDLINEHELPMODULE_H #define GMX_COMMANDLINE_CMDLINEHELPMODULE_H -#include "cmdlinemodule.h" -#include "cmdlinemodulemanager-impl.h" - +#include "gromacs/commandline/cmdlinemodule.h" #include "gromacs/onlinehelp/helptopicinterface.h" #include "gromacs/utility/common.h" +#include "cmdlinemodulemanager-impl.h" + namespace gmx { @@ -128,6 +128,10 @@ class CommandLineHelpModule : public CommandLineModuleInterface return "Print help information"; } + virtual void init(CommandLineModuleSettings *settings) + { + settings->setDefaultNiceLevel(0); + } virtual int run(int argc, char *argv[]); virtual void writeHelp(const CommandLineHelpContext &context) const; diff --git a/src/gromacs/commandline/cmdlinehelpwriter.cpp b/src/gromacs/commandline/cmdlinehelpwriter.cpp index 792d30d949..0c79bd3934 100644 --- a/src/gromacs/commandline/cmdlinehelpwriter.cpp +++ b/src/gromacs/commandline/cmdlinehelpwriter.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_commandline */ +#include "gmxpre.h" + #include "cmdlinehelpwriter.h" #include @@ -49,7 +51,6 @@ #include #include "gromacs/commandline/cmdlinehelpcontext.h" -#include "gromacs/commandline/shellcompletions.h" #include "gromacs/onlinehelp/helpformat.h" #include "gromacs/onlinehelp/helpwritercontext.h" #include "gromacs/options/basicoptions.h" @@ -62,6 +63,8 @@ #include "gromacs/utility/file.h" #include "gromacs/utility/stringutil.h" +#include "shellcompletions.h" + namespace gmx { diff --git a/src/gromacs/commandline/cmdlinehelpwriter.h b/src/gromacs/commandline/cmdlinehelpwriter.h index 1ab3add952..3ffd581c7e 100644 --- a/src/gromacs/commandline/cmdlinehelpwriter.h +++ b/src/gromacs/commandline/cmdlinehelpwriter.h @@ -43,7 +43,7 @@ #ifndef GMX_COMMANDLINE_CMDLINEHELPWRITER_H #define GMX_COMMANDLINE_CMDLINEHELPWRITER_H -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/commandline/cmdlineinit.cpp b/src/gromacs/commandline/cmdlineinit.cpp index afac7d982b..8fe171ee05 100644 --- a/src/gromacs/commandline/cmdlineinit.cpp +++ b/src/gromacs/commandline/cmdlineinit.cpp @@ -39,17 +39,20 @@ * \author Teemu Murtola * \ingroup module_commandline */ -#include "gromacs/commandline/cmdlineinit.h" +#include "gmxpre.h" + +#include "cmdlineinit.h" + +#include "config.h" #include #include -#include "gromacs/legacyheaders/network.h" -#include "gromacs/legacyheaders/types/commrec.h" - #include "gromacs/commandline/cmdlinemodulemanager.h" #include "gromacs/commandline/cmdlineprogramcontext.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/init.h" diff --git a/src/gromacs/commandline/cmdlineinit.h b/src/gromacs/commandline/cmdlineinit.h index 5c0fc026eb..ae4089f4ae 100644 --- a/src/gromacs/commandline/cmdlineinit.h +++ b/src/gromacs/commandline/cmdlineinit.h @@ -47,7 +47,7 @@ // Forward declaration of class CommandLineProgramContext is not sufficient for // MSVC if the return value of initForCommandLine() is ignored(!) -#include "cmdlineprogramcontext.h" +#include "gromacs/commandline/cmdlineprogramcontext.h" namespace gmx { diff --git a/src/gromacs/onlinehelp.h b/src/gromacs/commandline/cmdlinemodule.cpp similarity index 60% rename from src/gromacs/onlinehelp.h rename to src/gromacs/commandline/cmdlinemodule.cpp index 9a5caf609d..0019a324da 100644 --- a/src/gromacs/onlinehelp.h +++ b/src/gromacs/commandline/cmdlinemodule.cpp @@ -32,34 +32,62 @@ * To help us fund GROMACS development, we humbly ask that you cite * the research papers on the package. Check out http://www.gromacs.org. */ -/*! \defgroup module_onlinehelp Help Formatting for Online Help (onlinehelp) - * \ingroup group_utilitymodules +/*! \internal \file * \brief - * Provides functionality for formatting help text for console and other - * formats. - * - * This module provides helper functions and classes for formatting console - * help, as well as man pages and HTML help from the source code. It should - * not be necessary to call any methods in this module outside the \Gromacs - * library. - * - * \author Teemu Murtola - */ -/*! \file - * \brief - * Public API convenience header for help formatting. - * - * This module does not provide any classes that are intended to be used - * outside the library. It only contains some type declarations that are - * necessary for implementation reasons in other public API headers. + * Implements classes from cmdlinemodule.h. * * \author Teemu Murtola - * \inlibraryapi - * \ingroup module_onlinehelp + * \ingroup module_commandline */ -#ifndef GMX_ONLINEHELP_H -#define GMX_ONLINEHELP_H +#include "gmxpre.h" + +#include "cmdlinemodule.h" + +#include "gromacs/commandline/cmdlinehelpcontext.h" + +namespace gmx +{ + +class CommandLineModuleSettings::Impl +{ + public: + Impl() : defaultNiceLevel_(19) {} + + int defaultNiceLevel_; +}; + +CommandLineModuleSettings::CommandLineModuleSettings() + : impl_(new Impl) +{ +} + +CommandLineModuleSettings::~CommandLineModuleSettings() +{ +} + +int CommandLineModuleSettings::defaultNiceLevel() const +{ + return impl_->defaultNiceLevel_; +} + +void CommandLineModuleSettings::setDefaultNiceLevel(int niceLevel) +{ + impl_->defaultNiceLevel_ = niceLevel; +} -#include "onlinehelp/helptopicinterface.h" +//! \cond libapi +void writeCommandLineHelpCMain( + const CommandLineHelpContext &context, const char *name, + int (*mainFunction)(int argc, char *argv[])) +{ + char *argv[2]; + int argc = 1; + // TODO: The constness should not be cast away. + argv[0] = const_cast(name); + argv[1] = NULL; + GlobalCommandLineHelpContext global(context); + mainFunction(argc, argv); +} +//! \endcond -#endif +} // namespace gmx diff --git a/src/gromacs/commandline/cmdlinemodule.h b/src/gromacs/commandline/cmdlinemodule.h index a482046f82..2e4b1ae8c6 100644 --- a/src/gromacs/commandline/cmdlinemodule.h +++ b/src/gromacs/commandline/cmdlinemodule.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -34,7 +34,7 @@ */ /*! \file * \brief - * Declares gmx::CommandLineModuleInterface. + * Declares gmx::CommandLineModuleInterface and supporting classes. * * \author Teemu Murtola * \inpublicapi @@ -43,11 +43,44 @@ #ifndef GMX_COMMANDLINE_CMDLINEMODULE_H #define GMX_COMMANDLINE_CMDLINEMODULE_H +#include "gromacs/utility/common.h" + namespace gmx { class CommandLineHelpContext; +/*! \brief + * Settings to pass information between a module and the general runner. + * + * Methods in this class do not throw, except that construction may throw + * std::bad_alloc. + * + * \inpublicapi + * \ingroup module_commandline + */ +class CommandLineModuleSettings +{ + public: + CommandLineModuleSettings(); + ~CommandLineModuleSettings(); + + //! Returns the default nice level for this module. + int defaultNiceLevel() const; + + /*! \brief + * Sets the default nice level for this module. + * + * If not called, the module will be niced. + */ + void setDefaultNiceLevel(int niceLevel); + + private: + class Impl; + + PrivateImplPointer impl_; +}; + /*! \brief * Module that can be run from command line using CommandLineModuleManager. * @@ -66,6 +99,13 @@ class CommandLineModuleInterface //! Returns a one-line description of the module. virtual const char *shortDescription() const = 0; + /*! \brief + * Initializes the module and provides settings for the runner. + * + * This will be called before run(), and can be used to adjust + * initialization that the runner does. + */ + virtual void init(CommandLineModuleSettings *settings) = 0; /*! \brief * Runs the module with the given arguments. * @@ -85,10 +125,29 @@ class CommandLineModuleInterface * \param[in] context Context object for writing the help. * \throws std::bad_alloc if out of memory. * \throws FileIOError on any I/O error. + * + * Note that for MPI-enabled builds, this is called only on the master + * rank. */ virtual void writeHelp(const CommandLineHelpContext &context) const = 0; }; +//! \cond libapi +/*! \libinternal \brief + * Helper to implement CommandLineModuleInterface::writeHelp() with a C-like + * main() function that calls parse_common_args(). + * + * \param[in] context Context object for writing the help. + * \param[in] name Name of the module. + * \param[in] mainFunction C-like main() function that calls parse_common_args(). + * + * \ingroup module_commandline + */ +void writeCommandLineHelpCMain( + const CommandLineHelpContext &context, const char *name, + int (*mainFunction)(int argc, char *argv[])); +//! \endcond + } // namespace gmx #endif diff --git a/src/gromacs/commandline/cmdlinemodulemanager-impl.h b/src/gromacs/commandline/cmdlinemodulemanager-impl.h index b93d684ee3..847b623a75 100644 --- a/src/gromacs/commandline/cmdlinemodulemanager-impl.h +++ b/src/gromacs/commandline/cmdlinemodulemanager-impl.h @@ -46,9 +46,8 @@ #include #include -#include "cmdlinemodule.h" -#include "cmdlinemodulemanager.h" - +#include "gromacs/commandline/cmdlinemodule.h" +#include "gromacs/commandline/cmdlinemodulemanager.h" #include "gromacs/legacyheaders/copyrite.h" #include "gromacs/options/options.h" #include "gromacs/utility/common.h" @@ -154,6 +153,9 @@ class CommandLineCommonOptionsHolder */ bool finishOptions(); + //! Adjust defaults based on module settings. + void adjustFromSettings(const CommandLineModuleSettings &settings); + //! Returns the internal Options object. Options *options() { return &options_; } //! Returns the settings for printing startup information. @@ -180,6 +182,11 @@ class CommandLineCommonOptionsHolder return bQuiet_ && !bVersion_; } + //! Returns the nice level. + int niceLevel() const { return niceLevel_; } + //! Returns the debug level. + int debugLevel() const { return debugLevel_; } + //! Returns the file to which startup information should be printed. FILE *startupInfoFile() const { return (bVersion_ ? stdout : stderr); } @@ -192,6 +199,8 @@ class CommandLineCommonOptionsHolder bool bQuiet_; bool bVersion_; bool bCopyright_; + int niceLevel_; + int debugLevel_; GMX_DISALLOW_COPY_AND_ASSIGN(CommandLineCommonOptionsHolder); }; diff --git a/src/gromacs/commandline/cmdlinemodulemanager.cpp b/src/gromacs/commandline/cmdlinemodulemanager.cpp index 01d9fa7401..8fee8aa10e 100644 --- a/src/gromacs/commandline/cmdlinemodulemanager.cpp +++ b/src/gromacs/commandline/cmdlinemodulemanager.cpp @@ -39,31 +39,37 @@ * \author Teemu Murtola * \ingroup module_commandline */ +#include "gmxpre.h" + #include "cmdlinemodulemanager.h" +#include "config.h" + #include #include #include -#include "gromacs/legacyheaders/copyrite.h" -#include "gromacs/legacyheaders/network.h" +#ifdef HAVE_UNISTD_H +#include +#endif #include "gromacs/commandline/cmdlinehelpcontext.h" -#include "gromacs/commandline/cmdlinehelpmodule.h" #include "gromacs/commandline/cmdlineinit.h" #include "gromacs/commandline/cmdlinemodule.h" -#include "gromacs/commandline/cmdlinemodulemanager-impl.h" #include "gromacs/commandline/cmdlineparser.h" #include "gromacs/commandline/cmdlineprogramcontext.h" +#include "gromacs/legacyheaders/copyrite.h" #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" +#include "gromacs/utility/basenetwork.h" #include "gromacs/utility/exceptions.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/stringutil.h" -// For GMX_BINARY_SUFFIX -#include "config.h" +#include "cmdlinehelpmodule.h" +#include "cmdlinemodulemanager-impl.h" namespace gmx { @@ -114,26 +120,22 @@ class CMainCommandLineModule : public CommandLineModuleInterface return shortDescription_; } + virtual void init(CommandLineModuleSettings * /*settings*/) + { + } virtual int run(int argc, char *argv[]) { return mainFunction_(argc, argv); } virtual void writeHelp(const CommandLineHelpContext &context) const { - char *argv[2]; - int argc = 1; - // TODO: The constness should not be cast away. - argv[0] = const_cast(name_); - argv[1] = NULL; - GlobalCommandLineHelpContext global(context); - mainFunction_(argc, argv); + writeCommandLineHelpCMain(context, name_, mainFunction_); } private: const char *name_; const char *shortDescription_; CMainFunction mainFunction_; - }; //! \} @@ -146,7 +148,8 @@ class CMainCommandLineModule : public CommandLineModuleInterface CommandLineCommonOptionsHolder::CommandLineCommonOptionsHolder() : options_(NULL, NULL), bHelp_(false), bHidden_(false), - bQuiet_(false), bVersion_(false), bCopyright_(true) + bQuiet_(false), bVersion_(false), bCopyright_(true), + niceLevel_(19), debugLevel_(0) { binaryInfoSettings_.copyright(true); } @@ -168,6 +171,12 @@ void CommandLineCommonOptionsHolder::initOptions() .description("Print extended version information and quit")); options_.addOption(BooleanOption("copyright").store(&bCopyright_) .description("Print copyright information on startup")); + options_.addOption(IntegerOption("nice").store(&niceLevel_) + .description("Set the nicelevel (default depends on command)")); + options_.addOption(IntegerOption("debug").store(&debugLevel_) + .hidden().defaultValueIfSet(1) + .description("Write file with debug information, " + "1: short (default), 2: also x and f")); } bool CommandLineCommonOptionsHolder::finishOptions() @@ -180,6 +189,15 @@ bool CommandLineCommonOptionsHolder::finishOptions() return !bVersion_; } +void CommandLineCommonOptionsHolder::adjustFromSettings( + const CommandLineModuleSettings &settings) +{ + if (!options_.isSet("nice")) + { + niceLevel_ = settings.defaultNiceLevel(); + } +} + /******************************************************************** * CommandLineModuleManager::Impl */ @@ -512,7 +530,7 @@ void CommandLineModuleManager::addHelpTopic(HelpTopicPointer topic) int CommandLineModuleManager::run(int argc, char *argv[]) { CommandLineModuleInterface *module; - const bool bMaster = (!gmx_mpi_initialized() || gmx_node_rank() == 0); + const bool bMaster = (gmx_node_rank() == 0); bool bQuiet = impl_->bQuiet_ || !bMaster; CommandLineCommonOptionsHolder optionsHolder; try @@ -542,7 +560,45 @@ int CommandLineModuleManager::run(int argc, char *argv[]) { return 0; } - int rc = module->run(argc, argv); + + CommandLineModuleSettings settings; + module->init(&settings); + optionsHolder.adjustFromSettings(settings); + + // Open the debug file. + if (optionsHolder.debugLevel() > 0) + { + std::string filename(impl_->programContext_.programName()); + if (gmx_node_num() > 1) + { + filename.append(formatString("%d", gmx_node_rank())); + } + filename.append(".debug"); + + fprintf(stderr, "Will write debug log file: %s\n", filename.c_str()); + gmx_init_debug(optionsHolder.debugLevel(), filename.c_str()); + } +#if defined(HAVE_UNISTD_H) && !defined(GMX_NO_NICE) && !defined(__MINGW32__) + // Set the nice level unless disabled in the configuration. + if (optionsHolder.niceLevel() != 0) + { + static bool bNiceSet = false; // Only set it once. + if (!bNiceSet) + { + if (nice(optionsHolder.niceLevel()) == -1) + { + // Do nothing, but use the return value to avoid warnings. + } + bNiceSet = true; + } + } +#endif + + int rc = 0; + if (!(module == impl_->helpModule_ && !bMaster)) + { + rc = module->run(argc, argv); + } if (!bQuiet) { gmx_thanx(stderr); diff --git a/src/gromacs/commandline/cmdlinemodulemanager.h b/src/gromacs/commandline/cmdlinemodulemanager.h index 9fb4432f82..62b39488ca 100644 --- a/src/gromacs/commandline/cmdlinemodulemanager.h +++ b/src/gromacs/commandline/cmdlinemodulemanager.h @@ -43,9 +43,9 @@ #ifndef GMX_COMMANDLINE_CMDLINEMODULEMANAGER_H #define GMX_COMMANDLINE_CMDLINEMODULEMANAGER_H -#include "../onlinehelp/helptopicinterface.h" -#include "../utility/common.h" -#include "../utility/uniqueptr.h" +#include "gromacs/onlinehelp/helptopicinterface.h" +#include "gromacs/utility/common.h" +#include "gromacs/utility/uniqueptr.h" namespace gmx { diff --git a/src/gromacs/commandline/cmdlineparser.cpp b/src/gromacs/commandline/cmdlineparser.cpp index e93ec92f0a..3bb9dfd20d 100644 --- a/src/gromacs/commandline/cmdlineparser.cpp +++ b/src/gromacs/commandline/cmdlineparser.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_commandline */ +#include "gmxpre.h" + #include "cmdlineparser.h" #include diff --git a/src/gromacs/commandline/cmdlineparser.h b/src/gromacs/commandline/cmdlineparser.h index 7f4768c04e..c497410e50 100644 --- a/src/gromacs/commandline/cmdlineparser.h +++ b/src/gromacs/commandline/cmdlineparser.h @@ -1,7 +1,7 @@ /* * 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. @@ -46,7 +46,7 @@ #include #include -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/commandline/cmdlineprogramcontext.cpp b/src/gromacs/commandline/cmdlineprogramcontext.cpp index 0a24deacbd..da36eeddbd 100644 --- a/src/gromacs/commandline/cmdlineprogramcontext.cpp +++ b/src/gromacs/commandline/cmdlineprogramcontext.cpp @@ -39,11 +39,11 @@ * \author Teemu Murtola * \ingroup module_commandline */ +#include "gmxpre.h" + #include "cmdlineprogramcontext.h" -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include #include @@ -55,10 +55,10 @@ #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 @@ -321,7 +321,7 @@ CommandLineProgramContext::Impl::Impl() CommandLineProgramContext::Impl::Impl(int argc, const char *const argv[], ExecutableEnvironmentPointer env) - : executableEnv_(move(env)) + : executableEnv_(env) { invokedName_ = (argc != 0 ? argv[0] : ""); programName_ = Path::getFilename(invokedName_); @@ -370,7 +370,7 @@ CommandLineProgramContext::CommandLineProgramContext( CommandLineProgramContext::CommandLineProgramContext( int argc, const char *const argv[], ExecutableEnvironmentPointer env) - : impl_(new Impl(argc, argv, move(env))) + : impl_(new Impl(argc, argv, env)) { } diff --git a/src/gromacs/commandline/cmdlineprogramcontext.h b/src/gromacs/commandline/cmdlineprogramcontext.h index 09b05bf300..bfcc17322c 100644 --- a/src/gromacs/commandline/cmdlineprogramcontext.h +++ b/src/gromacs/commandline/cmdlineprogramcontext.h @@ -51,9 +51,10 @@ #include #include -#include "../utility/common.h" -#include "../utility/programcontext.h" -#include "../utility/uniqueptr.h" +#include + +#include "gromacs/utility/common.h" +#include "gromacs/utility/programcontext.h" namespace gmx { @@ -90,7 +91,7 @@ class ExecutableEnvironmentInterface }; //! Shorthand for a smart pointer to ExecutableEnvironmentInterface. -typedef gmx_unique_ptr::type +typedef boost::shared_ptr ExecutableEnvironmentPointer; /*! \libinternal \brief diff --git a/src/gromacs/commandline/pargs.cpp b/src/gromacs/commandline/pargs.cpp index acd27b0f01..8b7a459d8f 100644 --- a/src/gromacs/commandline/pargs.cpp +++ b/src/gromacs/commandline/pargs.cpp @@ -34,38 +34,31 @@ * 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/commandline/pargs.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "pargs.h" -#include -#include #include #include -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "thread_mpi/threads.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" -#include "gromacs/legacyheaders/macros.h" -#include "gromacs/legacyheaders/network.h" +#include +#include #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" @@ -74,98 +67,6 @@ /* 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; @@ -180,140 +81,6 @@ int nenum(const char *const enumc[]) 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; @@ -420,89 +187,141 @@ const char *opt2parg_enum(const char *option, int nparg, t_pargs pa[]) * 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 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_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 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 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 fileNameOptions_; + std::list 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); @@ -510,85 +329,142 @@ void filenmToOptions(Options *options, const t_filenm *fnm) const bool bMultiple = ((fnm->flag & ffMULT) != 0); const char *const name = &fnm->opt[1]; const char * defName = fnm->fn; + int defType = -1; if (defName == NULL) { 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))); + else if (std::strchr(defName, '.') != NULL) + { + defType = fn2ftp(defName); + GMX_RELEASE_ASSERT(defType != efNR, + "File name option specifies an invalid extension"); + } + fileNameOptions_.push_back(FileNameData(fnm)); + FileNameData &data = fileNameOptions_.back(); + data.optionInfo = options->addOption( + FileNameOption(name).storeVector(&data.values) + .defaultBasename(defName).defaultType(defType) + .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::const_iterator file; + for (file = fileNameOptions_.begin(); file != fileNameOptions_.end(); ++file) + { + 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) + { + file->fnm->fns[i] = gmx_strdup(file->values[i].c_str()); + } + } + std::list::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_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 @@ -600,280 +476,132 @@ gmx_bool parse_common_args(int *argc, char *argv[], unsigned long Flags, 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++) - { - if (argv[i] && (strlen(argv[i]) > 1) && (!std::isdigit(argv[i][1]))) - { - 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]); - } - } - } - } - } - 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(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) + try { - npall = add_parg(npall, all_pa, &xvg_pa); - } + 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; - /* Now append the program specific arguments */ - for (i = 0; (i < npargs); i++) - { - npall = add_parg(npall, all_pa, &(pa[i])); - } + fileOptManager.disableInputOptionChecking( + FF(PCA_NOT_READ_NODE) || FF(PCA_DISABLE_INPUT_FILE_CHECKING)); + options.addManager(&fileOptManager); + options.setDescription(gmx::constArrayRefFromArray(desc, ndesc)); - /* set etENUM options to default */ - for (i = 0; (i < npall); i++) - { - if (all_pa[i].type == etENUM) + if (FF(PCA_CAN_SET_DEFFNM)) { - all_pa[i].u.c[0] = all_pa[i].u.c[1]; + fileOptManager.addDefaultFileNameOption(&options, "deffnm"); } - } - 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_BEGIN)) { - sprintf(buf, "%s%d.debug", output_env_get_short_program_name(*oenv), - gmx_node_rank()); + options.addOption( + gmx::DoubleOption("b").store(&tbegin).timeValue() + .description("First frame (%t) to read from trajectory")); } - else + if (FF(PCA_CAN_END)) { - sprintf(buf, "%s.debug", output_env_get_short_program_name(*oenv)); + options.addOption( + gmx::DoubleOption("e").store(&tend).timeValue() + .description("Last frame (%t) to read from trajectory")); + } + if (FF(PCA_CAN_DT)) + { + 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::constArrayRefFromArray(desc, ndesc)); - for (i = 0; i < nfile; i++) - { - gmx::filenmToOptions(&options, &fnm[i]); - } - for (i = 0; i < npall; i++) - { - gmx::pargsToOptions(&options, &all_pa[i]); - } + GMX_RELEASE_ASSERT(gmx_node_rank() == 0, + "Help output should be handled higher up and " + "only get called only on the master rank"); gmx::CommandLineHelpWriter(options) .setShowDescriptions(true) - .setTimeUnitString(output_env_get_time_unit(*oenv)) + .setTimeUnitString(timeUnitManager.timeUnitAsString()) .setKnownIssues(gmx::constArrayRefFromArray(bugs, nbugs)) .writeHelp(*context); + return FALSE; } - } - GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; - /* Set the nice level */ -#if defined(HAVE_UNISTD_H) && !defined(__MINGW32__) -#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) - { - if (nice(nicelevel) == -1) - { - /* Do nothing, but use the return value to avoid warnings. */ - } - nice_set = TRUE; - } - tMPI_Thread_mutex_unlock(&init_mutex); - } -#endif -#endif + /* Now parse all the command-line options */ + gmx::CommandLineParser(&options).skipUnknown(FF(PCA_NOEXIT_ON_ARGS)) + .parse(argc, argv); + options.finish(); - /* convert time options, must be done after printing! */ + /* 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); - for (i = 0; i < npall; i++) - { - if (all_pa[i].type == etTIME && all_pa[i].bSet) + timeUnitManager.scaleTimeOptions(&options); + + /* 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 } diff --git a/src/gromacs/commandline/pargs.h b/src/gromacs/commandline/pargs.h index 3a9217aa36..9c81a77cb2 100644 --- a/src/gromacs/commandline/pargs.h +++ b/src/gromacs/commandline/pargs.h @@ -44,9 +44,11 @@ #ifndef GMX_COMMANDLINE_PARGS_H #define GMX_COMMANDLINE_PARGS_H -#include "../legacyheaders/types/simple.h" -#include "../legacyheaders/oenv.h" -#include "../fileio/filenm.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" @@ -228,12 +230,10 @@ gmx_bool opt2parg_bSet(const char *option, int nparg, t_pargs pa[]); #define PCA_CAN_SET_DEFFNM (1<<10) /** Do not raise a fatal error when invalid options are encountered. */ #define PCA_NOEXIT_ON_ARGS (1<<11) -/** Do not print help output (used for non-master nodes). */ -#define PCA_QUIET (1<<12) -/** Default to low priority. */ -#define PCA_BE_NICE (1<<13) /** Is this node not reading: for parallel all nodes but the master */ #define PCA_NOT_READ_NODE (1<<16) +/** Don't do any special processing for ffREAD files */ +#define PCA_DISABLE_INPUT_FILE_CHECKING (1<<17) /*! \brief * Parse command-line arguments. @@ -243,6 +243,17 @@ gmx_bool opt2parg_bSet(const char *option, int nparg, t_pargs pa[]); * by \p Flags. * * Recognized arguments are removed from the list. + * + * For full functionality, this function needs to be used within a function + * that is passed to gmx_run_cmain(). It should be called as the first thing in + * that function. Initialization code can be executed before it, but you need + * to be aware that if the program is executed with -h and MPI, the code before + * parse_common_args() only executes on the master node. + * + * If the return value is `FALSE`, the program should return immediately (this + * is necessary for -h and a few other cases). + * + * \see gmx_run_cmain(). */ gmx_bool parse_common_args(int *argc, char *argv[], unsigned long Flags, int nfile, t_filenm fnm[], int npargs, t_pargs *pa, diff --git a/src/gromacs/commandline/shellcompletions.cpp b/src/gromacs/commandline/shellcompletions.cpp index f5b705944f..1eefeda1cf 100644 --- a/src/gromacs/commandline/shellcompletions.cpp +++ b/src/gromacs/commandline/shellcompletions.cpp @@ -41,7 +41,9 @@ * \author Teemu Murtola * \ingroup module_commandline */ -#include "gromacs/commandline/shellcompletions.h" +#include "gmxpre.h" + +#include "shellcompletions.h" #include @@ -51,10 +53,10 @@ #include "gromacs/commandline/cmdlinehelpcontext.h" #include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/filenm.h" #include "gromacs/options/basicoptions.h" #include "gromacs/options/filenameoption.h" #include "gromacs/options/optionsvisitor.h" -#include "gromacs/fileio/filenm.h" #include "gromacs/utility/arrayref.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/file.h" diff --git a/src/gromacs/commandline/shellcompletions.h b/src/gromacs/commandline/shellcompletions.h index b2f01cfbb8..b16ec2f5c8 100644 --- a/src/gromacs/commandline/shellcompletions.h +++ b/src/gromacs/commandline/shellcompletions.h @@ -57,7 +57,7 @@ class File; class Options; //! \cond internal -//! \addtogroup module_onlinehelp +//! \addtogroup module_commandline //! \{ //! Output format for ShellCompletionWriter. diff --git a/src/gromacs/commandline/tests/cmdlinehelpwriter.cpp b/src/gromacs/commandline/tests/cmdlinehelpwriter.cpp index 1a4b4d463d..a545dcc835 100644 --- a/src/gromacs/commandline/tests/cmdlinehelpwriter.cpp +++ b/src/gromacs/commandline/tests/cmdlinehelpwriter.cpp @@ -45,12 +45,14 @@ * \author Teemu Murtola * \ingroup module_commandline */ -#include +#include "gmxpre.h" -#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/commandline/cmdlinehelpwriter.h" + +#include #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" @@ -224,15 +226,15 @@ TEST_F(CommandLineHelpWriterTest, HandlesSelectionOptions) 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;" diff --git a/src/gromacs/commandline/tests/cmdlinemodulemanager.cpp b/src/gromacs/commandline/tests/cmdlinemodulemanager.cpp index 9be6c2886a..ebb3ee1f5f 100644 --- a/src/gromacs/commandline/tests/cmdlinemodulemanager.cpp +++ b/src/gromacs/commandline/tests/cmdlinemodulemanager.cpp @@ -40,9 +40,11 @@ * \ingroup module_commandline */ // For GMX_BINARY_SUFFIX -#ifdef HAVE_CONFIG_H +#include "gmxpre.h" + +#include "gromacs/commandline/cmdlinemodulemanager.h" + #include "config.h" -#endif #include @@ -50,7 +52,6 @@ #include "gromacs/commandline/cmdlinehelpcontext.h" #include "gromacs/commandline/cmdlinemodule.h" -#include "gromacs/commandline/cmdlinemodulemanager.h" #include "gromacs/commandline/cmdlineprogramcontext.h" #include "gromacs/utility/file.h" @@ -83,6 +84,7 @@ class MockModule : public gmx::CommandLineModuleInterface virtual const char *name() const { return name_; } virtual const char *shortDescription() const { return descr_; } + MOCK_METHOD1(init, void(gmx::CommandLineModuleSettings *settings)); MOCK_METHOD2(run, int(int argc, char *argv[])); MOCK_CONST_METHOD1(writeHelp, void(const gmx::CommandLineHelpContext &context)); @@ -93,6 +95,11 @@ class MockModule : public gmx::CommandLineModuleInterface } private: + //! Disable nice() calls for tests. + void disableNice(gmx::CommandLineModuleSettings *settings) + { + settings->setDefaultNiceLevel(0); + } //! Checks the context passed to writeHelp(). void checkHelpContext(const gmx::CommandLineHelpContext &context) const; @@ -107,6 +114,8 @@ MockModule::MockModule(const char *name, const char *description) using ::testing::_; using ::testing::Invoke; using ::testing::WithArg; + ON_CALL(*this, init(_)) + .WillByDefault(WithArg<0>(Invoke(this, &MockModule::disableNice))); ON_CALL(*this, writeHelp(_)) .WillByDefault(WithArg<0>(Invoke(this, &MockModule::checkHelpContext))); } @@ -209,6 +218,7 @@ TEST_F(CommandLineModuleManagerTest, RunsModule) using ::testing::_; using ::testing::Args; using ::testing::ElementsAreArray; + EXPECT_CALL(mod1, init(_)); EXPECT_CALL(mod1, run(_, _)) .With(Args<1, 0>(ElementsAreArray(args.argv() + 1, args.argc() - 1))); int rc = 0; @@ -312,6 +322,7 @@ TEST_F(CommandLineModuleManagerTest, RunsModuleBasedOnBinaryName) using ::testing::_; using ::testing::Args; using ::testing::ElementsAreArray; + EXPECT_CALL(mod1, init(_)); EXPECT_CALL(mod1, run(_, _)) .With(Args<1, 0>(ElementsAreArray(args.argv(), args.argc()))); int rc = 0; @@ -331,6 +342,7 @@ TEST_F(CommandLineModuleManagerTest, RunsModuleBasedOnBinaryNameWithPathAndSuffi using ::testing::_; using ::testing::Args; using ::testing::ElementsAreArray; + EXPECT_CALL(mod1, init(_)); EXPECT_CALL(mod1, run(_, _)) .With(Args<1, 0>(ElementsAreArray(args.argv(), args.argc()))); int rc = 0; @@ -350,6 +362,7 @@ TEST_F(CommandLineModuleManagerTest, HandlesConflictingBinaryAndModuleNames) using ::testing::_; using ::testing::Args; using ::testing::ElementsAreArray; + EXPECT_CALL(mod1, init(_)); EXPECT_CALL(mod1, run(_, _)) .With(Args<1, 0>(ElementsAreArray(args.argv() + 1, args.argc() - 1))); int rc = 0; diff --git a/src/gromacs/commandline/tests/cmdlineparser.cpp b/src/gromacs/commandline/tests/cmdlineparser.cpp index d46af114e2..719e69d34f 100644 --- a/src/gromacs/commandline/tests/cmdlineparser.cpp +++ b/src/gromacs/commandline/tests/cmdlineparser.cpp @@ -42,11 +42,14 @@ * \author Teemu Murtola * \ingroup module_commandline */ +#include "gmxpre.h" + +#include "gromacs/commandline/cmdlineparser.h" + #include #include -#include "gromacs/commandline/cmdlineparser.h" #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" diff --git a/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp b/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp index befb5c991f..f31c3ea405 100644 --- a/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp +++ b/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp @@ -39,20 +39,23 @@ * \author Teemu Murtola * \ingroup module_commandline */ +#include "gmxpre.h" + +#include "gromacs/commandline/cmdlineprogramcontext.h" + +#include "config.h" + #include #include +#include #include -#include "gromacs/commandline/cmdlineprogramcontext.h" -#include "gromacs/fileio/path.h" #include "gromacs/utility/common.h" -#include "gromacs/utility/uniqueptr.h" +#include "gromacs/utility/path.h" #include "testutils/cmdlinetest.h" -#include "config.h" - using gmx::test::CommandLine; using gmx::Path; @@ -93,7 +96,7 @@ class TestExecutableEnvironment : public gmx::ExecutableEnvironmentInterface }; //! Shorthand for a smart pointer to TestExecutableEnvironment. -typedef gmx::gmx_unique_ptr::type +typedef boost::shared_ptr TestExecutableEnvironmentPointer; class CommandLineProgramContextTest : public ::testing::Test @@ -111,7 +114,7 @@ class CommandLineProgramContextTest : public ::testing::Test void testBinaryPathSearch(const char *argv0) { ASSERT_TRUE(env_.get() != NULL); - gmx::CommandLineProgramContext info(1, &argv0, move(env_)); + gmx::CommandLineProgramContext info(1, &argv0, env_); EXPECT_EQ(expectedExecutable_, info.fullBinaryPath()); } void testBinaryPathSearch(const std::string &argv0) diff --git a/src/gromacs/commandline/tests/pargs.cpp b/src/gromacs/commandline/tests/pargs.cpp index e11113ea6f..55dc8b0c36 100644 --- a/src/gromacs/commandline/tests/pargs.cpp +++ b/src/gromacs/commandline/tests/pargs.cpp @@ -39,21 +39,25 @@ * 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 * \ingroup module_commandline */ -#include +#include "gmxpre.h" #include "gromacs/commandline/pargs.h" + +#include + +#include + #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 { @@ -63,6 +67,13 @@ using gmx::test::CommandLine; class ParseCommonArgsTest : public ::testing::Test { public: + enum FileArgumentType + { + efFull, + efNoExtension, + efEmptyValue + }; + ParseCommonArgsTest() : oenv_(NULL), fileCount_(0) { @@ -74,12 +85,10 @@ class ParseCommonArgsTest : public ::testing::Test int nfile() const { return fileCount_; } - void parse(gmx::ConstArrayRef cmdline, - unsigned long flags, - gmx::ArrayRef fnm, - gmx::ArrayRef pa) + void parseFromArgs(unsigned long flags, + gmx::ArrayRef fnm, + gmx::ArrayRef pa) { - args_.initFromArray(cmdline); fileCount_ = fnm.size(); bool bOk = parse_common_args(&args_.argc(), args_.argv(), flags, fnm.size(), fnm.data(), @@ -87,12 +96,45 @@ class ParseCommonArgsTest : public ::testing::Test 0, NULL, 0, NULL, &oenv_); EXPECT_TRUE(bOk); } + void parseFromArray(gmx::ConstArrayRef cmdline, + unsigned long flags, + gmx::ArrayRef fnm, + gmx::ArrayRef 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_; }; /******************************************************************** @@ -110,7 +152,7 @@ TEST_F(ParseCommonArgsTest, ParsesIntegerArgs) 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); @@ -127,7 +169,7 @@ TEST_F(ParseCommonArgsTest, ParsesInt64Args) 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); @@ -144,7 +186,7 @@ TEST_F(ParseCommonArgsTest, ParsesRealArgs) 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); @@ -161,7 +203,7 @@ TEST_F(ParseCommonArgsTest, ParsesStringArgs) 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); @@ -178,7 +220,7 @@ TEST_F(ParseCommonArgsTest, ParsesBooleanArgs) 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); @@ -195,7 +237,7 @@ TEST_F(ParseCommonArgsTest, ParsesVectorArgs) 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]); @@ -218,7 +260,7 @@ TEST_F(ParseCommonArgsTest, ParsesTimeArgs) 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); @@ -235,7 +277,7 @@ TEST_F(ParseCommonArgsTest, ParsesTimeArgsWithTimeUnit) 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); @@ -254,7 +296,7 @@ TEST_F(ParseCommonArgsTest, ParsesEnumArgs) 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]); @@ -264,7 +306,7 @@ TEST_F(ParseCommonArgsTest, ParsesEnumArgs) } /******************************************************************** - * Tests for file name options + * Tests for file name options (output files, not dependent on file system) */ TEST_F(ParseCommonArgsTest, ParsesFileArgs) @@ -273,18 +315,22 @@ 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); } @@ -296,12 +342,12 @@ TEST_F(ParseCommonArgsTest, ParsesFileArgsWithDefaults) { 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)); @@ -318,12 +364,12 @@ TEST_F(ParseCommonArgsTest, ParsesFileArgsWithDefaultFileName) { 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)); @@ -332,10 +378,181 @@ TEST_F(ParseCommonArgsTest, ParsesFileArgsWithDefaultFileName) done_filenms(nfile(), fnm); } +TEST_F(ParseCommonArgsTest, ParseFileArgsWithCustomDefaultExtension) +{ + t_filenm fnm[] = { + { efTRX, "-o1", "conf1.gro", ffWRITE }, + { efTRX, "-o2", "conf2.pdb", ffWRITE }, + { efTRX, "-o3", "conf3.gro", ffWRITE } + }; + const char *const cmdline[] = { + "test", "-o2", "-o3", "test" + }; + parseFromArray(cmdline, PCA_CAN_SET_DEFFNM, fnm, gmx::EmptyArrayRef()); + EXPECT_STREQ("conf1.gro", opt2fn("-o1", nfile(), fnm)); + EXPECT_STREQ("conf2.pdb", opt2fn("-o2", nfile(), fnm)); + EXPECT_STREQ("test.gro", opt2fn("-o3", 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, PCA_DISABLE_INPUT_FILE_CHECKING, 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, HandlesNonExistentOptionalInputFiles) +{ + t_filenm fnm[] = { + { efTPS, "-s", NULL, ffOPTRD }, + { efTRX, "-f", "trj", ffOPTRD } + }; + const char *const cmdline[] = { + "test" + }; + parseFromArray(cmdline, 0, fnm, gmx::EmptyArrayRef()); + EXPECT_STREQ("topol.tpr", ftp2fn(efTPS, nfile(), fnm)); + EXPECT_STREQ("trj.xtc", opt2fn("-f", 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 }, + { efSTO, "-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", ".pdb", 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; @@ -352,7 +569,7 @@ TEST_F(ParseCommonArgsTest, CanKeepUnknownArgs) "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)); diff --git a/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesLongFileOptions.xml b/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesLongFileOptions.xml index 64dcfe4606..8ac10f83fe 100644 --- a/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesLongFileOptions.xml +++ b/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesLongFileOptions.xml @@ -12,12 +12,11 @@ OPTIONS Options to specify input and output files: -f [<.xtc/.trr/...>] (path/to/long/trajectory/name.xtc) (Input) - File name option with a long value: xtc trr cpt trj gro g96 pdb tng + File name option with a long value: xtc trr cpt gro g96 pdb tng -f2 [<.xtc/.trr/...>] (path/to/long/trajectory.xtc) (Input) - File name option with a long value: xtc trr cpt trj gro g96 pdb tng + File name option with a long value: xtc trr cpt gro g96 pdb tng -lib [<.xtc/.trr/...>] (path/to/long/trajectory/name.xtc) (Input, Opt., Lib.) - File name option with a long value and type: xtc trr cpt trj gro g96 pdb - tng + File name option with a long value and type: xtc trr cpt gro g96 pdb tng -longfileopt [<.dat>] (deffile.dat) (Input, Opt.) File name option with a long name -longfileopt2 [<.dat>] (path/to/long/file/name.dat) (Input, Opt., Lib.) diff --git a/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesOptionTypes.xml b/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesOptionTypes.xml index c4abb113cf..d60500d2bf 100644 --- a/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesOptionTypes.xml +++ b/src/gromacs/commandline/tests/refdata/CommandLineHelpWriterTest_HandlesOptionTypes.xml @@ -14,9 +14,9 @@ OPTIONS Options to specify input and output files: -f [<.xtc/.trr/...>] (traj.xtc) (Input) - Input file description: xtc trr cpt trj gro g96 pdb tng + Input file description: xtc trr cpt gro g96 pdb tng -mult [<.xtc/.trr/...> [...]] (traj.xtc) (Input, Opt.) - Multiple file description: xtc trr cpt trj gro g96 pdb tng + Multiple file description: xtc trr cpt gro g96 pdb tng -lib [<.dat>] (libdata.dat) (Input, Opt., Lib.) Library file description -io [<.dat>] (inout.dat) (In/Out, Opt.) Input/Output file description -o <.xvg> (Output, Opt.) Output file description diff --git a/src/gromacs/essentialdynamics/edsam.c b/src/gromacs/essentialdynamics/edsam.c index 99b81af603..e6cab41f9c 100644 --- a/src/gromacs/essentialdynamics/edsam.c +++ b/src/gromacs/essentialdynamics/edsam.c @@ -34,34 +34,31 @@ * 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 -#endif +#include "gmxpre.h" + +#include "edsam.h" #include #include #include -#include "typedefs.h" -#include "gromacs/utility/cstringutil.h" -#include "gromacs/utility/smalloc.h" -#include "names.h" #include "gromacs/fileio/confio.h" -#include "txtdump.h" -#include "vec.h" -#include "nrnb.h" -#include "mshift.h" -#include "mdrun.h" -#include "update.h" -#include "physics.h" -#include "mtop_util.h" -#include "gromacs/essentialdynamics/edsam.h" #include "gromacs/fileio/gmxfio.h" -#include "xvgr.h" -#include "gromacs/mdlib/groupcoord.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" #include "gromacs/linearalgebra/nrjac.h" -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/groupcoord.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* We use the same defines as in mvdata.c here */ #define block_bc(cr, d) gmx_bcast( sizeof(d), &(d), (cr)) @@ -1141,7 +1138,7 @@ static void get_flood_enx_names(t_edpar *edi, char** names, int *nnames) /* get { srenew(names, count); sprintf(buf, "Vfl_%d", count); - names[count-1] = strdup(buf); + names[count-1] = gmx_strdup(buf); actual = actual->next_edi; count++; } @@ -1796,6 +1793,7 @@ static int read_edi_file(const char *fn, t_edpar *edi, int nr_mdatoms) /* 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) @@ -2454,7 +2452,7 @@ static void nice_legend(const char ***setname, int *nsets, char **LegendStr, cha sprintf(tmp, "%c %s", EDgroupchar, value); add_to_string_aligned(LegendStr, tmp); sprintf(tmp2, "%s (%s)", tmp, unit); - (*setname)[*nsets] = strdup(tmp2); + (*setname)[*nsets] = gmx_strdup(tmp2); (*nsets)++; } diff --git a/src/gromacs/essentialdynamics/edsam.h b/src/gromacs/essentialdynamics/edsam.h index 9a1c410ba5..20cbaf442b 100644 --- a/src/gromacs/essentialdynamics/edsam.h +++ b/src/gromacs/essentialdynamics/edsam.h @@ -3,7 +3,7 @@ * * 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. @@ -48,7 +48,8 @@ #ifndef GMX_ESSENTIALDYNAMICS_EDSAM_H #define GMX_ESSENTIALDYNAMICS_EDSAM_H -#include "typedefs.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/fft/CMakeLists.txt b/src/gromacs/fft/CMakeLists.txt index cb5a51f736..5de9782aa6 100644 --- a/src/gromacs/fft/CMakeLists.txt +++ b/src/gromacs/fft/CMakeLists.txt @@ -34,10 +34,10 @@ # GLOB is used to get full paths file(GLOB FFT_SOURCES - fft.c fft5d.cpp parallel_3dfft.c) + fft.cpp fft5d.cpp parallel_3dfft.cpp) if (GMX_FFT_FFTPACK) - file(GLOB FFT_SPECIFIC_SOURCES fft_fftpack.c) + file(GLOB FFT_SPECIFIC_SOURCES fft_fftpack.cpp) list(APPEND FFT_SPECIFIC_SOURCES ${CMAKE_SOURCE_DIR}/src/external/fftpack/fftpack.c) endif() @@ -45,7 +45,7 @@ if (GMX_FFT_FFTW3) file(GLOB FFT_SPECIFIC_SOURCES fft_fftw3.cpp) endif() if (GMX_FFT_MKL) - file(GLOB FFT_SPECIFIC_SOURCES fft_mkl.c) + file(GLOB FFT_SPECIFIC_SOURCES fft_mkl.cpp) endif() set(LIBGROMACS_SOURCES diff --git a/src/gromacs/fft/fft.c b/src/gromacs/fft/fft.cpp similarity index 98% rename from src/gromacs/fft/fft.c rename to src/gromacs/fft/fft.cpp index 591ff87e70..2d8a81e17b 100644 --- a/src/gromacs/fft/fft.c +++ b/src/gromacs/fft/fft.cpp @@ -33,20 +33,20 @@ * 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 -#endif +#include "gmxpre.h" +#include "fft.h" + +#include "config.h" + +#include #include #include #include -#include -#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 diff --git a/src/gromacs/fft/fft.h b/src/gromacs/fft/fft.h index ac575ac14a..69fe46289b 100644 --- a/src/gromacs/fft/fft.h +++ b/src/gromacs/fft/fft.h @@ -54,8 +54,8 @@ #include -#include "../legacyheaders/types/simple.h" -#include "../math/gmxcomplex.h" +#include "gromacs/math/gmxcomplex.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/fft/fft5d.cpp b/src/gromacs/fft/fft5d.cpp index 94fde316da..93f518a85b 100644 --- a/src/gromacs/fft/fft5d.cpp +++ b/src/gromacs/fft/fft5d.cpp @@ -32,16 +32,25 @@ * 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 -#endif +#include "gmxpre.h" -#include +#include "fft5d.h" +#include "config.h" + +#include +#include +#include #include #include #include +#include + +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" + #ifdef NOGMX #define GMX_PARALLEL_ENV_INITIALIZED 1 #else @@ -52,8 +61,6 @@ #endif #endif -#include "gromacs/utility/gmxmpi.h" - #ifdef GMX_OPENMP /* TODO: Do we still need this? Are we still planning ot use fftw + OpenMP? */ #define FFT5D_THREADS @@ -61,12 +68,6 @@ /* #define FFT5D_FFTW_THREADS (now set by cmake) */ #endif -#include "fft5d.h" -#include -#include -#include -#include "gromacs/utility/smalloc.h" - #ifndef __FLT_EPSILON__ #define __FLT_EPSILON__ FLT_EPSILON #define __DBL_EPSILON__ DBL_EPSILON @@ -76,11 +77,9 @@ FILE* debug = 0; #endif -#include "gmx_fatal.h" - - #ifdef GMX_FFT_FFTW3 #include "thread_mpi/mutex.h" + #include "gromacs/utility/exceptions.h" /* none of the fftw3 calls, except execute(), are thread-safe, so we need to serialize them with this mutex. */ @@ -1006,7 +1005,7 @@ void fft5d_execute(fft5d_plan plan, int thread, fft5d_time times) s = 0; /*lin: x,y,z*/ - if (plan->flags&FFT5D_DEBUG && thread == 0) + if ((plan->flags&FFT5D_DEBUG) && thread == 0) { print_localdata(lin, "%d %d: copy in lin\n", s, plan); } @@ -1066,7 +1065,7 @@ void fft5d_execute(fft5d_plan plan, int thread, fft5d_time times) time_fft += MPI_Wtime()-time; } #endif - if (plan->flags&FFT5D_DEBUG && thread == 0) + if ((plan->flags&FFT5D_DEBUG) && thread == 0) { print_localdata(lout, "%d %d: FFT %d\n", s, plan); } @@ -1187,7 +1186,7 @@ void fft5d_execute(fft5d_plan plan, int thread, fft5d_time times) time_local += MPI_Wtime()-time; } #endif - if (plan->flags&FFT5D_DEBUG && thread == 0) + if ((plan->flags&FFT5D_DEBUG) && thread == 0) { print_localdata(lin, "%d %d: tranposed %d\n", s+1, plan); } @@ -1231,7 +1230,7 @@ void fft5d_execute(fft5d_plan plan, int thread, fft5d_time times) } #endif - if (plan->flags&FFT5D_DEBUG && thread == 0) + if ((plan->flags&FFT5D_DEBUG) && thread == 0) { print_localdata(lout, "%d %d: FFT %d\n", s, plan); } diff --git a/src/gromacs/fft/fft5d.h b/src/gromacs/fft/fft5d.h index feab8329fa..ba6753d473 100644 --- a/src/gromacs/fft/fft5d.h +++ b/src/gromacs/fft/fft5d.h @@ -36,9 +36,7 @@ #ifndef FFT5D_H_ #define FFT5D_H_ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #ifdef NOGMX /*#define GMX_MPI*/ diff --git a/src/gromacs/fft/fft_fftpack.c b/src/gromacs/fft/fft_fftpack.cpp similarity index 98% rename from src/gromacs/fft/fft_fftpack.c rename to src/gromacs/fft/fft_fftpack.cpp index f56f40d0b0..1301723da1 100644 --- a/src/gromacs/fft/fft_fftpack.c +++ b/src/gromacs/fft/fft_fftpack.cpp @@ -2,7 +2,7 @@ * 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. @@ -33,21 +33,19 @@ * 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 -#endif +#include "gmxpre.h" +#include #include #include #include -#include - -#include "gromacs/fft/fft.h" -#include "gromacs/legacyheaders/types/simple.h" -#include "gmx_fatal.h" #include "external/fftpack/fftpack.h" +#include "gromacs/fft/fft.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/real.h" + /*! \internal * \brief * Contents of the FFTPACK fft datatype. diff --git a/src/gromacs/fft/fft_fftw3.cpp b/src/gromacs/fft/fft_fftw3.cpp index 16900074fa..dee2ff284b 100644 --- a/src/gromacs/fft/fft_fftw3.cpp +++ b/src/gromacs/fft/fft_fftw3.cpp @@ -2,7 +2,7 @@ * 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. @@ -33,17 +33,20 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #include #include #include +#include "thread_mpi/mutex.h" + #include "gromacs/fft/fft.h" -#include "gmx_fatal.h" +#include "gromacs/utility/exceptions.h" +#include "gromacs/utility/fatalerror.h" #ifdef GMX_DOUBLE #define FFTWPREFIX(name) fftw_ ## name @@ -51,9 +54,6 @@ #define FFTWPREFIX(name) fftwf_ ## name #endif -#include "thread_mpi/mutex.h" -#include "gromacs/utility/exceptions.h" - /* none of the fftw3 calls, except execute(), are thread-safe, so we need to serialize them with this mutex. */ static tMPI::mutex big_fftw_mutex; diff --git a/src/gromacs/fft/fft_mkl.c b/src/gromacs/fft/fft_mkl.cpp similarity index 99% rename from src/gromacs/fft/fft_mkl.c rename to src/gromacs/fft/fft_mkl.cpp index e142c84d3b..fc9694e5eb 100644 --- a/src/gromacs/fft/fft_mkl.c +++ b/src/gromacs/fft/fft_mkl.cpp @@ -2,7 +2,7 @@ * 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. @@ -33,9 +33,7 @@ * 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 -#endif +#include "gmxpre.h" #include #include @@ -44,7 +42,7 @@ #include #include "gromacs/fft/fft.h" -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" /* For MKL version (<10.0), we should define MKL_LONG. */ diff --git a/src/gromacs/fft/parallel_3dfft.c b/src/gromacs/fft/parallel_3dfft.cpp similarity index 97% rename from src/gromacs/fft/parallel_3dfft.c rename to src/gromacs/fft/parallel_3dfft.cpp index 7312cbedc7..3c04fb24fc 100644 --- a/src/gromacs/fft/parallel_3dfft.c +++ b/src/gromacs/fft/parallel_3dfft.cpp @@ -33,23 +33,20 @@ * 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 -#endif +#include "gmxpre.h" +#include "parallel_3dfft.h" + +#include #include #include -#include #include "gromacs/fft/fft.h" -#include "gromacs/fft/parallel_3dfft.h" +#include "gromacs/fft/fft5d.h" #include "gromacs/math/gmxcomplex.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxmpi.h" - #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" - -#include "fft5d.h" struct gmx_parallel_3dfft { fft5d_plan p1, p2; @@ -133,7 +130,7 @@ gmx_parallel_3dfft_real_limits(gmx_parallel_3dfft_t pfft_setup, static void reorder_ivec_yzx(ivec v) { - real tmp; + int tmp; tmp = v[0]; v[XX] = v[2]; diff --git a/src/gromacs/fft/parallel_3dfft.h b/src/gromacs/fft/parallel_3dfft.h index 7d4c0d84b3..145b0a97b7 100644 --- a/src/gromacs/fft/parallel_3dfft.h +++ b/src/gromacs/fft/parallel_3dfft.h @@ -37,11 +37,12 @@ #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 "../utility/gmxmpi.h" -#include "fft.h" +#include "gromacs/fft/fft.h" +#include "gromacs/math/gmxcomplex.h" +#include "gromacs/timing/wallcycle.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/fft/tests/fft.cpp b/src/gromacs/fft/tests/fft.cpp index bc3dd9ce71..dfe4dbd331 100644 --- a/src/gromacs/fft/tests/fft.cpp +++ b/src/gromacs/fft/tests/fft.cpp @@ -42,11 +42,14 @@ * \author Roland Schulz * \ingroup module_fft */ +#include "gmxpre.h" + +#include "gromacs/fft/fft.h" + #include #include -#include "gromacs/fft/fft.h" #include "gromacs/fft/parallel_3dfft.h" #include "gromacs/utility/stringutil.h" @@ -90,11 +93,8 @@ class BaseFFTTest : public ::testing::Test // TODO: These tolerances are just something that has been observed // to be sufficient to pass the tests. It would be nicer to // actually argue about why they are sufficient (or what is). -#ifdef GMX_DOUBLE - checker_.setDefaultTolerance(gmx::test::relativeRealTolerance(10.0, 512)); -#else - checker_.setDefaultTolerance(gmx::test::relativeRealTolerance(10.0, 64)); -#endif + checker_.setDefaultTolerance( + gmx::test::relativeToleranceAsPrecisionDependentUlp(10.0, 64, 512)); } ~BaseFFTTest() { diff --git a/src/gromacs/fileio/CMakeLists.txt b/src/gromacs/fileio/CMakeLists.txt index 7d3d02c5f7..99955060a2 100644 --- a/src/gromacs/fileio/CMakeLists.txt +++ b/src/gromacs/fileio/CMakeLists.txt @@ -46,10 +46,10 @@ set(FILEIO_PUBLIC_HEADERS confio.h enxio.h filenm.h - futil.h gmxfio.h matio.h mdoutf.h + mtxio.h pdbio.h tpxio.h trajectory_writing.h @@ -58,6 +58,7 @@ set(FILEIO_PUBLIC_HEADERS trxio.h xdr_datatype.h xtcio.h + xvgr.h ) gmx_install_headers(fileio ${FILEIO_PUBLIC_HEADERS}) diff --git a/src/gromacs/fileio/confio.c b/src/gromacs/fileio/confio.c index 18cf7a1c59..ef01aa45f7 100644 --- a/src/gromacs/fileio/confio.c +++ b/src/gromacs/fileio/confio.c @@ -34,32 +34,33 @@ * 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 -#endif +#include "gmxpre.h" + +#include "confio.h" -#include -#include "sysstuff.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "sysstuff.h" #include -#include "macros.h" +#include +#include + +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/trx.h" +#include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xdrf.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/topology/symtab.h" +#include "gromacs/topology/topology.h" #include "gromacs/utility/cstringutil.h" -#include "confio.h" -#include "vec.h" -#include "symtab.h" -#include "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 "gmxfio.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define CHAR_SHIFT 24 @@ -254,7 +255,7 @@ int read_g96_conf(FILE *fp, const char *infile, t_trxframe *fr, char *line) if (fr->title == NULL) { fgets2(line, STRLEN, fp); - fr->title = strdup(line); + fr->title = gmx_strdup(line); } bEnd = FALSE; while (!bEnd && fgets2(line, STRLEN, fp)) @@ -1145,6 +1146,18 @@ static void read_whole_conf(const char *infile, char *title, 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; @@ -1153,7 +1166,7 @@ gmx_bool gro_next_x_or_v(FILE *status, t_trxframe *fr) double tt; int ndec = 0, i; - if (gmx_eof(status)) + if (gmx_one_before_eof(status)) { return FALSE; } @@ -1470,8 +1483,6 @@ void write_sto_conf_indexed(const char *outfile, const char *title, gmx_fio_fclose(out); break; case efTPR: - case efTPB: - case efTPA: gmx_fatal(FARGS, "Sorry, can not write a topology to %s", outfile); break; default: @@ -1525,8 +1536,6 @@ void write_sto_conf(const char *outfile, const char *title, t_atoms *atoms, gmx_fio_fclose(out); break; case efTPR: - case efTPB: - case efTPA: gmx_fatal(FARGS, "Sorry, can not write a topology to %s", outfile); break; default: @@ -1598,8 +1607,6 @@ void get_stx_coordnum(const char *infile, int *natoms) case efESP: *natoms = get_espresso_coordnum(infile); break; - case efTPA: - case efTPB: case efTPR: { t_tpxheader tpx; @@ -1668,8 +1675,6 @@ void read_stx_conf(const char *infile, char *title, t_atoms *atoms, read_espresso_conf(infile, atoms, x, v, box); break; case efTPR: - case efTPB: - case efTPA: snew(mtop, 1); i = read_tpx(infile, NULL, box, &natoms, x, v, NULL, mtop); if (ePBC) diff --git a/src/gromacs/fileio/confio.h b/src/gromacs/fileio/confio.h index b1d37770d8..2b149c23a8 100644 --- a/src/gromacs/fileio/confio.h +++ b/src/gromacs/fileio/confio.h @@ -2,8 +2,8 @@ * 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. @@ -38,8 +38,10 @@ #ifndef GMX_FILEIO_CONFIO_H #define GMX_FILEIO_CONFIO_H +#include -#include "../legacyheaders/typedefs.h" +#include "gromacs/fileio/trx.h" +#include "gromacs/legacyheaders/types/simple.h" /* For reading coordinate files it is assumed that enough memory * has been allocated beforehand. @@ -48,6 +50,9 @@ 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 * @@ -66,29 +71,29 @@ gmx_bool gro_next_x_or_v(FILE *status, t_trxframe *fr); 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 */ @@ -96,7 +101,7 @@ void get_stx_coordnum (const char *infile, int *natoms); /* 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. diff --git a/src/gromacs/fileio/enxio.c b/src/gromacs/fileio/enxio.c index 1a7585f3fb..c9b34b1da1 100644 --- a/src/gromacs/fileio/enxio.c +++ b/src/gromacs/fileio/enxio.c @@ -34,20 +34,22 @@ * 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 -#endif +#include "gmxpre.h" + +#include "enxio.h" +#include #include -#include "futil.h" -#include "gmx_fatal.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/xdrf.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/topology.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "gmxfio.h" -#include "enxio.h" -#include "vec.h" -#include "xdrf.h" -#include "macros.h" /* The source code in this file should be thread-safe. Please keep it that way. */ @@ -110,31 +112,31 @@ static void enxsubblock_free(t_enxsubblock *sb) { 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; } @@ -146,10 +148,10 @@ static void enxsubblock_free(t_enxsubblock *sb) { 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; } @@ -231,7 +233,7 @@ static void enxblock_free(t_enxblock *eb) { enxsubblock_free(&(eb->sub[i])); } - free(eb->sub); + sfree(eb->sub); eb->nsub_alloc = 0; eb->sub = NULL; } @@ -265,7 +267,7 @@ void free_enxframe(t_enxframe *fr) { enxblock_free(&(fr->block[b])); } - free(fr->block); + sfree(fr->block); } void add_blocks_enxframe(t_enxframe *fr, int n) @@ -372,7 +374,7 @@ static void edr_strings(XDR *xdr, gmx_bool bRead, int file_version, } else { - nm->unit = strdup("kJ/mol"); + nm->unit = gmx_strdup("kJ/mol"); } } } @@ -920,7 +922,6 @@ gmx_bool do_enx(ener_file_t ef, t_enxframe *fr) int i, b; gmx_bool bRead, bOK, bOK1, bSane; real tmp1, tmp2, rdum; - char buf[22]; /*int d_size;*/ bOK = TRUE; @@ -973,9 +974,9 @@ gmx_bool do_enx(ener_file_t ef, t_enxframe *fr) { 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) { diff --git a/src/gromacs/fileio/enxio.h b/src/gromacs/fileio/enxio.h index 922467a0cc..c8434ab2b5 100644 --- a/src/gromacs/fileio/enxio.h +++ b/src/gromacs/fileio/enxio.h @@ -2,8 +2,8 @@ * 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. @@ -37,15 +37,18 @@ #ifndef GMX_FILEIO_ENXIO_H #define GMX_FILEIO_ENXIO_H -#include "../legacyheaders/typedefs.h" -#include "../legacyheaders/pbc.h" -#include "gmxfio.h" -#include "xdr_datatype.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/xdr_datatype.h" +#include "gromacs/legacyheaders/types/energy.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/state.h" #ifdef __cplusplus 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 @@ -185,7 +188,7 @@ gmx_bool do_enx(ener_file_t ef, t_enxframe *fr); /* 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. diff --git a/src/gromacs/fileio/filenm.c b/src/gromacs/fileio/filenm.c index 62f4521d86..782424df60 100644 --- a/src/gromacs/fileio/filenm.c +++ b/src/gromacs/fileio/filenm.c @@ -34,23 +34,19 @@ * 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 "filenm.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "filenm.h" #include -#include #include -#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... @@ -60,9 +56,6 @@ /* 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 { @@ -77,7 +70,7 @@ static const int trxs[] = #ifdef USE_XDR efXTC, efTRR, efCPT, #endif - efTRJ, efGRO, efG96, efPDB, efTNG + efGRO, efG96, efPDB, efTNG }; #define NTRXS asize(trxs) @@ -95,7 +88,7 @@ static const int tros[] = #ifdef USE_XDR efXTC, efTRR, #endif - efTRJ, efGRO, efG96, efPDB, efTNG + efGRO, efG96, efPDB, efTNG }; #define NTROS asize(tros) @@ -104,7 +97,7 @@ static const int trns[] = #ifdef USE_XDR efTRR, efCPT, #endif - efTRJ, efTNG + efTNG }; #define NTRNS asize(trns) @@ -114,29 +107,19 @@ static const int stos[] = static const int stxs[] = { - efGRO, efG96, efPDB, efBRK, efENT, efESP, + efGRO, efG96, efPDB, efBRK, efENT, efESP #ifdef USE_XDR - efTPR, + , efTPR #endif - efTPB, efTPA }; #define NSTXS asize(stxs) -static const int tpxs[] = -{ -#ifdef USE_XDR - efTPR, -#endif - efTPB, efTPA -}; -#define NTPXS asize(tpxs) - static const int tpss[] = { #ifdef USE_XDR efTPR, #endif - efTPB, efTPA, efGRO, efG96, efPDB, efBRK, efENT + efGRO, efG96, efPDB, efBRK, efENT }; #define NTPSS asize(tpss) @@ -161,7 +144,6 @@ static const t_deffile { eftGEN, ".???", "traj", NULL, "Full precision trajectory", NTRNS, trns }, { eftXDR, ".trr", "traj", NULL, "Trajectory in portable xdr format" }, - { eftBIN, ".trj", "traj", NULL, "Trajectory file (architecture specific)" }, { eftGEN, ".???", "traj_comp", NULL, "Compressed trajectory (tng format or portable xdr format)", NTRCOMPRESSED, trcompressed}, { eftXDR, ".xtc", "traj", NULL, @@ -185,11 +167,8 @@ static const t_deffile { eftASC, ".ndx", "index", "-n", "Index file", }, { eftASC, ".top", "topol", "-p", "Topology file"}, { eftASC, ".itp", "topinc", NULL, "Include file for topology"}, - { eftGEN, ".???", "topol", "-s", "Run input file", NTPXS, tpxs }, { eftGEN, ".???", "topol", "-s", "Structure+mass(db)", NTPSS, tpss }, { eftXDR, ".tpr", "topol", "-s", "Portable xdr run input file"}, - { eftASC, ".tpa", "topol", "-s", "Ascii run input file"}, - { eftBIN, ".tpb", "topol", "-s", "Binary run input file"}, { eftASC, ".tex", "doc", "-o", "LaTeX file"}, { eftASC, ".rtp", "residue", NULL, "Residue Type file used by pdb2gmx" }, { eftASC, ".atp", "atomtp", NULL, "Atomtype file used by pdb2gmx" }, @@ -237,8 +216,6 @@ const char *ftp2ext_generic(int ftp) return "sto"; case efSTX: return "stx"; - case efTPX: - return "tpx"; case efTPS: return "tps"; default: @@ -335,26 +312,15 @@ const char *ftp2defnm(int ftp) } } -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; } } @@ -393,246 +359,6 @@ int fn2ftp(const char *fn) 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; @@ -817,8 +543,8 @@ int add_suffix_to_output_names(t_filenm *fnm, int nfile, const char *suffix) extpos = strrchr(buf, '.'); *extpos = '\0'; sprintf(newname, "%s%s.%s", buf, suffix, extpos + 1); - free(fnm[i].fns[j]); - fnm[i].fns[j] = strdup(newname); + sfree(fnm[i].fns[j]); + fnm[i].fns[j] = gmx_strdup(newname); } } } @@ -836,7 +562,7 @@ t_filenm *dup_tfn(int nf, const t_filenm tfn[]) ret[i] = tfn[i]; /* just directly copy all non-string fields */ if (tfn[i].opt) { - ret[i].opt = strdup(tfn[i].opt); + ret[i].opt = gmx_strdup(tfn[i].opt); } else { @@ -845,7 +571,7 @@ t_filenm *dup_tfn(int nf, const t_filenm tfn[]) if (tfn[i].fn) { - ret[i].fn = strdup(tfn[i].fn); + ret[i].fn = gmx_strdup(tfn[i].fn); } else { @@ -857,7 +583,7 @@ t_filenm *dup_tfn(int nf, const t_filenm tfn[]) snew(ret[i].fns, tfn[i].nfiles); for (j = 0; j < tfn[i].nfiles; j++) { - ret[i].fns[j] = strdup(tfn[i].fns[j]); + ret[i].fns[j] = gmx_strdup(tfn[i].fns[j]); } } } diff --git a/src/gromacs/fileio/filenm.h b/src/gromacs/fileio/filenm.h index 12933f6315..0dcfd73b9d 100644 --- a/src/gromacs/fileio/filenm.h +++ b/src/gromacs/fileio/filenm.h @@ -38,7 +38,8 @@ #ifndef GMX_FILEIO_FILENM_H #define GMX_FILEIO_FILENM_H -#include "../legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec_fwd.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { @@ -47,14 +48,14 @@ extern "C" { /* this enum should correspond to the array deffile in gmxlib/filenm.c */ enum { efMDP, - efTRX, efTRO, efTRN, efTRR, efTRJ, efCOMPRESSED, efXTC, efTNG, + efTRX, efTRO, efTRN, efTRR, efCOMPRESSED, efXTC, efTNG, efEDR, efSTX, efSTO, efGRO, efG96, efPDB, efBRK, efENT, efESP, efPQR, efCPT, efLOG, efXVG, efOUT, efNDX, efTOP, efITP, - efTPX, efTPS, efTPR, efTPA, efTPB, + efTPS, efTPR, efTEX, efRTP, efATP, efHDB, efDAT, efDLG, efMAP, efEPS, efMAT, efM2P, @@ -114,14 +115,12 @@ const char *ftp2desc(int ftp); 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. */ diff --git a/src/gromacs/fileio/futil.h b/src/gromacs/fileio/futil.h deleted file mode 100644 index ddaaef1b4b..0000000000 --- a/src/gromacs/fileio/futil.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - * 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 -#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 */ diff --git a/src/gromacs/fileio/gmx_system_xdr.c b/src/gromacs/fileio/gmx_system_xdr.c index 0bee3665fe..9839291218 100644 --- a/src/gromacs/fileio/gmx_system_xdr.c +++ b/src/gromacs/fileio/gmx_system_xdr.c @@ -2,8 +2,8 @@ * 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. @@ -34,19 +34,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #ifdef GMX_INTERNAL_XDR -#include +#include "gmx_system_xdr.h" + #include +#include #include -#include "gmx_system_xdr.h" - /* NB - THIS FILE IS ONLY USED ON MICROSOFT WINDOWS, since that * system doesn't provide any standard XDR system libraries. It will diff --git a/src/gromacs/fileio/gmxfio.c b/src/gromacs/fileio/gmxfio.c index d9909d56ac..cad0b38951 100644 --- a/src/gromacs/fileio/gmxfio.c +++ b/src/gromacs/fileio/gmxfio.c @@ -34,13 +34,16 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gmxfio.h" + +#include "config.h" #include #include #include + #ifdef HAVE_IO_H #include #endif @@ -50,16 +53,14 @@ #include "thread_mpi/threads.h" -#include "gmx_fatal.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "futil.h" -#include "filenm.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio_int.h" +#include "gromacs/fileio/md5.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/cstringutil.h" -#include "gmxfio.h" -#include "md5.h" - -#include "gmxfio_int.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* This is the new improved and thread safe version of gmxfio. */ @@ -86,51 +87,20 @@ static tMPI_Thread_mutex_t open_file_mutex = TMPI_THREAD_MUTEX_INITIALIZER; static const int ftpXDR[] = { efTPR, efTRR, efEDR, efXTC, efTNG, efMTX, efCPT }; static const int ftpASC[] = -{ efTPA, efGRO, efPDB }; +{ efGRO, efPDB, efG96 }; static const int ftpBIN[] = -{ efTPB, efTRJ, efTNG }; +{ efTNG }; #ifdef HAVE_XML static const int ftpXML[] = { efXML}; #endif -const char *itemstr[eitemNR] = -{ - "[header]", "[inputrec]", "[box]", "[topology]", "[coordinates]", - "[velocities]", "[forces]" -}; - const char *eioNames[eioNR] = { "REAL", "INT", "GMX_STE_T", "UCHAR", "NUCHAR", "USHORT", "RVEC", "NRVEC", "IVEC", "STRING" }; - - -/* Comment strings for TPA only */ -const char *comment_str[eitemNR] = { - "; The header holds information on the number of atoms etc. and on whether\n" - "; certain items are present in the file or not.\n" - "; \n" - "; WARNING\n" - "; DO NOT EDIT THIS FILE BY HAND\n" - "; The GROMACS preprocessor performs a lot of checks on your input that\n" - "; you ignore when editing this. Your simulation may crash because of this\n", - "; The inputrec holds the parameters for MD such as the number of steps,\n" - "; the timestep and the cut-offs.\n", - "; The simulation box in nm.\n", - "; The topology section describes the topology of the molecules\n" - "; i.e. bonds, angles and dihedrals etc. and also holds the force field\n" - "; parameters.\n", - "; The atomic coordinates in nm\n", - "; The atomic velocities in nm/ps\n", - "; The forces on the atoms in nm/ps^2\n" -}; - - - - /****************************************************************** * * Internal functions: @@ -433,41 +403,34 @@ t_fileio *gmx_fio_open(const char *fn, const char *mode) gmx_bool bRead, bReadWrite; int xdrid; - if (fn2ftp(fn) == efTPA) + /* sanitize the mode string */ + if (strncmp(mode, "r+", 2) == 0) + { + strcpy(newmode, "r+"); + } + else if (mode[0] == 'r') { - strcpy(newmode, mode); + strcpy(newmode, "r"); + } + else if (strncmp(mode, "w+", 2) == 0) + { + strcpy(newmode, "w+"); + } + else if (mode[0] == 'w') + { + strcpy(newmode, "w"); + } + else if (strncmp(mode, "a+", 2) == 0) + { + strcpy(newmode, "a+"); + } + else if (mode[0] == 'a') + { + strcpy(newmode, "a"); } else { - /* sanitize the mode string */ - if (strncmp(mode, "r+", 2) == 0) - { - strcpy(newmode, "r+"); - } - else if (mode[0] == 'r') - { - strcpy(newmode, "r"); - } - else if (strncmp(mode, "w+", 2) == 0) - { - strcpy(newmode, "w+"); - } - else if (mode[0] == 'w') - { - strcpy(newmode, "w"); - } - else if (strncmp(mode, "a+", 2) == 0) - { - strcpy(newmode, "a+"); - } - else if (mode[0] == 'a') - { - strcpy(newmode, "a"); - } - else - { - gmx_fatal(FARGS, "DEATH HORROR in gmx_fio_open, mode is '%s'", mode); - } + gmx_fatal(FARGS, "DEATH HORROR in gmx_fio_open, mode is '%s'", mode); } /* Check if it should be opened as a binary file */ @@ -489,7 +452,7 @@ t_fileio *gmx_fio_open(const char *fn, const char *mode) if (fn) { fio->iFTP = fn2ftp(fn); - fio->fn = strdup(fn); + fio->fn = gmx_strdup(fn); fio->bStdio = FALSE; /* If this file type is in the list of XDR files, open it like that */ @@ -546,14 +509,6 @@ t_fileio *gmx_fio_open(const char *fn, const char *mode) gmx_fseek(fio->fp, 0, SEEK_END); } } - else - { - /* Use stdin/stdout for I/O */ - fio->iFTP = efTPA; - fio->fp = bRead ? stdin : stdout; - fio->fn = strdup("STDIO"); - fio->bStdio = TRUE; - } fio->bRead = bRead; fio->bReadWrite = bReadWrite; fio->bDouble = (sizeof(real) == sizeof(double)); diff --git a/src/gromacs/fileio/gmxfio.h b/src/gromacs/fileio/gmxfio.h index 021d6eec8f..bc656d2ef9 100644 --- a/src/gromacs/fileio/gmxfio.h +++ b/src/gromacs/fileio/gmxfio.h @@ -2,8 +2,8 @@ * 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. @@ -39,8 +39,11 @@ #define GMX_FILEIO_GMXFIO_H #include -#include "../legacyheaders/typedefs.h" -#include "futil.h" + +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { @@ -63,9 +66,6 @@ enum { typedef struct t_fileio t_fileio; -extern const char *itemstr[eitemNR]; -extern const char *comment_str[eitemNR]; - /* NOTE ABOUT THREAD SAFETY: The functions are all thread-safe, provided that two threads don't @@ -80,11 +80,6 @@ extern const char *comment_str[eitemNR]; t_fileio *gmx_fio_open(const char *fn, const char *mode); /* Open a new file for reading or writing. * The file type will be deduced from the file name. - * If fn is NULL, stdin / stdout will be used for Ascii I/O (TPA type) - * mode may be "r", "w", or "a". You should append a "b" to the mode - * if you are writing a binary file, but the routine will also - * doublecheck it and try to do it if you forgot. This has no effect on - * unix, but is important on windows. */ int gmx_fio_close(t_fileio *fp); @@ -147,7 +142,7 @@ void gmx_fio_checktype(t_fileio *fio); ***************************************************/ void gmx_fio_rewind(t_fileio *fio); -/* Rewind the tpa file in fio */ +/* Rewind the file in fio */ int gmx_fio_flush(t_fileio *fio); /* Flush the fio, returns 0 on success */ diff --git a/src/gromacs/fileio/gmxfio_asc.c b/src/gromacs/fileio/gmxfio_asc.c index bf35b85aaf..f819a8d7a0 100644 --- a/src/gromacs/fileio/gmxfio_asc.c +++ b/src/gromacs/fileio/gmxfio_asc.c @@ -34,30 +34,28 @@ * 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 "gmxpre.h" - -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #include #include #include #include + #ifdef HAVE_IO_H #include #endif -#include "gmx_fatal.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "futil.h" -#include "filenm.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/gmxfio_int.h" +#include "gromacs/fileio/md5.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/cstringutil.h" -#include "gmxfio.h" -#include "md5.h" - -#include "gmxfio_int.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* This is the part that reads dummy and ascii files. */ @@ -295,8 +293,9 @@ static gmx_bool do_ascread(t_fileio *fio, void *item, int nitem, int eio, int i, m, res = 0, *iptr, ix; gmx_int64_t s; double d, x; + char c; real *ptr; - unsigned char uc, *ucptr; + unsigned char *ucptr; char *cptr; #define NEXT_ITEM_BUF_LEN 128 char ni_buf[NEXT_ITEM_BUF_LEN]; @@ -329,10 +328,10 @@ static gmx_bool do_ascread(t_fileio *fio, void *item, int nitem, int eio, } break; case eioUCHAR: - res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%c", &uc); + res = sscanf(next_item(fp, ni_buf, NEXT_ITEM_BUF_LEN), "%c", &c); if (item) { - *((unsigned char *) item) = uc; + *((unsigned char *) item) = (unsigned char)c; } break; case eioNUCHAR: diff --git a/src/gromacs/fileio/gmxfio_bin.c b/src/gromacs/fileio/gmxfio_bin.c index 7cc1c55938..9238af5fa1 100644 --- a/src/gromacs/fileio/gmxfio_bin.c +++ b/src/gromacs/fileio/gmxfio_bin.c @@ -34,25 +34,25 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #include #include #include + #ifdef HAVE_IO_H #include #endif -#include "macros.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/gmxfio_int.h" +#include "gromacs/fileio/md5.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "futil.h" -#include "filenm.h" -#include "gmxfio.h" -#include "md5.h" - -#include "gmxfio_int.h" /* This is the part that reads dummy and ascii files. */ diff --git a/src/gromacs/fileio/gmxfio_int.h b/src/gromacs/fileio/gmxfio_int.h index cedde9ae90..e7010b15f3 100644 --- a/src/gromacs/fileio/gmxfio_int.h +++ b/src/gromacs/fileio/gmxfio_int.h @@ -58,7 +58,7 @@ #include "thread_mpi/lock.h" -#include "xdrf.h" +#include "gromacs/fileio/xdrf.h" /* the reader/writer functions for t_iotype */ typedef gmx_bool read_func (t_fileio *fio, void *item, int nitem, int eio, diff --git a/src/gromacs/fileio/gmxfio_rw.c b/src/gromacs/fileio/gmxfio_rw.c index e1b7031ed3..bdfa1ec4d8 100644 --- a/src/gromacs/fileio/gmxfio_rw.c +++ b/src/gromacs/fileio/gmxfio_rw.c @@ -34,24 +34,24 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" -#include #include +#include + #ifdef HAVE_IO_H #include #endif -#include "macros.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/gmxfio_int.h" +#include "gromacs/fileio/md5.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "futil.h" -#include "filenm.h" -#include "gmxfio.h" -#include "md5.h" - -#include "gmxfio_int.h" /******************************************************************* diff --git a/src/gromacs/fileio/gmxfio_xdr.c b/src/gromacs/fileio/gmxfio_xdr.c index 47ad3ca59c..ca1b70d21e 100644 --- a/src/gromacs/fileio/gmxfio_xdr.c +++ b/src/gromacs/fileio/gmxfio_xdr.c @@ -34,26 +34,26 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #include #include #include + #ifdef HAVE_IO_H #include #endif -#include "gmx_fatal.h" -#include "macros.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/gmxfio_int.h" +#include "gromacs/fileio/md5.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "futil.h" -#include "filenm.h" -#include "gmxfio.h" -#include "md5.h" - -#include "gmxfio_int.h" /* This is the part that reads xdr files. */ diff --git a/src/gromacs/fileio/libxdrf.c b/src/gromacs/fileio/libxdrf.c index d83d7e6bd1..401cfa8883 100644 --- a/src/gromacs/fileio/libxdrf.c +++ b/src/gromacs/fileio/libxdrf.c @@ -34,9 +34,7 @@ * 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 -#endif +#include "gmxpre.h" #include #include @@ -44,9 +42,9 @@ #include #include -#include "xdrf.h" -#include "xdr_datatype.h" -#include "futil.h" +#include "gromacs/fileio/xdr_datatype.h" +#include "gromacs/fileio/xdrf.h" +#include "gromacs/utility/futil.h" /* This is just for clarity - it can never be anything but 4! */ #define XDR_INT_SIZE 4 @@ -1132,7 +1130,6 @@ xtc_get_next_frame_number(FILE *fp, XDR *xdrs, int natoms) } } } - return -1; } @@ -1173,7 +1170,6 @@ static float xtc_get_next_frame_time(FILE *fp, XDR *xdrs, int natoms, return -1; } } - return -1; } @@ -1221,7 +1217,6 @@ xtc_get_current_frame_time(FILE *fp, XDR *xdrs, int natoms, gmx_bool * bOK) } } } - return -1; } /* Currently not used, just for completeness */ @@ -1271,7 +1266,6 @@ xtc_get_current_frame_number(FILE *fp, XDR *xdrs, int natoms, gmx_bool * bOK) } } } - return -1; } @@ -1304,7 +1298,6 @@ static gmx_off_t xtc_get_next_frame_start(FILE *fp, XDR *xdrs, int natoms) return -1; } } - return -1; } diff --git a/src/gromacs/fileio/matio.cpp b/src/gromacs/fileio/matio.cpp index 0adabce026..6d464f8c91 100644 --- a/src/gromacs/fileio/matio.cpp +++ b/src/gromacs/fileio/matio.cpp @@ -34,28 +34,24 @@ * 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 -#endif +#include "gmxpre.h" + +#include "matio.h" -#include #include +#include #include -#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) @@ -102,19 +98,6 @@ void done_matrix(int nx, real ***m) *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); @@ -160,7 +143,7 @@ int getcmap(FILE *in, const char *fn, t_mapping **map) sscanf(line, "%s%s%lf%lf%lf", code, desc, &r, &g, &b); m[i].code.c1 = code[0]; m[i].code.c2 = 0; - m[i].desc = strdup(desc); + m[i].desc = gmx_strdup(desc); m[i].rgb.r = r; m[i].rgb.g = g; m[i].rgb.b = b; @@ -177,7 +160,7 @@ int readcmap(const char *fn, t_mapping **map) in = libopen(fn); n = getcmap(in, fn, map); - gmx_fio_fclose(in); + gmx_ffclose(in); return n; } @@ -220,7 +203,7 @@ static char *fgetline(char **line, int llmax, int *llalloc, FILE *in) return fg; } -void skipstr(char *line) +static void skipstr(char *line) { int i, c; @@ -239,7 +222,7 @@ void skipstr(char *line) line[c-i] = '\0'; } -char *line2string(char **line) +static char *line2string(char **line) { int i; @@ -275,7 +258,7 @@ char *line2string(char **line) 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)) { @@ -287,7 +270,7 @@ void parsestring(char *line, const char *label, char *string) } } -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}; @@ -440,7 +423,7 @@ void read_xpm_entry(FILE *in, t_matrix *mm) line = strchr(line, '\"'); line++; line2string(&line); - map[m].desc = strdup(line); + map[m].desc = gmx_strdup(line); m++; } } @@ -565,7 +548,7 @@ void read_xpm_entry(FILE *in, t_matrix *mm) 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; @@ -579,8 +562,8 @@ int read_xpm_matrix(const char *fnm, t_matrix **matrix) { 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++; } } @@ -596,15 +579,15 @@ int read_xpm_matrix(const char *fnm, t_matrix **matrix) 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++) @@ -620,34 +603,34 @@ real **matrix2real(t_matrix *matrix, real **mat) 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 @@ -683,9 +666,9 @@ static int calc_nmid(int nlevels, real lo, real mid, real hi) 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; @@ -803,12 +786,12 @@ static void pr_discrete_cmap(FILE *out, int *nlevel, int i0) -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; @@ -834,8 +817,8 @@ void write_xpm_map_split(FILE *out, int n_x, int n_y, } -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; @@ -872,8 +855,8 @@ void write_xpm_map(FILE *out, int n_x, int n_y, int *nlevels, real lo, real hi, } } -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; @@ -895,8 +878,8 @@ void write_xpm_axis(FILE *out, const char *axis, gmx_bool bSpatial, int n, } } -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; @@ -911,7 +894,7 @@ void write_xpm_data(FILE *out, int n_x, int n_y, real **matrix, 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; @@ -940,8 +923,8 @@ void write_xpm_data(FILE *out, int n_x, int n_y, real **matrix, } } -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; @@ -959,13 +942,13 @@ void write_xpm_data3(FILE *out, int n_x, int n_y, real **matrix, 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 { @@ -1000,9 +983,9 @@ void write_xpm_data3(FILE *out, int n_x, int n_y, real **matrix, } } -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; @@ -1021,18 +1004,18 @@ void write_xpm_data_split(FILE *out, int n_x, int n_y, real **matrix, { 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 @@ -1114,7 +1097,7 @@ void write_xpm3(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 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. @@ -1130,14 +1113,14 @@ void write_xpm3(FILE *out, unsigned int flags, 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, @@ -1166,7 +1149,7 @@ void write_xpm_split(FILE *out, unsigned int flags, 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); } @@ -1174,7 +1157,7 @@ void write_xpm(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 lo, real hi, + real *mat[], real lo, real hi, t_rgb rlo, t_rgb rhi, int *nlevels) { /* out xpm file @@ -1202,5 +1185,5 @@ void write_xpm(FILE *out, unsigned int flags, 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); } diff --git a/src/gromacs/fileio/matio.h b/src/gromacs/fileio/matio.h index b2547c229d..1facdf5608 100644 --- a/src/gromacs/fileio/matio.h +++ b/src/gromacs/fileio/matio.h @@ -2,8 +2,8 @@ * 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. @@ -38,12 +38,65 @@ #ifndef GMX_FILEIO_MATIO_H #define GMX_FILEIO_MATIO_H -#include "../legacyheaders/typedefs.h" +#include + +#include "gromacs/legacyheaders/types/rgb.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/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); @@ -63,10 +116,10 @@ void printcmap(FILE *out, int n, t_mapping map[]); 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 @@ -79,7 +132,7 @@ void write_xpm3(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 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. @@ -88,7 +141,7 @@ 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, @@ -104,7 +157,7 @@ void write_xpm(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 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 @@ -120,7 +173,7 @@ void write_xpm(FILE *out, unsigned int flags, * 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 @@ -132,8 +185,6 @@ real **mk_matrix(int nx, int ny, gmx_bool b1D); void done_matrix(int nx, real ***m); -void clear_matrix(int nx, int ny, real **m); - #ifdef __cplusplus } #endif diff --git a/src/gromacs/fileio/md5.c b/src/gromacs/fileio/md5.c index 8154a6e811..ff74cc68d0 100644 --- a/src/gromacs/fileio/md5.c +++ b/src/gromacs/fileio/md5.c @@ -36,9 +36,9 @@ * the use of GMX_INTEGER_BIG_ENDIAN, and the renaming of the * functions md5_init, md5_append and md5_finish to have a gmx_ prefix * (to avoid name clashes). */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #ifdef GMX_INTEGER_BIG_ENDIAN #define ARCH_IS_BIG_ENDIAN 1 @@ -99,6 +99,7 @@ */ #include "md5.h" + #include #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ @@ -188,7 +189,6 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) #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 diff --git a/src/gromacs/fileio/mdoutf.c b/src/gromacs/fileio/mdoutf.c index 1118cc0653..844c84602e 100644 --- a/src/gromacs/fileio/mdoutf.c +++ b/src/gromacs/fileio/mdoutf.c @@ -32,23 +32,25 @@ * 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 "gmxpre.h" + #include "mdoutf.h" -#include "gromacs/legacyheaders/xvgr.h" +#include "gromacs/fileio/tngio.h" +#include "gromacs/fileio/trajectory_writing.h" +#include "gromacs/fileio/trnio.h" +#include "gromacs/fileio/xtcio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/domdec.h" #include "gromacs/legacyheaders/mdrun.h" -#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/legacyheaders/mvdata.h" -#include "gromacs/legacyheaders/domdec.h" -#include "trnio.h" -#include "xtcio.h" -#include "tngio.h" -#include "trajectory_writing.h" -#include "checkpoint.h" -#include "copyrite.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" -#include "gromacs/utility/smalloc.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" #include "gromacs/timing/wallcycle.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" struct gmx_mdoutf { t_fileio *fp_trn; diff --git a/src/gromacs/fileio/mdoutf.h b/src/gromacs/fileio/mdoutf.h index a063c1fd8f..8e241f4e3e 100644 --- a/src/gromacs/fileio/mdoutf.h +++ b/src/gromacs/fileio/mdoutf.h @@ -37,13 +37,21 @@ #define GMX_FILEIO_MDOUTF_H #include -#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 "filenm.h" -#include "enxio.h" + +#include "gromacs/fileio/enxio.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/oenv.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/timing/wallcycle.h" +#include "gromacs/utility/basedefinitions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct gmx_mtop_t; typedef struct gmx_mdoutf *gmx_mdoutf_t; @@ -58,7 +66,7 @@ gmx_mdoutf_t init_mdoutf(FILE *fplog, 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, gmx_wallcycle_t wcycle); @@ -93,7 +101,7 @@ void done_mdoutf(gmx_mdoutf_t of); 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); @@ -105,5 +113,8 @@ void mdoutf_write_to_trajectory_files(FILE *fplog, t_commrec *cr, #define MDOF_CPT (1<<4) #define MDOF_IMD (1<<5) +#ifdef __cplusplus +} +#endif #endif /* GMX_FILEIO_MDOUTF_H */ diff --git a/src/gromacs/linearalgebra/mtxio.c b/src/gromacs/fileio/mtxio.c similarity index 97% rename from src/gromacs/linearalgebra/mtxio.c rename to src/gromacs/fileio/mtxio.c index 0a82d271c6..f2a27e0eaf 100644 --- a/src/gromacs/linearalgebra/mtxio.c +++ b/src/gromacs/fileio/mtxio.c @@ -34,23 +34,20 @@ * 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 "mtxio.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "mtxio.h" /* This module provides routines to read/write sparse or full storage * matrices from/to files. It is normally used for the Hessian matrix * 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 */ @@ -109,7 +106,7 @@ void gmx_mtxio_write(const char * filename, 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)) diff --git a/src/gromacs/linearalgebra/mtxio.h b/src/gromacs/fileio/mtxio.h similarity index 94% rename from src/gromacs/linearalgebra/mtxio.h rename to src/gromacs/fileio/mtxio.h index a3e66452c4..4f9216e5d3 100644 --- a/src/gromacs/linearalgebra/mtxio.h +++ b/src/gromacs/fileio/mtxio.h @@ -3,7 +3,7 @@ * * 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. @@ -40,12 +40,11 @@ * 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 "gromacs/linearalgebra/sparsematrix.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/fileio/pdbio.c b/src/gromacs/fileio/pdbio.c index 439b80a59e..20bd556dae 100644 --- a/src/gromacs/fileio/pdbio.c +++ b/src/gromacs/fileio/pdbio.c @@ -34,29 +34,29 @@ * 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 -#endif +#include "gmxpre.h" + +#include "pdbio.h" #include +#include #include -#include "sysstuff.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/ifunc.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/futil.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; @@ -274,7 +274,7 @@ void write_pdbfile_indexed(FILE *out, const char *title, 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; @@ -392,7 +392,7 @@ void write_pdbfile_indexed(FILE *out, const char *title, if (atoms->pdbinfo && atoms->pdbinfo[i].bAnisotropic) { - fprintf(out, "ANISOU%5u %-4.4s%4.4s%c%4d%c %7d%7d%7d%7d%7d%7d\n", + fprintf(out, "ANISOU%5d %-4.4s%4.4s%c%4d%c %7d%7d%7d%7d%7d%7d\n", (i+1)%100000, nm, resnm, ch, resnr, (resic == '\0') ? ' ' : resic, atoms->pdbinfo[i].uij[0], atoms->pdbinfo[i].uij[1], diff --git a/src/gromacs/fileio/pdbio.h b/src/gromacs/fileio/pdbio.h index ab53be3292..3e13161126 100644 --- a/src/gromacs/fileio/pdbio.h +++ b/src/gromacs/fileio/pdbio.h @@ -38,15 +38,18 @@ #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 + +#include "gromacs/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 @@ -94,13 +97,13 @@ void gmx_write_pdb_box(FILE *out, int ePBC, matrix box); * 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. @@ -116,18 +119,18 @@ void write_pdbfile(FILE *out, const char *title, t_atoms *atoms, * 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. @@ -153,7 +156,7 @@ gmx_bool gmx_conect_exist(gmx_conect conect, int ai, int aj); 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); diff --git a/src/gromacs/fileio/strdb.c b/src/gromacs/fileio/strdb.c index d46168b576..7d6ff971f8 100644 --- a/src/gromacs/fileio/strdb.c +++ b/src/gromacs/fileio/strdb.c @@ -34,21 +34,18 @@ * 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 "strdb.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "strdb.h" #include #include #include -#include "gmx_fatal.h" -#include "gromacs/utility/smalloc.h" #include "gromacs/utility/cstringutil.h" - -#include "gromacs/fileio/futil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" gmx_bool get_a_line(FILE *fp, char line[], int n) { @@ -145,7 +142,7 @@ int get_strings(const char *db, char ***strings) #ifdef DEBUG fprintf(stderr, "Have read: %s\n", buf); #endif - ptr[i] = strdup(buf); + ptr[i] = gmx_strdup(buf); } gmx_ffclose(in); @@ -226,7 +223,7 @@ int get_file(const char *db, char ***strings) maxi += 50; srenew(ptr, maxi); } - ptr[i] = strdup(buf); + ptr[i] = gmx_strdup(buf); i++; } nstr = i; diff --git a/src/gromacs/fileio/strdb.h b/src/gromacs/fileio/strdb.h index 3ef5acdaba..dc35b915ad 100644 --- a/src/gromacs/fileio/strdb.h +++ b/src/gromacs/fileio/strdb.h @@ -39,7 +39,7 @@ #include -#include "../legacyheaders/types/simple.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/fileio/tests/tngio.cpp b/src/gromacs/fileio/tests/tngio.cpp index a215baa297..6c5cbef349 100644 --- a/src/gromacs/fileio/tests/tngio.cpp +++ b/src/gromacs/fileio/tests/tngio.cpp @@ -39,12 +39,16 @@ * \author Mark Abraham * \ingroup module_fileio */ -#include -#include +#include "gmxpre.h" -#include "gromacs/fileio/path.h" #include "gromacs/fileio/tngio.h" + +#include + +#include + #include "gromacs/fileio/tngio_for_tools.h" +#include "gromacs/utility/path.h" #include "testutils/testfilemanager.h" diff --git a/src/gromacs/fileio/timecontrol.c b/src/gromacs/fileio/timecontrol.c index 062a771665..735d649423 100644 --- a/src/gromacs/fileio/timecontrol.c +++ b/src/gromacs/fileio/timecontrol.c @@ -34,16 +34,15 @@ * 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/timecontrol.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "timecontrol.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. */ diff --git a/src/gromacs/fileio/timecontrol.h b/src/gromacs/fileio/timecontrol.h index 6830168521..512d26d827 100644 --- a/src/gromacs/fileio/timecontrol.h +++ b/src/gromacs/fileio/timecontrol.h @@ -1,7 +1,7 @@ /* * 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. @@ -35,7 +35,8 @@ #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" diff --git a/src/gromacs/fileio/tngio.cpp b/src/gromacs/fileio/tngio.cpp index 35c94c2eeb..1303872d3d 100644 --- a/src/gromacs/fileio/tngio.cpp +++ b/src/gromacs/fileio/tngio.cpp @@ -32,11 +32,11 @@ * 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 "gmxpre.h" + #include "tngio.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #ifdef HAVE_UNISTD_H #include @@ -46,15 +46,17 @@ #include "tng/tng_io.h" #endif +#include "gromacs/fileio/gmxfio.h" #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/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) { diff --git a/src/gromacs/fileio/tngio.h b/src/gromacs/fileio/tngio.h index 1f439c537a..578b8f57ed 100644 --- a/src/gromacs/fileio/tngio.h +++ b/src/gromacs/fileio/tngio.h @@ -36,9 +36,12 @@ #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 @@ -46,6 +49,8 @@ extern "C" { } #endif +struct gmx_mtop_t; + /*! \brief Open a TNG trajectory file * * \param filename Name of file to open @@ -67,8 +72,8 @@ void gmx_tng_close(tng_trajectory_t *tng); * \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. @@ -77,9 +82,9 @@ void gmx_tng_add_mtop(tng_trajectory_t tng, * \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 * @@ -95,9 +100,9 @@ void gmx_tng_set_compression_precision(tng_trajectory_t tng, * \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 * diff --git a/src/gromacs/fileio/tngio_for_tools.cpp b/src/gromacs/fileio/tngio_for_tools.cpp index 997b40942f..b4cfc5f011 100644 --- a/src/gromacs/fileio/tngio_for_tools.cpp +++ b/src/gromacs/fileio/tngio_for_tools.cpp @@ -32,26 +32,23 @@ * 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 "gmxpre.h" + #include "tngio_for_tools.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #include -#include "tngio.h" -#include "trx.h" - #ifdef GMX_USE_TNG #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/fileio/tngio.h" +#include "gromacs/fileio/trx.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, @@ -540,7 +537,6 @@ gmx_bool gmx_read_next_tng_frame(tng_trajectory_t input, 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++) diff --git a/src/gromacs/fileio/tngio_for_tools.h b/src/gromacs/fileio/tngio_for_tools.h index f0a31eb250..c4993a2725 100644 --- a/src/gromacs/fileio/tngio_for_tools.h +++ b/src/gromacs/fileio/tngio_for_tools.h @@ -32,13 +32,17 @@ * 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 + #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 @@ -46,13 +50,16 @@ extern "C" { } #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); @@ -67,7 +74,7 @@ void gmx_prepare_tng_writing(const char *filename, * 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 @@ -80,7 +87,7 @@ void gmx_tng_setup_atom_subgroup(tng_trajectory_t tng, /*! \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); diff --git a/src/gromacs/fileio/tpxio.c b/src/gromacs/fileio/tpxio.c index de2e2640c9..4fba747508 100644 --- a/src/gromacs/fileio/tpxio.c +++ b/src/gromacs/fileio/tpxio.c @@ -34,31 +34,32 @@ * 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 -#endif +#include "gmxpre.h" /* This file is completely threadsafe - keep it that way! */ +#include "tpxio.h" + +#include #include -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" +#include "gromacs/fileio/confio.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.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 "gmx_fatal.h" -#include "macros.h" -#include "names.h" -#include "symtab.h" -#include "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/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define TPX_TAG_RELEASE "release" @@ -224,50 +225,6 @@ static const t_ftupd ftupd[] = { /* Needed for backward compatibility */ #define MAXNODES 256 -static void _do_section(t_fileio *fio, int key, gmx_bool bRead, const char *src, - int line) -{ - char buf[STRLEN]; - gmx_bool bDbg; - - if (gmx_fio_getftp(fio) == efTPA) - { - if (!bRead) - { - gmx_fio_write_string(fio, itemstr[key]); - bDbg = gmx_fio_getdebug(fio); - gmx_fio_setdebug(fio, FALSE); - gmx_fio_write_string(fio, comment_str[key]); - gmx_fio_setdebug(fio, bDbg); - } - else - { - if (gmx_fio_getdebug(fio)) - { - fprintf(stderr, "Looking for section %s (%s, %d)", - itemstr[key], src, line); - } - - do - { - gmx_fio_do_string(fio, buf); - } - while ((gmx_strcasecmp(buf, itemstr[key]) != 0)); - - if (gmx_strcasecmp(buf, itemstr[key]) != 0) - { - gmx_fatal(FARGS, "\nCould not find section heading %s", itemstr[key]); - } - else if (gmx_fio_getdebug(fio)) - { - fprintf(stderr, " and found it\n"); - } - } - } -} - -#define do_section(fio, key, bRead) _do_section(fio, key, bRead, __FILE__, __LINE__) - /************************************************************** * * Now the higer level routines that do io of the structures and arrays @@ -2722,7 +2679,7 @@ static void do_symtab(t_fileio *fio, t_symtab *symtab, gmx_bool bRead) for (i = 0; (i < nr); i++) { gmx_fio_do_string(fio, buf); - symbuf->buf[i] = strdup(buf); + symbuf->buf[i] = gmx_strdup(buf); } } else @@ -3199,7 +3156,7 @@ static void do_tpxheader(t_fileio *fio, gmx_bool bRead, t_tpxheader *tpx, gmx_fio_checktype(fio); gmx_fio_setdebug(fio, bDebugMode()); - /* NEW! XDR tpb file */ + /* XDR binary topology file */ precision = sizeof(real); if (bRead) { @@ -3304,7 +3261,6 @@ static void do_tpxheader(t_fileio *fio, gmx_bool bRead, t_tpxheader *tpx, gmx_fio_getname(fio), fver, tpx_version); } - do_section(fio, eitemHEADER, bRead); gmx_fio_do_int(fio, tpx->natoms); if (fver >= 28) { @@ -3399,7 +3355,6 @@ static int do_tpx(t_fileio *fio, gmx_bool bRead, #define do_test(fio, b, p) if (bRead && (p != NULL) && !b) gmx_fatal(FARGS, "No %s in %s",#p, gmx_fio_getname(fio)) do_test(fio, tpx.bBox, state->box); - do_section(fio, eitemBOX, bRead); if (tpx.bBox) { gmx_fio_ndo_rvec(fio, state->box, DIM); @@ -3446,7 +3401,6 @@ static int do_tpx(t_fileio *fio, gmx_bool bRead, if (file_version < 26) { do_test(fio, tpx.bIr, ir); - do_section(fio, eitemIR, bRead); if (tpx.bIr) { if (ir) @@ -3473,7 +3427,6 @@ static int do_tpx(t_fileio *fio, gmx_bool bRead, } do_test(fio, tpx.bTop, mtop); - do_section(fio, eitemTOP, bRead); if (tpx.bTop) { if (mtop) @@ -3487,7 +3440,6 @@ static int do_tpx(t_fileio *fio, gmx_bool bRead, } } do_test(fio, tpx.bX, state->x); - do_section(fio, eitemX, bRead); if (tpx.bX) { if (bRead) @@ -3498,7 +3450,6 @@ static int do_tpx(t_fileio *fio, gmx_bool bRead, } do_test(fio, tpx.bV, state->v); - do_section(fio, eitemV, bRead); if (tpx.bV) { if (bRead) @@ -3509,7 +3460,6 @@ static int do_tpx(t_fileio *fio, gmx_bool bRead, } do_test(fio, tpx.bF, f); - do_section(fio, eitemF, bRead); if (tpx.bF) { gmx_fio_ndo_rvec(fio, f, state->natoms); @@ -3527,7 +3477,6 @@ static int do_tpx(t_fileio *fio, gmx_bool bRead, if (file_version >= 26) { do_test(fio, tpx.bIr, ir); - do_section(fio, eitemIR, bRead); if (tpx.bIr) { if (file_version >= 53) @@ -3711,15 +3660,7 @@ int read_tpx_top(const char *fn, gmx_bool fn2bTPX(const char *file) { - switch (fn2ftp(file)) - { - case efTPR: - case efTPB: - case efTPA: - return TRUE; - default: - return FALSE; - } + return (efTPR == fn2ftp(file)); } static void done_gmx_groups_t(gmx_groups_t *g) diff --git a/src/gromacs/fileio/tpxio.h b/src/gromacs/fileio/tpxio.h index 0e64f3b070..0b3ca43e31 100644 --- a/src/gromacs/fileio/tpxio.h +++ b/src/gromacs/fileio/tpxio.h @@ -2,8 +2,8 @@ * 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. @@ -47,13 +47,19 @@ * can also be used with the routines in gmxfio.h * **************************************************************/ -#include "../legacyheaders/typedefs.h" -#include "gmxfio.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/state.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 */ @@ -79,10 +85,7 @@ typedef struct * These routines handle reading and writing of preprocessed * topology files in any of the following formats: * TPR : topology in XDR format, portable accross platforms - * TPB : binary topology, not portable accross platforms - * TPA : ascii topology (possibbly huge) * TRR : trajectory in XDR format (non compressed) - * TRJ : trajectory in binary format * * Files are written in the precision with which the source are compiled, * but double and single precision can be read by either. @@ -107,34 +110,30 @@ void read_tpxheader(const char *fn, t_tpxheader *tpx, gmx_bool TopOnlyOK, */ 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) * When step, t or lambda are NULL they will not be stored. * Returns ir->ePBC, if it could be read from the file. */ 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. @@ -143,7 +142,7 @@ gmx_bool read_tps_conf(const char *infile, char *title, t_topology *top, * 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 } diff --git a/src/gromacs/fileio/trajectory_writing.c b/src/gromacs/fileio/trajectory_writing.c index 0d90e8ea53..01b83b7de1 100644 --- a/src/gromacs/fileio/trajectory_writing.c +++ b/src/gromacs/fileio/trajectory_writing.c @@ -32,21 +32,19 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "sysstuff.h" -#include "vec.h" -#include "sim_util.h" -#include "mdrun.h" -#include "confio.h" #include "trajectory_writing.h" -#include "mdoutf.h" +#include "gromacs/fileio/confio.h" +#include "gromacs/fileio/mdoutf.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/sim_util.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" #include "gromacs/timing/wallcycle.h" +#include "gromacs/utility/smalloc.h" void do_md_trajectory_writing(FILE *fplog, @@ -147,7 +145,6 @@ do_md_trajectory_writing(FILE *fplog, if (bCPT) { (*nchkpt)++; - bCPT = FALSE; } debug_gmx(); if (bLastStep && step_rel == ir->nsteps && diff --git a/src/gromacs/fileio/trajectory_writing.h b/src/gromacs/fileio/trajectory_writing.h index 6327946777..37956342b1 100644 --- a/src/gromacs/fileio/trajectory_writing.h +++ b/src/gromacs/fileio/trajectory_writing.h @@ -39,10 +39,16 @@ #define GMX_FILEIO_TRAJECTORY_WRITING_H #include -#include "filenm.h" -#include "mdoutf.h" -#include "../legacyheaders/typedefs.h" -#include "../legacyheaders/mdebin.h" + +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/mdoutf.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/types/commrec_fwd.h" +#include "gromacs/timing/wallcycle.h" + +#ifdef __cplusplus +extern "C" { +#endif /*! \brief Wrapper routine for writing trajectories during mdrun * @@ -75,4 +81,8 @@ do_md_trajectory_writing(FILE *fplog, ); +#ifdef __cplusplus +} +#endif + #endif /* GMX_FILEIO_TRAJECTORY_WRITING_H */ diff --git a/src/gromacs/fileio/trnio.c b/src/gromacs/fileio/trnio.c index 91634ce09a..a1d6c8cbd7 100644 --- a/src/gromacs/fileio/trnio.c +++ b/src/gromacs/fileio/trnio.c @@ -34,19 +34,18 @@ * 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 -#endif +#include "gmxpre.h" + +#include "trnio.h" #include -#include "sysstuff.h" + +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "txtdump.h" -#include "names.h" -#include "futil.h" -#include "trnio.h" -#include "gmxfio.h" #define BUFSIZE 128 #define GROMACS_MAGIC 1993 diff --git a/src/gromacs/fileio/trnio.h b/src/gromacs/fileio/trnio.h index c5ae63e453..0dcc1e0399 100644 --- a/src/gromacs/fileio/trnio.h +++ b/src/gromacs/fileio/trnio.h @@ -2,8 +2,8 @@ * 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. @@ -40,8 +40,8 @@ /************************************************************** * - * These routines handle trj (trajectory) I/O, they read and - * write trj/trr files. The routines should be able to read single + * These routines handle trr (trajectory) I/O, they read and + * write trr files. The routines should be able to read single * and double precision files without the user noting it. * The files are backward compatible, therefore the header holds * some unused variables. @@ -53,8 +53,7 @@ * **************************************************************/ -#include "../legacyheaders/typedefs.h" -#include "gmxfio.h" +#include "gromacs/fileio/gmxfio.h" #ifdef __cplusplus extern "C" { @@ -84,7 +83,7 @@ typedef struct /* This struct describes the order and the */ } t_trnheader; t_fileio *open_trn(const char *fn, const char *mode); -/* Open a trj / trr file */ +/* Open a trr / trr file */ void close_trn(t_fileio *fio); /* Close it */ diff --git a/src/gromacs/fileio/trx.h b/src/gromacs/fileio/trx.h index b0f5096f78..9e551b5405 100644 --- a/src/gromacs/fileio/trx.h +++ b/src/gromacs/fileio/trx.h @@ -43,15 +43,19 @@ #ifndef GMX_FILEIO_TRX_H #define GMX_FILEIO_TRX_H -#include "../legacyheaders/types/atoms.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/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 */ @@ -76,7 +80,7 @@ typedef struct trxframe 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; diff --git a/src/gromacs/fileio/trxio.c b/src/gromacs/fileio/trxio.c index 2c9eb34e53..8e70f73716 100644 --- a/src/gromacs/fileio/trxio.c +++ b/src/gromacs/fileio/trxio.c @@ -34,39 +34,37 @@ * 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 "gmxpre.h" + #include "trxio.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #include #include -#include "sysstuff.h" -#include "typedefs.h" -#ifdef GMX_USE_PLUGINS -#include "vmdio.h" -#endif +#include "gromacs/fileio/confio.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/fileio/timecontrol.h" +#include "gromacs/fileio/tngio.h" +#include "gromacs/fileio/tngio_for_tools.h" +#include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/trnio.h" +#include "gromacs/fileio/trx.h" +#include "gromacs/fileio/xdrf.h" +#include "gromacs/fileio/xtcio.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/atoms.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "pbc.h" -#include "gmxfio.h" -#include "trxio.h" -#include "tpxio.h" -#include "trnio.h" -#include "tngio.h" -#include "tngio_for_tools.h" -#include "names.h" -#include "vec.h" -#include "futil.h" -#include "xtcio.h" -#include "pdbio.h" -#include "confio.h" -#include "checkpoint.h" -#include "xdrf.h" -#include "gromacs/fileio/timecontrol.h" -#include "gromacs/legacyheaders/gmx_fatal.h" +#ifdef GMX_USE_PLUGINS +#include "gromacs/fileio/vmdio.h" +#endif /* defines for frame counter output */ #define SKIP1 10 @@ -339,7 +337,6 @@ int write_trxframe_indexed(t_trxstatus *status, t_trxframe *fr, int nind, switch (ftp) { - case efTRJ: case efTRR: case efTNG: break; @@ -354,7 +351,6 @@ int write_trxframe_indexed(t_trxstatus *status, t_trxframe *fr, int nind, switch (ftp) { - case efTRJ: case efTRR: case efTNG: if (fr->bV) @@ -396,7 +392,6 @@ int write_trxframe_indexed(t_trxstatus *status, t_trxframe *fr, int nind, case efXTC: write_xtc(status->fio, nind, fr->step, fr->time, fr->box, xout, prec); break; - case efTRJ: case efTRR: fwrite_trn(status->fio, nframes_read(status), fr->time, fr->step, fr->box, nind, xout, vout, fout); @@ -434,8 +429,6 @@ int write_trxframe_indexed(t_trxstatus *status, t_trxframe *fr, int nind, switch (ftp) { - case efTRN: - case efTRJ: case efTRR: case efTNG: if (vout) @@ -535,7 +528,6 @@ int write_trxframe(t_trxstatus *status, t_trxframe *fr, gmx_conect gc) switch (gmx_fio_getftp(status->fio)) { - case efTRJ: case efTRR: break; default: @@ -552,7 +544,6 @@ int write_trxframe(t_trxstatus *status, t_trxframe *fr, gmx_conect gc) case efXTC: write_xtc(status->fio, fr->natoms, fr->step, fr->time, fr->box, fr->x, prec); break; - case efTRJ: case efTRR: fwrite_trn(status->fio, fr->step, fr->time, fr->lambda, fr->box, fr->natoms, fr->bX ? fr->x : NULL, fr->bV ? fr->v : NULL, fr->bF ? fr->f : NULL); @@ -815,7 +806,6 @@ gmx_bool read_next_frame(const output_env_t oenv, t_trxstatus *status, t_trxfram } switch (ftp) { - case efTRJ: case efTRR: bRet = gmx_next_frame(status, fr); break; @@ -949,7 +939,6 @@ int read_first_frame(const output_env_t oenv, t_trxstatus **status, } switch (ftp) { - case efTRJ: case efTRR: break; case efCPT: diff --git a/src/gromacs/fileio/trxio.h b/src/gromacs/fileio/trxio.h index d3b64a91c8..0d32e36405 100644 --- a/src/gromacs/fileio/trxio.h +++ b/src/gromacs/fileio/trxio.h @@ -38,12 +38,11 @@ #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 "gmxfio.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/legacyheaders/readinp.h" #ifdef __cplusplus extern "C" { @@ -52,6 +51,11 @@ 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; @@ -68,23 +72,23 @@ int prec2ndec(real prec); * 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 @@ -94,7 +98,7 @@ int write_trxframe(t_trxstatus *status, t_trxframe *fr, gmx_conect gc); * 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. @@ -102,15 +106,15 @@ int write_trx(t_trxstatus *status, int nind, const atom_id *ind, t_atoms *atoms, * 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 @@ -129,11 +133,11 @@ void trjtools_gmx_prepare_tng_writing(const char *filename, * 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 +/* Close trajectory file as opened with read_first_x, read_frist_frame * or open_trx. Identical to close_trj. */ @@ -199,7 +203,7 @@ int check_times(real t); #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. @@ -209,7 +213,7 @@ int read_first_frame(const output_env_t oenv, t_trxstatus **status, */ 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. */ @@ -229,14 +233,14 @@ gmx_bool read_next_x(const output_env_t oenv, t_trxstatus *status, real *t, rvec */ void close_trj(t_trxstatus *status); -/* Close trj file as opened with read_first_x, read_frist_frame +/* Close trajectory file as opened with read_first_x, read_first_frame * or open_trx. Identical to close_trx. */ void rewind_trj(t_trxstatus *status); -/* Rewind trj file as opened with read_first_x */ +/* Rewind trajectory 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. */ diff --git a/src/gromacs/fileio/vmdio.c b/src/gromacs/fileio/vmdio.c index 7d9c67c779..621160a9e8 100644 --- a/src/gromacs/fileio/vmdio.c +++ b/src/gromacs/fileio/vmdio.c @@ -32,10 +32,11 @@ * 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 "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "vmdio.h" + +#include "config.h" /* Derived from PluginMgr.C and catdcd.c */ @@ -85,12 +86,11 @@ /* */ /*****************************************************************************/ -#include +#include #include +#include #include -#include -#include /* * Plugin header files; get plugin source from www.ks.uiuc.edu/Research/vmd" */ @@ -102,17 +102,16 @@ #ifndef _WIN32_IE #define _WIN32_IE 0x0500 /* SHGetFolderPath is available since WinXP/IE5 */ #endif -#include #include +#include #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); diff --git a/src/gromacs/fileio/vmdio.h b/src/gromacs/fileio/vmdio.h index 6e11d75d54..ec4d1250ad 100644 --- a/src/gromacs/fileio/vmdio.h +++ b/src/gromacs/fileio/vmdio.h @@ -1,7 +1,7 @@ /* * 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. @@ -32,17 +32,19 @@ * 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; @@ -51,11 +53,11 @@ struct gmxvmdplugin 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 diff --git a/src/gromacs/fileio/writeps.c b/src/gromacs/fileio/writeps.c index dba6c5c15e..a0ae4e15cb 100644 --- a/src/gromacs/fileio/writeps.c +++ b/src/gromacs/fileio/writeps.c @@ -34,19 +34,16 @@ * 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 "writeps.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "writeps.h" #include -#include "gmx_fatal.h" -#include "gromacs/utility/smalloc.h" - -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/gmxfio.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" const char *fontnm[efontNR] = { "Times-Roman", "Times-Italic", "Times-Bold", "Times-BoldItalic", diff --git a/src/gromacs/fileio/writeps.h b/src/gromacs/fileio/writeps.h index 243fc4ff55..33b8dadde2 100644 --- a/src/gromacs/fileio/writeps.h +++ b/src/gromacs/fileio/writeps.h @@ -38,8 +38,10 @@ #define GMX_FILEIO_WRITEPS_H #include -#include "../legacyheaders/types/matrix.h" -#include "../legacyheaders/types/simple.h" + +#include "gromacs/legacyheaders/types/rgb.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/fileio/xdrd.c b/src/gromacs/fileio/xdrd.c index e48afd19bb..5af573e7b3 100644 --- a/src/gromacs/fileio/xdrd.c +++ b/src/gromacs/fileio/xdrd.c @@ -34,13 +34,11 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "xdrf.h" -#include "gmx_fatal.h" +#include "gromacs/fileio/xdrf.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" int xdr_real(XDR *xdrs, real *r) @@ -109,7 +107,7 @@ int xdr_int64(XDR *xdrs, gmx_int64_t *i) 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)); diff --git a/src/gromacs/fileio/xdrf.h b/src/gromacs/fileio/xdrf.h index 830867f728..dd2959e986 100644 --- a/src/gromacs/fileio/xdrf.h +++ b/src/gromacs/fileio/xdrf.h @@ -2,8 +2,8 @@ * 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. @@ -38,7 +38,9 @@ #define GMX_FILEIO_XDRF_H #include -#include "../legacyheaders/typedefs.h" + +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __PGI /*Portland group compiler*/ #define int64_t long long @@ -47,7 +49,7 @@ #include "config.h" #ifdef GMX_INTERNAL_XDR -#include "gmx_system_xdr.h" +#include "gromacs/fileio/gmx_system_xdr.h" #else #include #include diff --git a/src/gromacs/fileio/xtcio.c b/src/gromacs/fileio/xtcio.c index da52ac6bc2..248146417a 100644 --- a/src/gromacs/fileio/xtcio.c +++ b/src/gromacs/fileio/xtcio.c @@ -34,19 +34,18 @@ * 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 -#endif +#include "gmxpre.h" -#include -#include "typedefs.h" -#include "xdrf.h" -#include "gmxfio.h" #include "xtcio.h" + +#include + +#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 diff --git a/src/gromacs/fileio/xtcio.h b/src/gromacs/fileio/xtcio.h index 494cd863be..2c50fb89f0 100644 --- a/src/gromacs/fileio/xtcio.h +++ b/src/gromacs/fileio/xtcio.h @@ -2,8 +2,8 @@ * 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. @@ -38,8 +38,10 @@ #ifndef GMX_FILEIO_XTCIO_H #define GMX_FILEIO_XTCIO_H -#include "../legacyheaders/typedefs.h" -#include "gmxfio.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxlib/xvgr.cpp b/src/gromacs/fileio/xvgr.cpp similarity index 97% rename from src/gromacs/gmxlib/xvgr.cpp rename to src/gromacs/fileio/xvgr.cpp index 11e362ebeb..fc65cf8d02 100644 --- a/src/gromacs/gmxlib/xvgr.cpp +++ b/src/gromacs/fileio/xvgr.cpp @@ -34,32 +34,29 @@ * 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 -#endif +#include "gmxpre.h" + +#include "xvgr.h" + +#include "config.h" -#include #include +#include #include #ifdef HAVE_SYS_TIME_H #include #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/math/vec.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" -#include "gmx_fatal.h" -#include "gromacs/utility/programcontext.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" gmx_bool output_env_get_print_xvgr_codes(const output_env_t oenv) { @@ -253,10 +250,12 @@ void xvgr_header(FILE *fp, const char *title, const char *xaxis, gmx::BinaryInformationSettings settings; settings.generatedByHeader(true); settings.linePrefix("# "); - gmx::printBinaryInformation(fp, gmx::getProgramContext(), settings); + gmx::printBinaryInformation(fp, output_env_get_program_context(oenv), + settings); } GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; - fprintf(fp, "# %s is part of G R O M A C S:\n#\n", ShortProgram()); + fprintf(fp, "# %s is part of G R O M A C S:\n#\n", + output_env_get_program_display_name(oenv)); bromacs(pukestr, 99); fprintf(fp, "# %s\n#\n", pukestr); fprintf(fp, "@ title \"%s\"\n", xvgrstr(title, oenv, buf, STRLEN)); @@ -536,17 +535,17 @@ static char *read_xvgr_string(const char *line) ptr1 = strchr(ptr0, '"'); if (ptr1 != NULL) { - str = strdup(ptr0); + str = gmx_strdup(ptr0); str[ptr1-ptr0] = '\0'; } else { - str = strdup(""); + str = gmx_strdup(""); } } else { - str = strdup(""); + str = gmx_strdup(""); } return str; diff --git a/src/gromacs/legacyheaders/xvgr.h b/src/gromacs/fileio/xvgr.h similarity index 96% rename from src/gromacs/legacyheaders/xvgr.h rename to src/gromacs/fileio/xvgr.h index 22123bdd04..542387b189 100644 --- a/src/gromacs/legacyheaders/xvgr.h +++ b/src/gromacs/fileio/xvgr.h @@ -3,7 +3,7 @@ * * 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. @@ -34,13 +34,14 @@ * 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 -#include "sysstuff.h" -#include "typedefs.h" -#include "viewit.h" +#include "gromacs/legacyheaders/types/oenv.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { @@ -191,4 +192,4 @@ real **read_xvg_time(const char *fn, } #endif -#endif /* _xvgr_h */ +#endif diff --git a/src/gromacs/gmxana/anadih.c b/src/gromacs/gmxana/anadih.c index de46abf7ff..cc2fef9873 100644 --- a/src/gromacs/gmxana/anadih.c +++ b/src/gromacs/gmxana/anadih.c @@ -34,26 +34,25 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include -#include "physics.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "txtdump.h" -#include "bondf.h" -#include "xvgr.h" -#include "typedefs.h" -#include "vec.h" -#include "gstat.h" + #include "gromacs/fileio/confio.h" #include "gromacs/fileio/trxio.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/listed-forces/bonded.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" void print_one(const output_env_t oenv, const char *base, const char *name, const char *title, const char *ylabel, int nf, real time[], @@ -676,7 +675,7 @@ void calc_distribution_props(int nh, int histo[], real start, *S2 = tdc*tdc+tds*tds; } -static void calc_angles(t_pbc *pbc, +static void calc_angles(struct t_pbc *pbc, int n3, atom_id index[], real ang[], rvec x_s[]) { int i, ix, t1, t2; @@ -730,7 +729,7 @@ static real calc_fraction(real angles[], int nangles) } } -static void calc_dihs(t_pbc *pbc, +static void calc_dihs(struct t_pbc *pbc, int n4, atom_id index[], real ang[], rvec x_s[]) { int i, ix, t1, t2, t3; @@ -818,15 +817,15 @@ void read_ang_dih(const char *trj_fn, real *dih[], const output_env_t oenv) { - t_pbc *pbc; - t_trxstatus *status; - int i, angind, natoms, total, teller; - int nangles, n_alloc; - real t, fraction, pifac, aa, angle; - real *angles[2]; - matrix box; - rvec *x; - int cur = 0; + struct t_pbc *pbc; + t_trxstatus *status; + int i, angind, natoms, total, teller; + int nangles, n_alloc; + real t, fraction, pifac, aa, angle; + real *angles[2]; + matrix box; + rvec *x; + int cur = 0; #define prev (1-cur) snew(pbc, 1); diff --git a/src/gromacs/gmxana/autocorr.c b/src/gromacs/gmxana/autocorr.c index 5aca984fc6..9b0a13b691 100644 --- a/src/gromacs/gmxana/autocorr.c +++ b/src/gromacs/gmxana/autocorr.c @@ -34,25 +34,22 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include -#include "macros.h" -#include "typedefs.h" -#include "physics.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/correl.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "xvgr.h" -#include "gromacs/fileio/futil.h" -#include "gstat.h" -#include "names.h" -#include "gmx_fatal.h" -#include "vec.h" -#include "correl.h" #define MODE(x) ((mode & (x)) == (x)) diff --git a/src/gromacs/gmxana/binsearch.c b/src/gromacs/gmxana/binsearch.c index 5e273a0bc0..ac5135bef4 100644 --- a/src/gromacs/gmxana/binsearch.c +++ b/src/gromacs/gmxana/binsearch.c @@ -1,7 +1,7 @@ /* * 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. @@ -32,12 +32,12 @@ * 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 -#endif +#include "gmxpre.h" + #include -#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) diff --git a/src/gromacs/gmxana/binsearch.h b/src/gromacs/gmxana/binsearch.h index ea173f15c7..85bb9ec93c 100644 --- a/src/gromacs/gmxana/binsearch.h +++ b/src/gromacs/gmxana/binsearch.h @@ -1,7 +1,7 @@ /* * 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. @@ -35,7 +35,7 @@ #ifndef _binsearch_h #define _binsearch_h -#include "types/simple.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" diff --git a/src/gromacs/gmxana/cmat.c b/src/gromacs/gmxana/cmat.c index 7eb7155eed..672a2b60b2 100644 --- a/src/gromacs/gmxana/cmat.c +++ b/src/gromacs/gmxana/cmat.c @@ -34,17 +34,16 @@ * 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 -#endif +#include "gmxpre.h" #include "cmat.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "vec.h" -#include "xvgr.h" + #include "gromacs/fileio/matio.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" t_mat *init_mat(int n1, gmx_bool b1D) { diff --git a/src/gromacs/gmxana/cmat.h b/src/gromacs/gmxana/cmat.h index e7786a1e06..64673ec135 100644 --- a/src/gromacs/gmxana/cmat.h +++ b/src/gromacs/gmxana/cmat.h @@ -3,7 +3,7 @@ * * 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. @@ -38,7 +38,7 @@ #ifndef _cmat_h #define _cmat_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" typedef struct { int i, j; diff --git a/src/gromacs/gmxana/correl.c b/src/gromacs/gmxana/correl.c index b4a2c9b475..a8c8c430ff 100644 --- a/src/gromacs/gmxana/correl.c +++ b/src/gromacs/gmxana/correl.c @@ -35,17 +35,16 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" +#include "correl.h" + +#include #include #include -#include #include "gromacs/fft/fft.h" #include "gromacs/utility/smalloc.h" -#include "correl.h" #define SWAP(a, b) tempr = (a); (a) = (b); (b) = tempr diff --git a/src/gromacs/gmxana/correl.h b/src/gromacs/gmxana/correl.h index 6ce4df4d67..5851d6c28c 100644 --- a/src/gromacs/gmxana/correl.h +++ b/src/gromacs/gmxana/correl.h @@ -3,7 +3,7 @@ * * 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. @@ -39,8 +39,8 @@ #ifndef _correl_h #define _correl_h -#include "typedefs.h" #include "gromacs/fft/fft.h" +#include "gromacs/legacyheaders/typedefs.h" typedef struct { int n; diff --git a/src/gromacs/gmxana/dens_filter.c b/src/gromacs/gmxana/dens_filter.c index 585422bde3..bd08b5247a 100644 --- a/src/gromacs/gmxana/dens_filter.c +++ b/src/gromacs/gmxana/dens_filter.c @@ -33,18 +33,19 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + /* dens_filter.c * Routines for Filters and convolutions */ -#include -#include "typedefs.h" #include "dens_filter.h" + +#include + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" #include "gromacs/utility/smalloc.h" -#include "vec.h" #ifdef GMX_DOUBLE #define EXP(x) (exp(x)) diff --git a/src/gromacs/gmxana/dens_filter.h b/src/gromacs/gmxana/dens_filter.h index d10b2fa7bc..acbc23ae15 100644 --- a/src/gromacs/gmxana/dens_filter.h +++ b/src/gromacs/gmxana/dens_filter.h @@ -1,7 +1,7 @@ /* * 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. @@ -36,7 +36,8 @@ #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" diff --git a/src/gromacs/gmxana/dlist.c b/src/gromacs/gmxana/dlist.c index 11ee4eaea0..b7578cef62 100644 --- a/src/gromacs/gmxana/dlist.c +++ b/src/gromacs/gmxana/dlist.c @@ -34,22 +34,20 @@ * 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 -#endif +#include "gmxpre.h" #include #include +#include "gromacs/gmxana/gstat.h" +#include "gromacs/topology/residuetypes.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gstat.h" -#include "gmx_fatal.h" -#include "index.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; diff --git a/src/gromacs/gmxana/edittop.c b/src/gromacs/gmxana/edittop.c index 973660bdc8..3a5357c731 100644 --- a/src/gromacs/gmxana/edittop.c +++ b/src/gromacs/gmxana/edittop.c @@ -34,13 +34,12 @@ * 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 -#endif +#include "gmxpre.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/topology/symtab.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "symtab.h" void replace_atom(t_topology *top, int inr, char *anm, char *resnm, real q, real m, int type) @@ -111,6 +110,7 @@ static void delete_from_interactions(t_idef *idef, int inr) idef->il[i].iatoms[j] = niatoms[j]; } idef->il[i].nr = nnr; + /* cppcheck-suppress uninitvar Fixed in cppcheck 1.65 */ sfree(niatoms); } } diff --git a/src/gromacs/gmxana/eigio.c b/src/gromacs/gmxana/eigio.c index 2d555dc274..8d65ffbc59 100644 --- a/src/gromacs/gmxana/eigio.c +++ b/src/gromacs/gmxana/eigio.c @@ -34,16 +34,15 @@ * 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 -#endif +#include "gmxpre.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" #include "eigio.h" -#include "gromacs/fileio/trnio.h" + #include "gromacs/fileio/tpxio.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/fileio/trnio.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" void read_eigenvectors(const char *file, int *natoms, gmx_bool *bFit, rvec **xref, gmx_bool *bDMR, diff --git a/src/gromacs/gmxana/eigio.h b/src/gromacs/gmxana/eigio.h index e77db733c8..b254923bb6 100644 --- a/src/gromacs/gmxana/eigio.h +++ b/src/gromacs/gmxana/eigio.h @@ -3,7 +3,7 @@ * * 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. @@ -38,7 +38,7 @@ #ifndef _eigio_h #define _eigio_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" enum { eWXR_NO, eWXR_YES, eWXR_NOFIT diff --git a/src/gromacs/gmxana/expfit.c b/src/gromacs/gmxana/expfit.c index 406f5a36b1..61f9f7699e 100644 --- a/src/gromacs/gmxana/expfit.c +++ b/src/gromacs/gmxana/expfit.c @@ -34,22 +34,18 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "typedefs.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "xvgr.h" -#include "gromacs/fileio/futil.h" -#include "gstat.h" -#include "vec.h" -#include "index.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" const int nfp_ffn[effnNR] = { 0, 1, 2, 3, 2, 5, 7, 9, 4, 3}; diff --git a/src/gromacs/gmxana/fitahx.c b/src/gromacs/gmxana/fitahx.c index 7ee4bf867c..24b5a955d1 100644 --- a/src/gromacs/gmxana/fitahx.c +++ b/src/gromacs/gmxana/fitahx.c @@ -34,15 +34,13 @@ * 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 -#endif +#include "gmxpre.h" #include "fitahx.h" -#include "vec.h" #include "gromacs/math/do_fit.h" -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/math/vec.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) diff --git a/src/gromacs/gmxana/fitahx.h b/src/gromacs/gmxana/fitahx.h index ea5bca18bb..399028ef05 100644 --- a/src/gromacs/gmxana/fitahx.h +++ b/src/gromacs/gmxana/fitahx.h @@ -3,7 +3,7 @@ * * 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. @@ -39,8 +39,8 @@ #define _fitahx_h -#include "typedefs.h" -#include "hxprops.h" +#include "gromacs/gmxana/hxprops.h" +#include "gromacs/legacyheaders/typedefs.h" extern real fit_ahx(int nres, t_bb bb[], int natoms, int nall, atom_id allindex[], rvec x[], int nca, atom_id caindex[], gmx_bool bFit); diff --git a/src/gromacs/gmxana/geminate.c b/src/gromacs/gmxana/geminate.c index a9ee8113de..2b8603dfe6 100644 --- a/src/gromacs/gmxana/geminate.c +++ b/src/gromacs/gmxana/geminate.c @@ -32,18 +32,18 @@ * 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 -#endif +#include "gmxpre.h" -#include -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" #include "geminate.h" -#include "gromacs/legacyheaders/gmx_fatal.h" +#include +#include + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxomp.h" +#include "gromacs/utility/smalloc.h" static void missing_code_message() { diff --git a/src/gromacs/gmxana/geminate.h b/src/gromacs/gmxana/geminate.h index dc95b06d96..91bb097421 100644 --- a/src/gromacs/gmxana/geminate.h +++ b/src/gromacs/gmxana/geminate.h @@ -1,7 +1,7 @@ /* * 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. @@ -35,6 +35,11 @@ #ifndef _GEMINATE_H #define _GEMINATE_H +#include + +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" + enum { gemNULL, gemNONE, gemDD, gemAD, gemAA, gemA4, gemNR }; diff --git a/src/gromacs/gmxana/gmx_anadock.c b/src/gromacs/gmxana/gmx_anadock.c index 67bb1e7c6c..98675b5687 100644 --- a/src/gromacs/gmxana/gmx_anadock.c +++ b/src/gromacs/gmxana/gmx_anadock.c @@ -34,24 +34,23 @@ * 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 -#endif +#include "gmxpre.h" +#include #include +#include "gromacs/commandline/pargs.h" #include "gromacs/fileio/confio.h" -#include "copyrite.h" -#include "gromacs/fileio/futil.h" -#include "gmx_fatal.h" -#include "gromacs/utility/smalloc.h" -#include "gromacs/utility/cstringutil.h" -#include "vec.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" #include "gromacs/statistics/statistics.h" -#include "gromacs/commandline/pargs.h" -#include "typedefs.h" -#include "xvgr.h" -#include "macros.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static const char *etitles[] = { "E-docked", "Free Energy" }; diff --git a/src/gromacs/gmxana/gmx_anaeig.c b/src/gromacs/gmxana/gmx_anaeig.c index f0d58de9f9..4a219adf2c 100644 --- a/src/gromacs/gmxana/gmx_anaeig.c +++ b/src/gromacs/gmxana/gmx_anaeig.c @@ -34,35 +34,33 @@ * 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 -#endif +#include "gmxpre.h" + #include +#include #include + #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/fileio/pdbio.h" #include "gromacs/fileio/confio.h" +#include "gromacs/fileio/matio.h" +#include "gromacs/fileio/pdbio.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 "txtdump.h" -#include "eigio.h" -#include "physics.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/eigio.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/math/do_fit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void calc_entropy_qh(FILE *fp, int n, real eigval[], real temp, int nskip) { @@ -647,7 +645,7 @@ static void project(const char *trajfile, t_topology *top, int ePBC, matrix topb for (v = 0; v < noutvec; v++) { sprintf(str, "vec %d", eignr[outvec[v]]+1); - ylabel[v] = strdup(str); + ylabel[v] = gmx_strdup(str); } sprintf(str, "projection on eigenvectors (%s)", proj_unit); write_xvgr_graphs(projfile, noutvec, 1, str, NULL, output_env_get_xvgr_tlabel(oenv), @@ -713,8 +711,8 @@ static void project(const char *trajfile, t_topology *top, int ePBC, matrix topb init_t_atoms(&atoms, nframes, FALSE); snew(x, nframes); snew(b, nframes); - atnm = strdup("C"); - resnm = strdup("PRJ"); + atnm = gmx_strdup("C"); + resnm = gmx_strdup("PRJ"); if (nframes > 10000) { @@ -879,7 +877,7 @@ static void components(const char *outfile, int natoms, { v = outvec[g]; sprintf(str, "vec %d", eignr[v]+1); - ylabel[g] = strdup(str); + ylabel[g] = gmx_strdup(str); snew(y[g], 4); for (s = 0; s < 4; s++) { @@ -936,7 +934,7 @@ static void rmsf(const char *outfile, int natoms, real *sqrtm, gmx_fatal(FARGS, "Selected vector %d is larger than the number of eigenvalues (%d)", eignr[v]+1, neig); } sprintf(str, "vec %d", eignr[v]+1); - ylabel[g] = strdup(str); + ylabel[g] = gmx_strdup(str); snew(y[g], natoms); for (i = 0; i < natoms; i++) { @@ -1103,7 +1101,7 @@ int gmx_anaeig(int argc, char *argv[]) #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW | PCA_BE_NICE, + PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_analyze.c b/src/gromacs/gmxana/gmx_analyze.c index 480c1c67b2..a2f9799621 100644 --- a/src/gromacs/gmxana/gmx_analyze.c +++ b/src/gromacs/gmxana/gmx_analyze.c @@ -34,29 +34,29 @@ * 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 -#endif +#include "gmxpre.h" + #include +#include #include -#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 "copyrite.h" -#include "gromacs/fileio/futil.h" -#include "readinp.h" -#include "txtdump.h" -#include "gstat.h" -#include "gromacs/statistics/statistics.h" -#include "xvgr.h" -#include "gmx_ana.h" -#include "geminate.h" +#include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/geminate.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/linearalgebra/matrix.h" +#include "gromacs/math/vec.h" +#include "gromacs/statistics/statistics.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* must correspond to char *avbar_opt[] declared in main() */ enum { diff --git a/src/gromacs/gmxana/gmx_angle.c b/src/gromacs/gmxana/gmx_angle.c index 534f9153cd..2a093478e4 100644 --- a/src/gromacs/gmxana/gmx_angle.c +++ b/src/gromacs/gmxana/gmx_angle.c @@ -34,27 +34,26 @@ * 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 -#endif +#include "gmxpre.h" + #include #include -#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 "copyrite.h" -#include "vec.h" -#include "index.h" -#include "macros.h" -#include "gmx_fatal.h" -#include "xvgr.h" -#include "gstat.h" #include "gromacs/fileio/trnio.h" -#include "gmx_ana.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void dump_dih_trn(int nframes, int nangles, real **dih, const char *fn, @@ -181,7 +180,7 @@ int gmx_g_angle(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, npargs, ppa, asize(desc), desc, asize(bugs), bugs, &oenv)) { diff --git a/src/gromacs/gmxana/gmx_bar.c b/src/gromacs/gmxana/gmx_bar.c index 4f7ad985a9..2a2b8fd8cb 100644 --- a/src/gromacs/gmxana/gmx_bar.c +++ b/src/gromacs/gmxana/gmx_bar.c @@ -32,31 +32,29 @@ * 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 -#endif +#include "gmxpre.h" -#include -#include #include -#include #include +#include +#include +#include -#include "sysstuff.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "gromacs/fileio/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 "gmx_ana.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" #include "gromacs/utility/cstringutil.h" -#include "names.h" -#include "mdebin.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* Structure for the names of lambda vector components */ @@ -356,7 +354,7 @@ static void lambda_vec_print(const lambda_vec_t *lv, char *str, gmx_bool named) 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]); } } } diff --git a/src/gromacs/gmxana/gmx_bundle.c b/src/gromacs/gmxana/gmx_bundle.c index 263ed985e4..4b55d0d406 100644 --- a/src/gromacs/gmxana/gmx_bundle.c +++ b/src/gromacs/gmxana/gmx_bundle.c @@ -34,28 +34,25 @@ * 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 -#endif +#include "gmxpre.h" + #include #include #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/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "physics.h" -#include "gmx_ana.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define MAX_ENDS 3 @@ -261,7 +258,7 @@ int gmx_bundle(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_chi.c b/src/gromacs/gmxana/gmx_chi.c index 93a5e02c33..8c377df06a 100644 --- a/src/gromacs/gmxana/gmx_chi.c +++ b/src/gromacs/gmxana/gmx_chi.c @@ -34,32 +34,31 @@ * 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 -#endif -#include +#include "gmxpre.h" + #include +#include +#include +#include "gromacs/commandline/pargs.h" #include "gromacs/fileio/confio.h" +#include "gromacs/fileio/matio.h" #include "gromacs/fileio/pdbio.h" -#include "gmx_fatal.h" -#include "gromacs/fileio/futil.h" -#include "gstat.h" -#include "macros.h" +#include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" -#include "physics.h" -#include "index.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/residuetypes.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "gromacs/commandline/pargs.h" -#include "gromacs/fileio/tpxio.h" -#include -#include "sysstuff.h" -#include "txtdump.h" -#include "typedefs.h" -#include "vec.h" -#include "xvgr.h" -#include "gromacs/fileio/matio.h" -#include "gmx_ana.h" static gmx_bool bAllowed(real phi, real psi) { @@ -440,7 +439,7 @@ static int reset_em_all(int nlist, t_dlist dlist[], int nf, 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[], @@ -682,15 +681,15 @@ static void histogramming(FILE *log, int nbin, gmx_residuetype_t rt, snew(leg, NJC); for (i = 0; (i < NKKKPHI); i++) { - leg[i] = strdup(kkkphi[i].name); + leg[i] = gmx_strdup(kkkphi[i].name); } for (i = 0; (i < NKKKPSI); i++) { - leg[i+NKKKPHI] = strdup(kkkpsi[i].name); + leg[i+NKKKPHI] = gmx_strdup(kkkpsi[i].name); } for (i = 0; (i < NKKKCHI); i++) { - leg[i+NKKKPHI+NKKKPSI] = strdup(kkkchi1[i].name); + leg[i+NKKKPHI+NKKKPSI] = gmx_strdup(kkkchi1[i].name); } xvgr_legend(fp, NJC, (const char**)leg, oenv); fprintf(fp, "%5s ", "#Res."); @@ -1019,15 +1018,15 @@ static void print_transitions(const char *fn, int maxchi, int nlist, char *leg[edMax]; #define NLEG asize(leg) - leg[0] = strdup("Phi"); - leg[1] = strdup("Psi"); - leg[2] = strdup("Omega"); - leg[3] = strdup("Chi1"); - leg[4] = strdup("Chi2"); - leg[5] = strdup("Chi3"); - leg[6] = strdup("Chi4"); - leg[7] = strdup("Chi5"); - leg[8] = strdup("Chi6"); + leg[0] = gmx_strdup("Phi"); + leg[1] = gmx_strdup("Psi"); + leg[2] = gmx_strdup("Omega"); + leg[3] = gmx_strdup("Chi1"); + leg[4] = gmx_strdup("Chi2"); + leg[5] = gmx_strdup("Chi3"); + leg[6] = gmx_strdup("Chi4"); + leg[7] = gmx_strdup("Chi5"); + leg[8] = gmx_strdup("Chi6"); /* Print order parameters */ fp = xvgropen(fn, "Dihedral Rotamer Transitions", "Residue", "Transitions/ns", @@ -1083,7 +1082,7 @@ static void order_params(FILE *log, for (i = 0; i < NLEG; i++) { - leg[i] = strdup(const_leg[i]); + leg[i] = gmx_strdup(const_leg[i]); } /* Print order parameters */ @@ -1362,7 +1361,7 @@ int gmx_chi(int argc, char *argv[]) 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; @@ -1390,7 +1389,7 @@ int gmx_chi(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, npargs, ppa, asize(desc), desc, asize(bugs), bugs, &oenv)) { diff --git a/src/gromacs/gmxana/gmx_cluster.c b/src/gromacs/gmxana/gmx_cluster.c index 4919de6089..e93a10f95e 100644 --- a/src/gromacs/gmxana/gmx_cluster.c +++ b/src/gromacs/gmxana/gmx_cluster.c @@ -34,37 +34,34 @@ * 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 -#endif +#include "gmxpre.h" #include +#include #include -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" #include "gromacs/commandline/pargs.h" -#include "gromacs/fileio/tpxio.h" -#include "gromacs/fileio/trxio.h" -#include "gromacs/utility/cstringutil.h" -#include "vec.h" -#include "macros.h" -#include "index.h" -#include "gromacs/random/random.h" -#include "pbc.h" -#include "rmpbc.h" -#include "xvgr.h" -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/matio.h" -#include "cmat.h" +#include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trnio.h" -#include "viewit.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/cmat.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/linearalgebra/eigensolver.h" #include "gromacs/math/do_fit.h" -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/random/random.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* print to two file pointers at once (i.e. stderr and log) */ static gmx_inline @@ -1518,13 +1515,13 @@ int gmx_cluster(int argc, char *argv[]) { efXVG, "-sz", "clust-size", ffOPTWR}, { efXPM, "-tr", "clust-trans", ffOPTWR}, { efXVG, "-ntr", "clust-trans", ffOPTWR}, - { efXVG, "-clid", "clust-id.xvg", ffOPTWR}, + { efXVG, "-clid", "clust-id", ffOPTWR}, { efTRX, "-cl", "clusters.pdb", ffOPTWR } }; #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, + PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { diff --git a/src/gromacs/gmxana/gmx_clustsize.c b/src/gromacs/gmxana/gmx_clustsize.c index d84c79c2d8..2f9d219d7d 100644 --- a/src/gromacs/gmxana/gmx_clustsize.c +++ b/src/gromacs/gmxana/gmx_clustsize.c @@ -34,36 +34,30 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "sysstuff.h" -#include "typedefs.h" -#include "macros.h" -#include "vec.h" -#include "pbc.h" -#include "rmpbc.h" #include "gromacs/commandline/pargs.h" -#include "xvgr.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/fileio/matio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "index.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "calcgrid.h" -#include "nrnb.h" -#include "physics.h" -#include "coulomb.h" -#include "pme.h" -#include "gstat.h" -#include "gromacs/fileio/matio.h" -#include "mtop_util.h" -#include "gmx_ana.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" static void clust_size(const char *ndx, const char *trx, const char *xpm, const char *xpmw, const char *ncl, const char *acl, @@ -152,7 +146,7 @@ static void clust_size(const char *ndx, const char *trx, const char *xpm, { index[i] = i; } - gname = strdup("mols"); + gname = gmx_strdup("mols"); } else { @@ -508,7 +502,7 @@ int gmx_clustsize(int argc, char *argv[]) #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, + PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_confrms.c b/src/gromacs/gmxana/gmx_confrms.c index 4b9391fd1f..af82b05a04 100644 --- a/src/gromacs/gmxana/gmx_confrms.c +++ b/src/gromacs/gmxana/gmx_confrms.c @@ -34,33 +34,28 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "gromacs/fileio/filenm.h" -#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/fileio/confio.h" +#include "gromacs/fileio/filenm.h" #include "gromacs/fileio/pdbio.h" -#include "txtdump.h" -#include "viewit.h" -#include "rmpbc.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/tpxio.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/math/do_fit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" void calc_rm_cm(int isize, atom_id index[], t_atoms *atoms, rvec x[], rvec xcm) { @@ -177,7 +172,7 @@ int find_next_match_atoms_in_res(int *i1, atom_id index1[], { 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) { @@ -520,9 +515,9 @@ int gmx_confrms(int argc, char *argv[]) { efTPS, "-f1", "conf1.gro", ffREAD }, { efSTX, "-f2", "conf2", ffREAD }, { efSTO, "-o", "fit.pdb", ffWRITE }, - { efNDX, "-n1", "fit1.ndx", ffOPTRD }, - { efNDX, "-n2", "fit2.ndx", ffOPTRD }, - { efNDX, "-no", "match.ndx", ffOPTWR } + { efNDX, "-n1", "fit1", ffOPTRD }, + { efNDX, "-n2", "fit2", ffOPTRD }, + { efNDX, "-no", "match", ffOPTWR } }; #define NFILE asize(fnm) @@ -556,7 +551,7 @@ int gmx_confrms(int argc, char *argv[]) real *msds; - if (!parse_common_args(&argc, argv, PCA_BE_NICE | PCA_CAN_VIEW, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -616,12 +611,12 @@ int gmx_confrms(int argc, char *argv[]) fprintf(fp, "[ Match_%s_%s ]\n", conf1file, groupnames1); for (i = 0; i < isize1; i++) { - fprintf(fp, "%4u%s", index1[i]+1, (i%15 == 14 || i == isize1-1) ? "\n" : " "); + fprintf(fp, "%4d%s", index1[i]+1, (i%15 == 14 || i == isize1-1) ? "\n" : " "); } fprintf(fp, "[ Match_%s_%s ]\n", conf2file, groupnames2); for (i = 0; i < isize2; i++) { - fprintf(fp, "%4u%s", index2[i]+1, (i%15 == 14 || i == isize2-1) ? "\n" : " "); + fprintf(fp, "%4d%s", index2[i]+1, (i%15 == 14 || i == isize2-1) ? "\n" : " "); } } } @@ -641,7 +636,7 @@ int gmx_confrms(int argc, char *argv[]) if (warn < 20) { fprintf(stderr, - "Warning: atomnames at index %d don't match: %u %s, %u %s\n", + "Warning: atomnames at index %d don't match: %d %s, %d %s\n", i+1, index1[i]+1, name1, index2[i]+1, name2); } warn++; diff --git a/src/gromacs/gmxana/gmx_covar.c b/src/gromacs/gmxana/gmx_covar.c index f3e575f228..57756726ed 100644 --- a/src/gromacs/gmxana/gmx_covar.c +++ b/src/gromacs/gmxana/gmx_covar.c @@ -34,9 +34,9 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #include #include @@ -47,30 +47,25 @@ #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/fileio/confio.h" -#include "gromacs/fileio/trnio.h" -#include "mshift.h" -#include "xvgr.h" -#include "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/trnio.h" #include "gromacs/fileio/trxio.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/eigio.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/linearalgebra/eigensolver.h" #include "gromacs/math/do_fit.h" -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_covar(int argc, char *argv[]) { @@ -165,7 +160,7 @@ int gmx_covar(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_current.c b/src/gromacs/gmxana/gmx_current.c index 94b6d94db2..e27cf05233 100644 --- a/src/gromacs/gmxana/gmx_current.c +++ b/src/gromacs/gmxana/gmx_current.c @@ -32,26 +32,26 @@ * 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 -#endif +#include "gmxpre.h" + +#include +#include #include "gromacs/commandline/pargs.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "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/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" #include "gromacs/statistics/statistics.h" -#include "gmx_ana.h" -#include "macros.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" #define SQR(x) (pow(x, 2.0)) #define EPSI0 (EPSILON0*E_CHARGE*E_CHARGE*AVOGADRO/(KILO*NANO)) /* EPSILON0 in SI units */ @@ -469,7 +469,7 @@ static void dielectric(FILE *fmj, FILE *fmd, FILE *outf, FILE *fcur, FILE *mcor, xshfr[i] = 0.0; } } - + assert(time != NULL); if (nfr == 0) @@ -857,12 +857,12 @@ int gmx_current(int argc, char *argv[]) { efTPS, NULL, NULL, ffREAD }, /* this is for the topology */ { efNDX, NULL, NULL, ffOPTRD }, { efTRX, "-f", NULL, ffREAD }, /* and this for the trajectory */ - { efXVG, "-o", "current.xvg", ffWRITE }, - { efXVG, "-caf", "caf.xvg", ffOPTWR }, - { efXVG, "-dsp", "dsp.xvg", ffWRITE }, - { efXVG, "-md", "md.xvg", ffWRITE }, - { efXVG, "-mj", "mj.xvg", ffWRITE}, - { efXVG, "-mc", "mc.xvg", ffOPTWR } + { efXVG, "-o", "current", ffWRITE }, + { efXVG, "-caf", "caf", ffOPTWR }, + { efXVG, "-dsp", "dsp", ffWRITE }, + { efXVG, "-md", "md", ffWRITE }, + { efXVG, "-mj", "mj", ffWRITE }, + { efXVG, "-mc", "mc", ffOPTWR } }; #define NFILE asize(fnm) diff --git a/src/gromacs/gmxana/gmx_density.c b/src/gromacs/gmxana/gmx_density.c index b03ae2a908..f74611b940 100644 --- a/src/gromacs/gmxana/gmx_density.c +++ b/src/gromacs/gmxana/gmx_density.c @@ -34,32 +34,31 @@ * 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 -#endif -#include -#include +#include "gmxpre.h" -#include "sysstuff.h" +#include +#include +#include #include -#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/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "physics.h" -#include "gmx_ana.h" -#include "macros.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct { char *atomname; @@ -118,7 +117,7 @@ int get_electrons(t_electron **eltab, const char *fn) gmx_fatal(FARGS, "Invalid line in datafile at line %d\n", i+1); } (*eltab)[i].nr_el = tempnr; - (*eltab)[i].atomname = strdup(tempname); + (*eltab)[i].atomname = gmx_strdup(tempname); } gmx_ffclose(in); @@ -274,7 +273,7 @@ void calc_electron_density(const char *fn, atom_id **index, int gnx[], slice = (z / (*slWidth)); } sought.nr_el = 0; - sought.atomname = strdup(*(top->atoms.atomname[index[n][i]])); + sought.atomname = gmx_strdup(*(top->atoms.atomname[index[n][i]])); /* now find the number of electrons. This is not efficient. */ found = (t_electron *) @@ -670,14 +669,14 @@ int gmx_density(int argc, char *argv[]) t_filenm fnm[] = { /* files for g_density */ { efTRX, "-f", NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efDAT, "-ei", "electrons", ffOPTRD }, /* file with nr. of electrons */ { efXVG, "-o", "density", ffWRITE }, }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, asize(bugs), bugs, &oenv)) { @@ -692,7 +691,7 @@ int gmx_density(int argc, char *argv[]) /* Calculate axis */ axis = toupper(axtitle[0]) - 'X'; - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); /* read topology file */ + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); /* read topology file */ if (dens_opt[0][0] == 'n') { for (i = 0; (i < top->atoms.nr); i++) diff --git a/src/gromacs/gmxana/gmx_densmap.c b/src/gromacs/gmxana/gmx_densmap.c index 8675a16435..03bc88dd11 100644 --- a/src/gromacs/gmxana/gmx_densmap.c +++ b/src/gromacs/gmxana/gmx_densmap.c @@ -34,35 +34,27 @@ * 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 -#endif +#include "gmxpre.h" #include #include #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 "txtdump.h" +#include "gromacs/fileio/matio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gstat.h" -#include "gromacs/fileio/matio.h" -#include "pbc.h" -#include "gmx_ana.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_densmap(int argc, char *argv[]) { @@ -166,7 +158,7 @@ int gmx_densmap(int argc, char *argv[]) npargs = asize(pa); - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, npargs, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_densorder.cpp b/src/gromacs/gmxana/gmx_densorder.cpp index 16f98c0c03..99f6807992 100644 --- a/src/gromacs/gmxana/gmx_densorder.cpp +++ b/src/gromacs/gmxana/gmx_densorder.cpp @@ -32,39 +32,35 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include -#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/fileio/matio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "physics.h" -#include "gromacs/fileio/matio.h" -#include "dens_filter.h" -#include "binsearch.h" -#include "powerspect.h" -#include "gmx_ana.h" -#include "copyrite.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/binsearch.h" +#include "gromacs/gmxana/dens_filter.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/gmxana/powerspect.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" -#include "gromacs/legacyheaders/gmx_fatal.h" -#include "gromacs/utility/programcontext.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #ifdef GMX_DOUBLE #define FLOOR(x) ((int) floor(x)) @@ -615,7 +611,9 @@ static void writesurftoxpms(t_interf ***surf1, t_interf ***surf2, int tblocks, i sfree(yticks); } -static void writeraw(t_interf ***int1, t_interf ***int2, int tblocks, int xbins, int ybins, char **fnms) +static void writeraw(t_interf ***int1, t_interf ***int2, int tblocks, + int xbins, int ybins, char **fnms, + const output_env_t oenv) { FILE *raw1, *raw2; int i, j, n; @@ -627,8 +625,10 @@ static void writeraw(t_interf ***int1, t_interf ***int2, int tblocks, int xbins, gmx::BinaryInformationSettings settings; settings.generatedByHeader(true); settings.linePrefix("# "); - gmx::printBinaryInformation(raw1, gmx::getProgramContext(), settings); - gmx::printBinaryInformation(raw2, gmx::getProgramContext(), settings); + gmx::printBinaryInformation(raw1, output_env_get_program_context(oenv), + settings); + gmx::printBinaryInformation(raw2, output_env_get_program_context(oenv), + settings); } GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; fprintf(raw1, "# Legend: nt nx ny\n# Xbin Ybin Z t\n"); @@ -725,7 +725,7 @@ int gmx_densorder(int argc, char *argv[]) t_filenm fnm[] = { - { efTPX, "-s", NULL, ffREAD }, /* this is for the topology */ + { efTPR, "-s", NULL, ffREAD }, /* this is for the topology */ { efTRX, "-f", NULL, ffREAD }, /* and this for the trajectory */ { efNDX, "-n", NULL, ffREAD}, /* this is to select groups */ { efDAT, "-o", "Density4D", ffOPTWR}, /* This is for outputting the entire 4D densityfield in binary format */ @@ -750,7 +750,7 @@ int gmx_densorder(int argc, char *argv[]) bRawOut = opt2bSet("-or", NFILE, fnm); bGraph = opt2bSet("-og", NFILE, fnm); bOut = opt2bSet("-o", NFILE, fnm); - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); snew(grpname, 1); snew(index, 1); snew(ngx, 1); @@ -798,7 +798,7 @@ int gmx_densorder(int argc, char *argv[]) { gmx_fatal(FARGS, "No or not correct number (2) of output-files: %d", nfxpm); } - writeraw(surf1, surf2, tblock, xslices, yslices, rawfiles); + writeraw(surf1, surf2, tblock, xslices, yslices, rawfiles, oenv); } diff --git a/src/gromacs/gmxana/gmx_dielectric.c b/src/gromacs/gmxana/gmx_dielectric.c index 13faf8be96..5f4ce88446 100644 --- a/src/gromacs/gmxana/gmx_dielectric.c +++ b/src/gromacs/gmxana/gmx_dielectric.c @@ -34,27 +34,25 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include -#include "copyrite.h" -#include "typedefs.h" -#include "gstat.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "xvgr.h" -#include "correl.h" -#include "gmx_ana.h" -#include "gmx_fatal.h" - -#include "gromacs/fileio/futil.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/correl.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/math/gmxcomplex.h" #include "gromacs/math/utilities.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* Determines at which point in the array the fit should start */ int calc_nbegin(int nx, real x[], real tbegin) @@ -300,7 +298,7 @@ int gmx_dielectric(int argc, char *argv[]) "Number of points for smoothing" } }; - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_dipoles.cpp b/src/gromacs/gmxana/gmx_dipoles.cpp index d2ff55801d..b0f4c12451 100644 --- a/src/gromacs/gmxana/gmx_dipoles.cpp +++ b/src/gromacs/gmxana/gmx_dipoles.cpp @@ -34,41 +34,39 @@ * 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 -#endif -#include +#include "gmxpre.h" + #include +#include #include -#include "macros.h" #include "gromacs/commandline/pargs.h" -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "pbc.h" -#include "bondf.h" -#include "gromacs/fileio/futil.h" -#include "xvgr.h" -#include "txtdump.h" -#include "gromacs/statistics/statistics.h" -#include "gstat.h" -#include "index.h" -#include "gromacs/random/random.h" -#include "names.h" -#include "physics.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/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/calcmu.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/linearalgebra/nrjac.h" +#include "gromacs/listed-forces/bonded.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/random/random.h" +#include "gromacs/statistics/statistics.h" +#include "gromacs/topology/index.h" #include "gromacs/utility/exceptions.h" -#include "gromacs/legacyheaders/gmx_fatal.h" -#include "gromacs/utility/programcontext.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define e2d(x) ENM2DEBYE*(x) #define EANG2CM E_CHARGE*1.0e-10 /* e Angstrom to Coulomb meter */ @@ -954,7 +952,7 @@ static void do_dip(t_topology *top, int ePBC, real volume, gmx::BinaryInformationSettings settings; settings.generatedByHeader(true); settings.linePrefix("# "); - gmx::printBinaryInformation(dip3d, gmx::getProgramContext(), + gmx::printBinaryInformation(dip3d, output_env_get_program_context(oenv), settings); } GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; @@ -1591,7 +1589,7 @@ int gmx_dipoles(int argc, char *argv[]) t_filenm fnm[] = { { efEDR, "-en", NULL, ffOPTRD }, { efTRX, "-f", NULL, ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, { efXVG, "-o", "Mtot", ffWRITE }, { efXVG, "-eps", "epsilon", ffWRITE }, @@ -1615,7 +1613,7 @@ int gmx_dipoles(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, npargs, ppa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -1665,7 +1663,7 @@ int gmx_dipoles(int argc, char *argv[]) } snew(top, 1); - ePBC = read_tpx_top(ftp2fn(efTPX, NFILE, fnm), NULL, box, + ePBC = read_tpx_top(ftp2fn(efTPR, NFILE, fnm), NULL, box, &natoms, NULL, NULL, NULL, top); snew(gnx, ncos); diff --git a/src/gromacs/gmxana/gmx_disre.c b/src/gromacs/gmxana/gmx_disre.c index eb41e31899..e6d0f29854 100644 --- a/src/gromacs/gmxana/gmx_disre.c +++ b/src/gromacs/gmxana/gmx_disre.c @@ -34,38 +34,41 @@ * 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 -#endif +#include "gmxpre.h" + #include +#include #include -#include "typedefs.h" -#include "macros.h" -#include "mshift.h" -#include "xvgr.h" -#include "vec.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/confio.h" +#include "gromacs/fileio/matio.h" #include "gromacs/fileio/pdbio.h" -#include "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 "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/main.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.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/mshift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" typedef struct { int n; @@ -713,7 +716,7 @@ int gmx_disre(int argc, char *argv[]) gmx_rmpbc_t gpbc = NULL; t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efTRX, "-f", NULL, ffREAD }, { efXVG, "-ds", "drsum", ffWRITE }, { efXVG, "-da", "draver", ffWRITE }, @@ -728,7 +731,7 @@ int gmx_disre(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -741,9 +744,9 @@ int gmx_disre(int argc, char *argv[]) init5(ntop); } - read_tpxheader(ftp2fn(efTPX, NFILE, fnm), &header, FALSE, NULL, NULL); + read_tpxheader(ftp2fn(efTPR, NFILE, fnm), &header, FALSE, NULL, NULL); snew(xtop, header.natoms); - read_tpx(ftp2fn(efTPX, NFILE, fnm), &ir, box, &ntopatoms, xtop, NULL, NULL, &mtop); + read_tpx(ftp2fn(efTPR, NFILE, fnm), &ir, box, &ntopatoms, xtop, NULL, NULL, &mtop); bPDB = opt2bSet("-q", NFILE, fnm); if (bPDB) { diff --git a/src/gromacs/gmxana/gmx_do_dssp.c b/src/gromacs/gmxana/gmx_do_dssp.c index 9f99010653..610f52a10e 100644 --- a/src/gromacs/gmxana/gmx_do_dssp.c +++ b/src/gromacs/gmxana/gmx_do_dssp.c @@ -34,28 +34,28 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" + +#include -#include "sysstuff.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 "gstat.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/fileio/strdb.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "viewit.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.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, @@ -213,7 +213,7 @@ static void check_oo(t_atoms *atoms) int i; - OOO = strdup("O"); + OOO = gmx_strdup("O"); for (i = 0; (i < atoms->nr); i++) { @@ -353,7 +353,7 @@ void analyse_ss(const char *outfile, t_matrix *mat, const char *ss_string, leg[0] = "Structure"; for (s = 0; s < (size_t)mat->nmap; s++) { - leg[s+1] = strdup(map[s].desc); + leg[s+1] = gmx_strdup(map[s].desc); } fp = xvgropen(outfile, "Secondary Structure", @@ -495,7 +495,7 @@ int gmx_do_dssp(int argc, char *argv[]) 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; @@ -523,7 +523,7 @@ int gmx_do_dssp(int argc, char *argv[]) #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_TIME | PCA_CAN_VIEW | PCA_TIME_UNIT | PCA_BE_NICE, + PCA_CAN_TIME | PCA_CAN_VIEW | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -623,8 +623,7 @@ int gmx_do_dssp(int argc, char *argv[]) } 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) diff --git a/src/gromacs/gmxana/gmx_dos.c b/src/gromacs/gmxana/gmx_dos.c index 281e500a2a..65b6eaad3d 100644 --- a/src/gromacs/gmxana/gmx_dos.c +++ b/src/gromacs/gmxana/gmx_dos.c @@ -32,33 +32,32 @@ * 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 -#endif -#include +#include "gmxpre.h" + #include +#include +#include +#include -#include "gromacs/fileio/confio.h" -#include "copyrite.h" -#include "gmx_fatal.h" -#include "gromacs/fileio/futil.h" -#include "gstat.h" -#include "macros.h" -#include "gromacs/math/utilities.h" -#include "physics.h" -#include "index.h" -#include "gromacs/utility/smalloc.h" #include "gromacs/commandline/pargs.h" -#include -#include "sysstuff.h" -#include "txtdump.h" -#include "typedefs.h" -#include "vec.h" -#include "xvgr.h" -#include "correl.h" -#include "gmx_ana.h" #include "gromacs/fft/fft.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/correl.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" enum { VACF, MVACF, DOS, DOS_SOLID, DOS_DIFF, DOS_CP, DOS_S, DOS_A, DOS_E, DOS_NR @@ -306,7 +305,7 @@ int gmx_dos(int argc, char *argv[]) t_filenm fnm[] = { { efTRN, "-f", NULL, ffREAD }, - { efTPX, "-s", NULL, ffREAD }, + { efTPR, "-s", NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, { efXVG, "-vacf", "vacf", ffWRITE }, { efXVG, "-mvacf", "mvacf", ffWRITE }, @@ -322,7 +321,7 @@ int gmx_dos(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, npargs, ppa, asize(desc), desc, asize(bugs), bugs, &oenv)) { @@ -343,7 +342,7 @@ int gmx_dos(int argc, char *argv[]) please_cite(fplog, "Pascal2011a"); please_cite(fplog, "Caleman2011b"); - read_tps_conf(ftp2fn(efTPX, NFILE, fnm), title, &top, &ePBC, NULL, NULL, box, + read_tps_conf(ftp2fn(efTPR, NFILE, fnm), title, &top, &ePBC, NULL, NULL, box, TRUE); V = det(box); tmass = 0; diff --git a/src/gromacs/gmxana/gmx_dyecoupl.c b/src/gromacs/gmxana/gmx_dyecoupl.c index 5eebeb1232..57f2e47dca 100644 --- a/src/gromacs/gmxana/gmx_dyecoupl.c +++ b/src/gromacs/gmxana/gmx_dyecoupl.c @@ -32,17 +32,20 @@ * 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 "copyrite.h" -#include "gromacs/fileio/filenm.h" -#include "macros.h" -#include "pbc.h" -#include "gromacs/utility/smalloc.h" +#include "gmxpre.h" + #include "gromacs/commandline/pargs.h" -#include "vec.h" -#include "xvgr.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/trx.h" #include "gromacs/fileio/trxio.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.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[]) { @@ -98,7 +101,6 @@ 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; @@ -126,7 +128,8 @@ int gmx_dyecoupl(int argc, char *argv[]) rrange, krange, rincr, kincr, Rfrac; int rkcount = 0, rblocksallocated = 0, kblocksallocated = 0; - if (!parse_common_args(&argc, argv, PCA_CAN_BEGIN | PCA_CAN_END | PCA_CAN_VIEW | PCA_TIME_UNIT | PCA_BE_NICE, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) + if (!parse_common_args(&argc, argv, PCA_CAN_BEGIN | PCA_CAN_END | PCA_CAN_VIEW | PCA_TIME_UNIT, + NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; } @@ -162,10 +165,10 @@ int gmx_dyecoupl(int argc, char *argv[]) } 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; diff --git a/src/gromacs/gmxana/gmx_dyndom.c b/src/gromacs/gmxana/gmx_dyndom.c index 65de201a1b..5a727cb1c2 100644 --- a/src/gromacs/gmxana/gmx_dyndom.c +++ b/src/gromacs/gmxana/gmx_dyndom.c @@ -34,22 +34,20 @@ * 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 -#endif +#include "gmxpre.h" -#include "gromacs/math/3dview.h" #include "gromacs/commandline/pargs.h" -#include "gromacs/utility/smalloc.h" -#include "index.h" #include "gromacs/fileio/confio.h" -#include "gmx_fatal.h" -#include "vec.h" -#include "physics.h" -#include "gmx_ana.h" -#include "macros.h" #include "gromacs/fileio/trxio.h" - +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/3dtransforms.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/atoms.h" +#include "gromacs/topology/index.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[], @@ -112,31 +110,34 @@ static void rot_conf(t_atoms *atoms, rvec x[], rvec v[], real trans, real angle, /* 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]); } } diff --git a/src/gromacs/gmxana/gmx_editconf.c b/src/gromacs/gmxana/gmx_editconf.c index cd55910022..9fedfee2c8 100644 --- a/src/gromacs/gmxana/gmx_editconf.c +++ b/src/gromacs/gmxana/gmx_editconf.c @@ -34,36 +34,32 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#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/confio.h" +#include "gromacs/fileio/pdbio.h" #include "gromacs/fileio/strdb.h" -#include "index.h" -#include "vec.h" -#include "typedefs.h" -#include "gromacs/gmxlib/conformation-utilities.h" -#include "physics.h" -#include "atomprop.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/gmxana/gmx_ana.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/gmxlib/conformation-utilities.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/atomprop.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" typedef struct { @@ -344,7 +340,7 @@ void pdb_legend(FILE *out, int natoms, int nres, t_atoms *atoms, rvec x[]) for (i = 1; (i < 12); i++) { fprintf(out, - "%-6s%5u %-4.4s%3.3s %c%4d%c %8.3f%8.3f%8.3f%6.2f%6.2f\n", + "%-6s%5d %-4.4s%3.3s %c%4d%c %8.3f%8.3f%8.3f%6.2f%6.2f\n", "ATOM ", natoms + 1 + i, "CA", "LEG", space, nres + 1, space, (xmin + (i * 0.12)) * 10, ymin * 10, zmin * 10, 1.0, bfac_min + ((i - 1.0) * (bfac_max - bfac_min) / 10)); @@ -796,11 +792,9 @@ int gmx_editconf(int argc, char *argv[]) gmx_fatal(FARGS, "Output file should be a .pdb file" " when using the -grasp option\n"); } - if ((bMead || bGrasp) && !((fn2ftp(infile) == efTPR) || - (fn2ftp(infile) == efTPA) || - (fn2ftp(infile) == efTPB))) + if ((bMead || bGrasp) && (fn2ftp(infile) != efTPR)) { - gmx_fatal(FARGS, "Input file should be a .tp[abr] file" + gmx_fatal(FARGS, "Input file should be a .tpr file" " when using the -mead option\n"); } diff --git a/src/gromacs/gmxana/gmx_eneconv.c b/src/gromacs/gmxana/gmx_eneconv.c index a521f90fac..9a1e775ef6 100644 --- a/src/gromacs/gmxana/gmx_eneconv.c +++ b/src/gromacs/gmxana/gmx_eneconv.c @@ -34,23 +34,23 @@ * 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 -#endif -#include +#include "gmxpre.h" + #include +#include +#include -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" #include "gromacs/commandline/pargs.h" -#include "disre.h" -#include "names.h" -#include "macros.h" -#include "gmx_fatal.h" #include "gromacs/fileio/enxio.h" -#include "vec.h" -#include "gmx_ana.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" #define TIME_EXPLICIT 0 #define TIME_CONTINUE 1 @@ -571,7 +571,7 @@ int gmx_eneconv(int argc, char *argv[]) "Stop on errors in the file" } }; - if (!parse_common_args(&argc, argv, PCA_BE_NICE, NFILE, fnm, asize(pa), + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, asize(pa), pa, asize(desc), desc, asize(bugs), bugs, &oenv)) { return 0; @@ -581,7 +581,6 @@ int gmx_eneconv(int argc, char *argv[]) nset = 0; timestep = 0.0; snew(fnms, argc); - nfile = 0; lastfilestep = 0; laststep = startstep = 0; diff --git a/src/gromacs/gmxana/gmx_enemat.c b/src/gromacs/gmxana/gmx_enemat.c index 4e57212642..576cb221eb 100644 --- a/src/gromacs/gmxana/gmx_enemat.c +++ b/src/gromacs/gmxana/gmx_enemat.c @@ -34,28 +34,27 @@ * 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 -#endif -#include +#include "gmxpre.h" + #include +#include -#include "gromacs/utility/cstringutil.h" -#include "typedefs.h" -#include "gmx_fatal.h" -#include "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 "gstat.h" -#include "physics.h" +#include "gromacs/fileio/enxio.h" #include "gromacs/fileio/matio.h" #include "gromacs/fileio/strdb.h" -#include "gmx_ana.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" static int search_str2(int nstr, char **str, char *key) @@ -173,14 +172,14 @@ int gmx_enemat(int argc, char *argv[]) t_filenm fnm[] = { { efEDR, "-f", NULL, ffOPTRD }, - { efDAT, "-groups", "groups.dat", ffREAD }, - { efDAT, "-eref", "eref.dat", ffOPTRD }, - { efXPM, "-emat", "emat", ffWRITE }, + { efDAT, "-groups", "groups", ffREAD }, + { efDAT, "-eref", "eref", ffOPTRD }, + { efXPM, "-emat", "emat", ffWRITE }, { efXVG, "-etot", "energy", ffWRITE } }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_energy.c b/src/gromacs/gmxana/gmx_energy.c index de70d3f402..3319c96e81 100644 --- a/src/gromacs/gmxana/gmx_energy.c +++ b/src/gromacs/gmxana/gmx_energy.c @@ -34,32 +34,31 @@ * 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 -#endif +#include "gmxpre.h" #include +#include #include -#include "typedefs.h" -#include "gmx_fatal.h" -#include "vec.h" -#include "gromacs/utility/cstringutil.h" -#include "gromacs/utility/smalloc.h" -#include "gromacs/fileio/enxio.h" #include "gromacs/commandline/pargs.h" -#include "names.h" -#include "copyrite.h" -#include "macros.h" -#include "xvgr.h" -#include "gstat.h" -#include "physics.h" +#include "gromacs/fileio/enxio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "viewit.h" -#include "mtop_util.h" -#include "gmx_ana.h" -#include "mdebin.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" static real minthird = -1.0/3.0, minsixth = -1.0/6.0; @@ -192,7 +191,7 @@ static int *select_by_name(int nre, gmx_enxnm_t *nm, int *nset) j = 0; for (k = 0; k < nre; k++) { - newnm[k] = strdup(nm[k].name); + newnm[k] = gmx_strdup(nm[k].name); /* Insert dashes in all the names */ while ((ptr = strchr(newnm[k], ' ')) != NULL) { @@ -2028,7 +2027,7 @@ int gmx_energy(int argc, char *argv[]) t_filenm fnm[] = { { efEDR, "-f", NULL, ffREAD }, { efEDR, "-f2", NULL, ffOPTRD }, - { efTPX, "-s", NULL, ffOPTRD }, + { efTPR, "-s", NULL, ffOPTRD }, { efXVG, "-o", "energy", ffWRITE }, { efXVG, "-viol", "violaver", ffOPTWR }, { efXVG, "-pairs", "pairs", ffOPTWR }, @@ -2050,7 +2049,7 @@ int gmx_energy(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); if (!parse_common_args(&argc, argv, - PCA_CAN_VIEW | PCA_CAN_BEGIN | PCA_CAN_END | PCA_BE_NICE, + PCA_CAN_VIEW | PCA_CAN_BEGIN | PCA_CAN_END, NFILE, fnm, npargs, ppa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -2145,7 +2144,7 @@ int gmx_energy(int argc, char *argv[]) } if (bSum) { - leg[nset] = strdup("Sum"); + leg[nset] = gmx_strdup("Sum"); xvgr_legend(out, nset+1, (const char**)leg, oenv); } else @@ -2173,7 +2172,7 @@ int gmx_energy(int argc, char *argv[]) if (bORIRE || bOTEN) { - get_orires_parms(ftp2fn(efTPX, NFILE, fnm), &nor, &nex, &or_label, &oobs); + get_orires_parms(ftp2fn(efTPR, NFILE, fnm), &nor, &nex, &or_label, &oobs); } if (bORIRE) @@ -2282,14 +2281,14 @@ int gmx_energy(int argc, char *argv[]) for (j = 0; j < 3; j++) { sprintf(buf, "eig%d", j+1); - otenleg[(bOvec ? 12 : 3)*i+j] = strdup(buf); + otenleg[(bOvec ? 12 : 3)*i+j] = gmx_strdup(buf); } if (bOvec) { for (j = 0; j < 9; j++) { sprintf(buf, "vec%d%s", j/3+1, j%3 == 0 ? "x" : (j%3 == 1 ? "y" : "z")); - otenleg[12*i+3+j] = strdup(buf); + otenleg[12*i+3+j] = gmx_strdup(buf); } } } @@ -2298,7 +2297,7 @@ int gmx_energy(int argc, char *argv[]) } else if (bDisRe) { - nbounds = get_bounds(ftp2fn(efTPX, NFILE, fnm), &bounds, &index, &pair, &npairs, + nbounds = get_bounds(ftp2fn(efTPR, NFILE, fnm), &bounds, &index, &pair, &npairs, &mtop, &top, &ir); snew(violaver, npairs); out = xvgropen(opt2fn("-o", NFILE, fnm), "Sum of Violations", @@ -2317,7 +2316,7 @@ int gmx_energy(int argc, char *argv[]) } else if (bDHDL) { - get_dhdl_parms(ftp2fn(efTPX, NFILE, fnm), &ir); + get_dhdl_parms(ftp2fn(efTPR, NFILE, fnm), &ir); } /* Initiate energies and set them to zero */ diff --git a/src/gromacs/gmxana/gmx_filter.c b/src/gromacs/gmxana/gmx_filter.c index 98c4c69a5d..cb26f11be0 100644 --- a/src/gromacs/gmxana/gmx_filter.c +++ b/src/gromacs/gmxana/gmx_filter.c @@ -34,26 +34,23 @@ * 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 -#endif +#include "gmxpre.h" + #include #include #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/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "princ.h" -#include "rmpbc.h" -#include "gmx_ana.h" - +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/math/do_fit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/smalloc.h" int gmx_filter(int argc, char *argv[]) { @@ -122,7 +119,7 @@ int gmx_filter(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_genion.c b/src/gromacs/gmxana/gmx_genion.c index 6abf410904..befd4b4bbc 100644 --- a/src/gromacs/gmxana/gmx_genion.c +++ b/src/gromacs/gmxana/gmx_genion.c @@ -34,32 +34,28 @@ * 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 -#endif +#include "gmxpre.h" #include +#include #include -#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 "force.h" -#include "gmx_fatal.h" -#include "gromacs/fileio/futil.h" -#include "gromacs/math/utilities.h" -#include "macros.h" -#include "vec.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/tpxio.h" -#include "mdrun.h" -#include "main.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/random/random.h" -#include "index.h" -#include "mtop_util.h" -#include "gmx_ana.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void insert_ion(int nsa, int *nwater, gmx_bool bSet[], int repl[], atom_id index[], @@ -126,7 +122,7 @@ static char *aname(const char *mname) char *str; int i; - str = strdup(mname); + str = gmx_strdup(mname); i = strlen(str)-1; while (i > 1 && (isdigit(str[i]) || (str[i] == '+') || (str[i] == '-'))) { @@ -180,14 +176,14 @@ void sort_ions(int nsa, int nw, int repl[], atom_id index[], if (np) { snew(pptr, 1); - pptr[0] = strdup(p_name); + pptr[0] = gmx_strdup(p_name); snew(paptr, 1); paptr[0] = aname(p_name); } if (nn) { snew(nptr, 1); - nptr[0] = strdup(n_name); + nptr[0] = gmx_strdup(n_name); snew(naptr, 1); naptr[0] = aname(n_name); } @@ -294,7 +290,7 @@ static void update_topol(const char *topinout, int p_num, int n_num, } /* Store this molecules section line */ srenew(mol_line, nmol_line+1); - mol_line[nmol_line] = strdup(buf); + mol_line[nmol_line] = gmx_strdup(buf); nmol_line++; } } @@ -399,14 +395,14 @@ int gmx_genion(int argc, char *argv[]) output_env_t oenv; gmx_rng_t rng; t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, { efSTO, "-o", NULL, ffWRITE }, { efTOP, "-p", "topol", ffOPTRW } }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_BE_NICE, NFILE, fnm, asize(pa), pa, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, asize(pa), pa, asize(desc), desc, asize(bugs), bugs, &oenv)) { return 0; @@ -424,7 +420,7 @@ int gmx_genion(int argc, char *argv[]) } /* Read atom positions and charges */ - read_tps_conf(ftp2fn(efTPX, NFILE, fnm), title, &top, &ePBC, &x, &v, box, FALSE); + read_tps_conf(ftp2fn(efTPR, NFILE, fnm), title, &top, &ePBC, &x, &v, box, FALSE); atoms = top.atoms; /* Compute total charge */ diff --git a/src/gromacs/gmxana/gmx_genpr.c b/src/gromacs/gmxana/gmx_genpr.c index 718846578d..1dbe1e35e5 100644 --- a/src/gromacs/gmxana/gmx_genpr.c +++ b/src/gromacs/gmxana/gmx_genpr.c @@ -34,23 +34,22 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "sysstuff.h" -#include "gromacs/commandline/pargs.h" #include -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" + +#include "gromacs/commandline/pargs.h" #include "gromacs/fileio/confio.h" -#include "gromacs/fileio/futil.h" -#include "macros.h" -#include "vec.h" -#include "index.h" -#include "gmx_fatal.h" -#include "gmx_ana.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_genpr(int argc, char *argv[]) { diff --git a/src/gromacs/gmxana/gmx_gyrate.c b/src/gromacs/gmxana/gmx_gyrate.c index 9ffb8f1051..a1f3622fdc 100644 --- a/src/gromacs/gmxana/gmx_gyrate.c +++ b/src/gromacs/gmxana/gmx_gyrate.c @@ -34,33 +34,28 @@ * 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 -#endif +#include "gmxpre.h" #include #include #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 "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/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.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) @@ -237,7 +232,7 @@ int gmx_gyrate(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, npargs, ppa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_h2order.c b/src/gromacs/gmxana/gmx_h2order.c index 697fb54d7c..284ca5517b 100644 --- a/src/gromacs/gmxana/gmx_h2order.c +++ b/src/gromacs/gmxana/gmx_h2order.c @@ -34,29 +34,25 @@ * 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 -#endif +#include "gmxpre.h" #include - -#include "sysstuff.h" #include -#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/commandline/pargs.h" -#include "index.h" -#include "gmx_ana.h" #include "gromacs/fileio/trxio.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /****************************************************************************/ /* This program calculates the ordering of water molecules across a box, as */ @@ -307,21 +303,21 @@ int gmx_h2order(int argc, char *argv[]) { efTRX, "-f", NULL, ffREAD }, /* trajectory file */ { efNDX, NULL, NULL, ffREAD }, /* index file */ { efNDX, "-nm", NULL, ffOPTRD }, /* index with micelle atoms */ - { efTPX, NULL, NULL, ffREAD }, /* topology file */ + { efTPR, NULL, NULL, ffREAD }, /* topology file */ { efXVG, "-o", "order", ffWRITE }, /* xvgr output file */ }; #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, NFILE, + PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, asize(bugs), bugs, &oenv)) { return 0; } bMicel = opt2bSet("-nm", NFILE, fnm); - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); /* read topology file */ + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); /* read topology file */ rd_index(ftp2fn(efNDX, NFILE, fnm), 1, &ngx, &index, &grpname); diff --git a/src/gromacs/gmxana/gmx_hbond.c b/src/gromacs/gmxana/gmx_hbond.c index 6fee2d60a6..5d960071a7 100644 --- a/src/gromacs/gmxana/gmx_hbond.c +++ b/src/gromacs/gmxana/gmx_hbond.c @@ -34,36 +34,36 @@ * 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 -#endif -#include +#include "gmxpre.h" -/*#define HAVE_NN_LOOPS*/ +#include "config.h" -#include "gromacs/commandline/pargs.h" -#include "copyrite.h" -#include "sysstuff.h" -#include "txtdump.h" -#include "physics.h" -#include "macros.h" -#include "gmx_fatal.h" -#include "index.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "xvgr.h" -#include "gstat.h" -#include "gromacs/utility/cstringutil.h" -#include "pbc.h" -#include "correl.h" -#include "gmx_ana.h" -#include "geminate.h" +#include -#include "gromacs/fileio/futil.h" +#include "gromacs/commandline/pargs.h" #include "gromacs/fileio/matio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/correl.h" +#include "gromacs/gmxana/geminate.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/index.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" + +/*#define HAVE_NN_LOOPS*/ typedef short int t_E; typedef int t_EEst; @@ -1183,7 +1183,7 @@ static void add_dh(t_donors *ddd, int id, int ih, int grp, unsigned char *databl { int i; - if (ISDON(datable[id]) || !datable) + if (!datable || ISDON(datable[id])) { if (ddd->dptr[id] == NOTSET) /* New donor */ { @@ -2543,13 +2543,16 @@ static void parallel_print(int *data, int nThreads) 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++) @@ -3383,7 +3386,7 @@ static void dump_hbmap(t_hbdata *hb, for (i = 0; i < isize[grp]; i++) { fprintf(fp, (i%15) ? " " : "\n"); - fprintf(fp, " %4u", index[grp][i]+1); + fprintf(fp, " %4d", index[grp][i]+1); } fprintf(fp, "\n"); /* @@ -3399,7 +3402,7 @@ static void dump_hbmap(t_hbdata *hb, { for (j = 0; (j < hb->d.nhydro[i]); j++) { - fprintf(fp, " %4u %4u", hb->d.don[i]+1, + fprintf(fp, " %4d %4d", hb->d.don[i]+1, hb->d.hydro[i][j]+1); } fprintf(fp, "\n"); @@ -3412,7 +3415,7 @@ static void dump_hbmap(t_hbdata *hb, if (hb->a.grp[i] == grp) { fprintf(fp, (i%15 && !first) ? " " : "\n"); - fprintf(fp, " %4u", hb->a.acc[i]+1); + fprintf(fp, " %4d", hb->a.acc[i]+1); first = FALSE; } } @@ -3443,7 +3446,7 @@ static void dump_hbmap(t_hbdata *hb, sprintf(as, "%s", mkatomname(atoms, aaa)); if (bContact) { - fprintf(fp, " %6u %6u\n", ddd+1, aaa+1); + fprintf(fp, " %6d %6d\n", ddd+1, aaa+1); if (fplog) { fprintf(fplog, "%12s %12s\n", ds, as); @@ -3453,7 +3456,7 @@ static void dump_hbmap(t_hbdata *hb, { hhh = hb->d.hydro[i][m]; sprintf(hs, "%s", mkatomname(atoms, hhh)); - fprintf(fp, " %6u %6u %6u\n", ddd+1, hhh+1, aaa+1); + fprintf(fp, " %6d %6d %6d\n", ddd+1, hhh+1, aaa+1); if (fplog) { fprintf(fplog, "%12s %12s %12s\n", ds, hs, as); @@ -3634,7 +3637,7 @@ int gmx_hbond(int argc, char *argv[]) }; t_filenm fnm[] = { { efTRX, "-f", NULL, ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, /* { efNDX, "-sel", "select", ffOPTRD },*/ { efXVG, "-num", "hbnum", ffWRITE }, @@ -3706,7 +3709,7 @@ int gmx_hbond(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, NFILE, fnm, npargs, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, npargs, ppa, asize(desc), desc, asize(bugs), bugs, &oenv)) { return 0; @@ -3819,7 +3822,7 @@ int gmx_hbond(int argc, char *argv[]) hb = mk_hbdata(bHBmap, opt2bSet("-dan", NFILE, fnm), bMerge || bContact, bGem, gemmode); /* get topology */ - read_tpx_top(ftp2fn(efTPX, NFILE, fnm), &ir, box, &natoms, NULL, NULL, NULL, &top); + read_tpx_top(ftp2fn(efTPR, NFILE, fnm), &ir, box, &natoms, NULL, NULL, NULL, &top); snew(grpnames, grNR); snew(index, grNR); @@ -4604,7 +4607,7 @@ int gmx_hbond(int argc, char *argv[]) gmx_fatal(FARGS, "Could not initiate t_gemParams params."); } } - gemstring = strdup(gemType[hb->per->gemtype]); + gemstring = gmx_strdup(gemType[hb->per->gemtype]); do_hbac(opt2fn("-ac", NFILE, fnm), hb, nDump, bMerge, bContact, fit_start, temp, r2cut > 0, smooth_tail_start, oenv, gemstring, nThreads, NN, bBallistic, bGemFit); @@ -4617,6 +4620,7 @@ int gmx_hbond(int argc, char *argv[]) { t_matrix mat; int id, ia, hh, x, y; + mat.flags = mat.y0 = 0; if ((nframes > 0) && (hb->nrhb > 0)) { @@ -4743,9 +4747,9 @@ int gmx_hbond(int argc, char *argv[]) if (USE_THIS_GROUP(j) ) { sprintf(buf, "Donors %s", grpnames[j]); - legnames[i++] = strdup(buf); + legnames[i++] = gmx_strdup(buf); sprintf(buf, "Acceptors %s", grpnames[j]); - legnames[i++] = strdup(buf); + legnames[i++] = gmx_strdup(buf); } } if (i != nleg) diff --git a/src/gromacs/gmxana/gmx_helix.c b/src/gromacs/gmxana/gmx_helix.c index 78a0200048..3d18d53f3c 100644 --- a/src/gromacs/gmxana/gmx_helix.c +++ b/src/gromacs/gmxana/gmx_helix.c @@ -34,34 +34,30 @@ * 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 -#endif +#include "gmxpre.h" #include +#include +#include "gromacs/commandline/pargs.h" #include "gromacs/fileio/confio.h" -#include "gmx_fatal.h" -#include "fitahx.h" -#include "gromacs/fileio/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/fileio/xvgr.h" +#include "gromacs/gmxana/fitahx.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/gmxana/hxprops.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/utilities.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" -#include "gromacs/commandline/pargs.h" -#include -#include "sysstuff.h" -#include "txtdump.h" -#include "typedefs.h" -#include "vec.h" -#include "xvgr.h" -#include "gmx_ana.h" int gmx_helix(int argc, char *argv[]) { @@ -160,14 +156,14 @@ int gmx_helix(int argc, char *argv[]) gmx_rmpbc_t gpbc = NULL; gmx_bool bRange; t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffREAD }, { efTRX, "-f", NULL, ffREAD }, { efSTO, "-cz", "zconf", ffWRITE }, }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -176,7 +172,7 @@ int gmx_helix(int argc, char *argv[]) bRange = (opt2parg_bSet("-ahxstart", asize(pa), pa) && opt2parg_bSet("-ahxend", asize(pa), pa)); - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); natoms = read_first_x(oenv, &status, opt2fn("-f", NFILE, fnm), &t, &x, box); @@ -211,7 +207,7 @@ int gmx_helix(int argc, char *argv[]) /* Read reference frame from tpx file to compute helix length */ snew(xref, top->atoms.nr); - read_tpx(ftp2fn(efTPX, NFILE, fnm), + read_tpx(ftp2fn(efTPR, NFILE, fnm), NULL, NULL, &natoms, xref, NULL, NULL, NULL); calc_hxprops(nres, bb, xref); do_start_end(nres, bb, &nbb, bbindex, &nca, caindex, bRange, rStart, rEnd); diff --git a/src/gromacs/gmxana/gmx_helixorient.c b/src/gromacs/gmxana/gmx_helixorient.c index 9810472336..7946fd306f 100644 --- a/src/gromacs/gmxana/gmx_helixorient.c +++ b/src/gromacs/gmxana/gmx_helixorient.c @@ -34,28 +34,25 @@ * 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 -#endif +#include "gmxpre.h" #include -#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 "gstat.h" -#include "pbc.h" -#include "gmx_ana.h" - -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/math/do_fit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_helixorient(int argc, char *argv[]) { @@ -151,7 +148,7 @@ int gmx_helixorient(int argc, char *argv[]) #define NPA asize(pa) t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efTRX, "-f", NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, { efDAT, "-oaxis", "helixaxis", ffWRITE }, @@ -165,13 +162,13 @@ int gmx_helixorient(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; } - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); for (i = 0; i < 3; i++) { diff --git a/src/gromacs/gmxana/gmx_hydorder.c b/src/gromacs/gmxana/gmx_hydorder.c index d9bbed9bad..37038b0af4 100644 --- a/src/gromacs/gmxana/gmx_hydorder.c +++ b/src/gromacs/gmxana/gmx_hydorder.c @@ -33,31 +33,28 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" #include #include -#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/fileio/matio.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/fileio/xvgr.h" +#include "gromacs/gmxana/binsearch.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/gmxana/powerspect.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.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, @@ -68,7 +65,7 @@ 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"); @@ -630,7 +627,7 @@ int gmx_hydorder(int argc, char *argv[]) t_filenm fnm[] = { /* files for g_order */ { efTRX, "-f", NULL, ffREAD }, /* trajectory file */ { efNDX, "-n", NULL, ffREAD }, /* index file */ - { efTPX, "-s", NULL, ffREAD }, /* topology file */ + { efTPR, "-s", NULL, ffREAD }, /* topology file */ { efXPM, "-o", "intf", ffWRMULT}, /* XPM- surface maps */ { efOUT, "-or", "raw", ffOPTWRMULT }, /* xvgr output file */ { efOUT, "-Spect", "intfspect", ffOPTWRMULT}, /* Fourier spectrum interfaces */ @@ -643,7 +640,7 @@ int gmx_hydorder(int argc, char *argv[]) int nfspect, nfxpm, nfraw; output_env_t oenv; - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -657,7 +654,7 @@ int gmx_hydorder(int argc, char *argv[]) } ndxfnm = ftp2fn(efNDX, NFILE, fnm); - tpsfnm = ftp2fn(efTPX, NFILE, fnm); + tpsfnm = ftp2fn(efTPR, NFILE, fnm); trxfnm = ftp2fn(efTRX, NFILE, fnm); /* Calculate axis */ diff --git a/src/gromacs/gmxana/gmx_lie.c b/src/gromacs/gmxana/gmx_lie.c index 7a9a689cc8..f6ab7c1033 100644 --- a/src/gromacs/gmxana/gmx_lie.c +++ b/src/gromacs/gmxana/gmx_lie.c @@ -34,28 +34,26 @@ * 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 -#endif +#include "gmxpre.h" +#include #include #include -#include #include #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 "txtdump.h" #include "gromacs/fileio/enxio.h" -#include "gstat.h" -#include "xvgr.h" -#include "gmx_ana.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct { int nlj, nqq; @@ -182,7 +180,7 @@ int gmx_lie(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_make_edi.c b/src/gromacs/gmxana/gmx_make_edi.c index ae44cedd91..9665117ac1 100644 --- a/src/gromacs/gmxana/gmx_make_edi.c +++ b/src/gromacs/gmxana/gmx_make_edi.c @@ -36,35 +36,29 @@ * on the code from g_anaeig. You can reach him as olange@gwdg.de. He * probably also holds copyright to the following code. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" +#include #include #include -#include #include -#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/fileio/pdbio.h" #include "gromacs/fileio/confio.h" +#include "gromacs/fileio/pdbio.h" #include "gromacs/fileio/tpxio.h" -#include "gromacs/fileio/matio.h" -#include "mshift.h" -#include "xvgr.h" -#include "rmpbc.h" -#include "txtdump.h" -#include "eigio.h" -#include "index.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/eigio.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" #include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct { @@ -862,7 +856,6 @@ int gmx_make_edi(int argc, char *argv[]) printf("\n"); } - EigvecFile = NULL; EigvecFile = opt2fn("-f", NFILE, fnm); /*read eigenvectors from eigvec.trr*/ diff --git a/src/gromacs/gmxana/gmx_make_ndx.c b/src/gromacs/gmxana/gmx_make_ndx.c index 686ee49aaa..55dc3ab47b 100644 --- a/src/gromacs/gmxana/gmx_make_ndx.c +++ b/src/gromacs/gmxana/gmx_make_ndx.c @@ -34,26 +34,22 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "sysstuff.h" -#include "gromacs/fileio/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/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "index.h" - -#include "gromacs/legacyheaders/gmx_fatal.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. @@ -281,7 +277,7 @@ static gmx_bool parse_string(char **string, int *nr, int ngrps, char **grpname) { c = (*string)[0]; (*string)++; - s = strdup((*string)); + s = gmx_strdup((*string)); sp = strchr(s, c); if (sp != NULL) { @@ -750,7 +746,7 @@ static void remove_group(int nr, int nr2, t_blocka *block, char ***gn) { block->index[i] = block->index[i+1]-shift; } - name = strdup((*gn)[nr]); + name = gmx_strdup((*gn)[nr]); sfree((*gn)[nr]); for (i = nr; i < block->nr-1; i++) { @@ -799,7 +795,7 @@ static void split_group(t_atoms *atoms, int sel_nr, t_blocka *block, char ***gn, { sprintf(buf, "%s_%s_%d", (*gn)[sel_nr], name, atoms->resinfo[resind].nr); } - (*gn)[block->nr-1] = strdup(buf); + (*gn)[block->nr-1] = gmx_strdup(buf); } block->a[block->nra] = a; block->nra++; @@ -850,8 +846,12 @@ static int split_chain(t_atoms *atoms, rvec *x, { 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) && @@ -886,7 +886,7 @@ static int split_chain(t_atoms *atoms, rvec *x, srenew(block->index, block->nr+1); srenew(*gn, block->nr); sprintf(buf, "%s_chain%d", (*gn)[sel_nr], j+1); - (*gn)[block->nr-1] = strdup(buf); + (*gn)[block->nr-1] = gmx_strdup(buf); for (i = block->index[sel_nr]; i < block->index[sel_nr+1]; i++) { a = block->a[i]; @@ -1329,7 +1329,7 @@ static void edit_index(int natoms, t_atoms *atoms, rvec *x, t_blocka *block, cha { sscanf(string, "%s", gname); sfree((*gn)[sel_nr]); - (*gn)[sel_nr] = strdup(gname); + (*gn)[sel_nr] = gmx_strdup(gname); } } } @@ -1447,7 +1447,7 @@ static void edit_index(int natoms, t_atoms *atoms, rvec *x, t_blocka *block, cha copy2block(nr, index, block); srenew(*gn, block->nr); newgroup = block->nr-1; - (*gn)[newgroup] = strdup(gname); + (*gn)[newgroup] = gmx_strdup(gname); } else { diff --git a/src/gromacs/gmxana/gmx_mdmat.c b/src/gromacs/gmxana/gmx_mdmat.c index 029edf26c2..960049e5cf 100644 --- a/src/gromacs/gmxana/gmx_mdmat.c +++ b/src/gromacs/gmxana/gmx_mdmat.c @@ -34,30 +34,27 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "macros.h" -#include "vec.h" -#include "sysstuff.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/smalloc.h" +#include "gromacs/fileio/filenm.h" #include "gromacs/fileio/matio.h" -#include "xvgr.h" -#include "index.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "rmpbc.h" -#include "pbc.h" -#include "gmx_ana.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define FARAWAY 10000 @@ -224,11 +221,11 @@ int gmx_mdmat(int argc, char *argv[]) int **nmat, **totnmat; real *mean_n; int *tot_n; - matrix box; + matrix box = {{0}}; output_env_t oenv; gmx_rmpbc_t gpbc = NULL; - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_BE_NICE, NFILE, fnm, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_mindist.c b/src/gromacs/gmxana/gmx_mindist.c index 8fbb7d3712..920f6cc3a7 100644 --- a/src/gromacs/gmxana/gmx_mindist.c +++ b/src/gromacs/gmxana/gmx_mindist.c @@ -34,29 +34,27 @@ * 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 -#endif +#include "gmxpre.h" #include #include - -#include "sysstuff.h" #include -#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/commandline/pargs.h" -#include "index.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "rmpbc.h" -#include "gmx_ana.h" -#include "names.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void periodic_dist(int ePBC, @@ -363,7 +361,7 @@ void dist_plot(const char *fn, const char *afile, const char *dfile, { snew(leg, 1); sprintf(buf, "Internal in %s", grpn[0]); - leg[0] = strdup(buf); + leg[0] = gmx_strdup(buf); xvgr_legend(dist, 0, (const char**)leg, oenv); if (num) { @@ -378,7 +376,7 @@ void dist_plot(const char *fn, const char *afile, const char *dfile, for (k = i+1; (k < ng); k++, j++) { sprintf(buf, "%s-%s", grpn[i], grpn[k]); - leg[j] = strdup(buf); + leg[j] = gmx_strdup(buf); } } xvgr_legend(dist, j, (const char**)leg, oenv); @@ -394,7 +392,7 @@ void dist_plot(const char *fn, const char *afile, const char *dfile, for (i = 0; (i < ng-1); i++) { sprintf(buf, "%s-%s", grpn[0], grpn[i+1]); - leg[i] = strdup(buf); + leg[i] = gmx_strdup(buf); } xvgr_legend(dist, ng-1, (const char**)leg, oenv); if (num) @@ -713,7 +711,7 @@ int gmx_mindist(int argc, char *argv[]) #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, + PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_mk_angndx.c b/src/gromacs/gmxana/gmx_mk_angndx.c index 9e684f300d..21af93c9b0 100644 --- a/src/gromacs/gmxana/gmx_mk_angndx.c +++ b/src/gromacs/gmxana/gmx_mk_angndx.c @@ -34,18 +34,17 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "typedefs.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/fileio/trxio.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static int calc_ntype(int nft, int *ft, t_idef *idef) { @@ -131,7 +130,7 @@ static void fill_ft_ind(int nft, int *ft, t_idef *idef, gmx_fatal(FARGS, "Unsupported function type '%s' selected", interaction_function[ftype].longname); } - grpnames[ind] = strdup(buf); + grpnames[ind] = gmx_strdup(buf); ind++; } } @@ -274,7 +273,7 @@ int gmx_mk_angndx(int argc, char *argv[]) int *nr; char **grpnames; t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, "angle", ffWRITE } }; #define NFILE asize(fnm) @@ -288,7 +287,7 @@ int gmx_mk_angndx(int argc, char *argv[]) ft = select_ftype(opt[0], &nft, &mult); - top = read_top(ftp2fn(efTPX, NFILE, fnm), NULL); + top = read_top(ftp2fn(efTPR, NFILE, fnm), NULL); ntype = calc_ntype(nft, ft, &(top->idef)); snew(grpnames, ntype); diff --git a/src/gromacs/gmxana/gmx_morph.c b/src/gromacs/gmxana/gmx_morph.c index 38c4fa1143..fe1153db71 100644 --- a/src/gromacs/gmxana/gmx_morph.c +++ b/src/gromacs/gmxana/gmx_morph.c @@ -34,21 +34,20 @@ * 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 -#endif +#include "gmxpre.h" #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 "gmx_ana.h" -#include "gmx_fatal.h" #include "gromacs/fileio/trxio.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/math/do_fit.h" +#include "gromacs/topology/atoms.h" +#include "gromacs/topology/index.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) diff --git a/src/gromacs/gmxana/gmx_msd.c b/src/gromacs/gmxana/gmx_msd.c index d73f262606..6913929759 100644 --- a/src/gromacs/gmxana/gmx_msd.c +++ b/src/gromacs/gmxana/gmx_msd.c @@ -34,32 +34,29 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#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 "typedefs.h" -#include "xvgr.h" -#include "gstat.h" -#include "gromacs/statistics/statistics.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "pbc.h" -#include "vec.h" -#include "gromacs/fileio/confio.h" -#include "gmx_ana.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/statistics/statistics.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.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 @@ -1128,7 +1125,7 @@ int gmx_msd(int argc, char *argv[]) output_env_t oenv; if (!parse_common_args(&argc, argv, - PCA_CAN_VIEW | PCA_CAN_BEGIN | PCA_CAN_END | PCA_TIME_UNIT | PCA_BE_NICE, + PCA_CAN_VIEW | PCA_CAN_BEGIN | PCA_CAN_END | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_nmeig.c b/src/gromacs/gmxana/gmx_nmeig.c index 1d7d786c6d..eb727c8fa2 100644 --- a/src/gromacs/gmxana/gmx_nmeig.c +++ b/src/gromacs/gmxana/gmx_nmeig.c @@ -34,36 +34,28 @@ * 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 -#endif +#include "gmxpre.h" #include #include #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 "gstat.h" -#include "txtdump.h" -#include "eigio.h" -#include "mtop_util.h" -#include "physics.h" -#include "main.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/mtxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/eigio.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/linearalgebra/eigensolver.h" -#include "gromacs/linearalgebra/mtxio.h" #include "gromacs/linearalgebra/sparsematrix.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static double cv_corr(double nu, double T) { @@ -351,7 +343,7 @@ int gmx_nmeig(int argc, char *argv[]) t_filenm fnm[] = { { efMTX, "-f", "hessian", ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efXVG, "-of", "eigenfreq", ffWRITE }, { efXVG, "-ol", "eigenval", ffWRITE }, { efXVG, "-os", "spectrum", ffOPTWR }, @@ -360,17 +352,17 @@ int gmx_nmeig(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_BE_NICE, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; } /* Read tpr file for volume and number of harmonic terms */ - read_tpxheader(ftp2fn(efTPX, NFILE, fnm), &tpx, TRUE, &version, &generation); + read_tpxheader(ftp2fn(efTPR, NFILE, fnm), &tpx, TRUE, &version, &generation); snew(top_x, tpx.natoms); - read_tpx(ftp2fn(efTPX, NFILE, fnm), NULL, box, &natoms, + read_tpx(ftp2fn(efTPR, NFILE, fnm), NULL, box, &natoms, top_x, NULL, NULL, &mtop); if (bCons) { diff --git a/src/gromacs/gmxana/gmx_nmens.c b/src/gromacs/gmxana/gmx_nmens.c index e41ca0dd41..0d005fe5cd 100644 --- a/src/gromacs/gmxana/gmx_nmens.c +++ b/src/gromacs/gmxana/gmx_nmens.c @@ -34,30 +34,27 @@ * 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 -#endif +#include "gmxpre.h" #include #include #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/fileio/pdbio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "txtdump.h" -#include "physics.h" +#include "gromacs/gmxana/eigio.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/random/random.h" -#include "eigio.h" -#include "gmx_ana.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_nmens(int argc, char *argv[]) @@ -123,7 +120,7 @@ int gmx_nmens(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_BE_NICE, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_nmtraj.c b/src/gromacs/gmxana/gmx_nmtraj.c index 10ec827609..2fbe5cdb1f 100644 --- a/src/gromacs/gmxana/gmx_nmtraj.c +++ b/src/gromacs/gmxana/gmx_nmtraj.c @@ -34,29 +34,26 @@ * 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 -#endif +#include "gmxpre.h" #include +#include #include #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/fileio/pdbio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "txtdump.h" -#include "physics.h" -#include "eigio.h" -#include "gmx_ana.h" +#include "gromacs/gmxana/eigio.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_nmtraj(int argc, char *argv[]) @@ -140,7 +137,7 @@ int gmx_nmtraj(int argc, char *argv[]) #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_BE_NICE, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_options.c b/src/gromacs/gmxana/gmx_options.c index 0ed3e7045d..52b99ead39 100644 --- a/src/gromacs/gmxana/gmx_options.c +++ b/src/gromacs/gmxana/gmx_options.c @@ -34,13 +34,11 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "macros.h" #include "gromacs/commandline/pargs.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" /* * This program is needed to create the files: @@ -87,7 +85,7 @@ gmx_options(int argc, char *argv[]) "All GROMACS programs can read compressed or g-zipped files. There " "might be a problem with reading compressed [TT].xtc[tt], " - "[TT].trr[tt] and [TT].trj[tt] files, but these will not compress " + "[TT].trr[tt] files, but these will not compress " "very well anyway.", "Most GROMACS programs can process a trajectory with fewer atoms than " diff --git a/src/gromacs/gmxana/gmx_order.c b/src/gromacs/gmxana/gmx_order.c index 98dd186599..28c3e77722 100644 --- a/src/gromacs/gmxana/gmx_order.c +++ b/src/gromacs/gmxana/gmx_order.c @@ -34,31 +34,29 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#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/fileio/confio.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/fileio/xvgr.h" +#include "gromacs/gmxana/cmat.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /****************************************************************************/ /* This program calculates the order parameter per atom for an interface or */ @@ -357,7 +355,7 @@ 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"); @@ -962,7 +960,7 @@ int gmx_order(int argc, char *argv[]) { efTRX, "-f", NULL, ffREAD }, /* trajectory file */ { efNDX, "-n", NULL, ffREAD }, /* index file */ { efNDX, "-nr", NULL, ffREAD }, /* index for radial axis calculation */ - { efTPX, NULL, NULL, ffREAD }, /* topology file */ + { efTPR, NULL, NULL, ffREAD }, /* topology file */ { efXVG, "-o", "order", ffWRITE }, /* xvgr output file */ { efXVG, "-od", "deuter", ffWRITE }, /* xvgr output file */ { efPDB, "-ob", NULL, ffWRITE }, /* write Scd as B factors to PDB if permolecule */ @@ -978,7 +976,7 @@ int gmx_order(int argc, char *argv[]) const char *sgfnm, *skfnm, *ndxfnm, *tpsfnm, *trxfnm; output_env_t oenv; - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -990,7 +988,7 @@ int gmx_order(int argc, char *argv[]) sgfnm = opt2fn_null("-Sg", NFILE, fnm); skfnm = opt2fn_null("-Sk", NFILE, fnm); ndxfnm = opt2fn_null("-n", NFILE, fnm); - tpsfnm = ftp2fn(efTPX, NFILE, fnm); + tpsfnm = ftp2fn(efTPR, NFILE, fnm); trxfnm = ftp2fn(efTRX, NFILE, fnm); /* Calculate axis */ @@ -1061,7 +1059,7 @@ int gmx_order(int argc, char *argv[]) fprintf(stderr, "Taking carbons as unsaturated!\n"); } - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); /* read topology file */ + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); /* read topology file */ block = init_index(ftp2fn(efNDX, NFILE, fnm), &grpname); index = block->index; /* get indices from t_block block */ diff --git a/src/gromacs/gmxana/gmx_pme_error.cpp b/src/gromacs/gmxana/gmx_pme_error.cpp index fabca7c8d3..0b0373833e 100644 --- a/src/gromacs/gmxana/gmx_pme_error.cpp +++ b/src/gromacs/gmxana/gmx_pme_error.cpp @@ -32,29 +32,32 @@ * 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 "gmxpre.h" + +#include "config.h" + #include #include "gromacs/commandline/pargs.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "copyrite.h" #include "gromacs/fileio/tpxio.h" -#include "readinp.h" -#include "calcgrid.h" -#include "checkpoint.h" -#include "gmx_ana.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/calcgrid.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/main.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/random/random.h" -#include "physics.h" -#include "mdatoms.h" -#include "coulomb.h" -#include "mtop_util.h" -#include "network.h" -#include "main.h" -#include "macros.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* We use the same defines as in mvdata.c here */ #define block_bc(cr, d) gmx_bcast( sizeof(d), &(d), (cr)) @@ -1102,9 +1105,9 @@ int gmx_pme_error(int argc, char *argv[]) static t_filenm fnm[] = { - { efTPX, "-s", NULL, ffREAD }, + { efTPR, "-s", NULL, ffREAD }, { efOUT, "-o", "error", ffWRITE }, - { efTPX, "-so", "tuned", ffOPTWR } + { efTPR, "-so", "tuned", ffOPTWR } }; output_env_t oenv = NULL; @@ -1126,12 +1129,8 @@ int gmx_pme_error(int argc, char *argv[]) #define NFILE asize(fnm) cr = init_commrec(); -#ifdef GMX_LIB_MPI - MPI_Barrier(MPI_COMM_WORLD); -#endif PCA_Flags = PCA_NOEXIT_ON_ARGS; - PCA_Flags |= (MASTER(cr) ? 0 : PCA_QUIET); if (!parse_common_args(&argc, argv, PCA_Flags, NFILE, fnm, asize(pa), pa, asize(desc), desc, diff --git a/src/gromacs/gmxana/gmx_polystat.c b/src/gromacs/gmxana/gmx_polystat.c index ff0bfb0b32..ece18dc4d1 100644 --- a/src/gromacs/gmxana/gmx_polystat.c +++ b/src/gromacs/gmxana/gmx_polystat.c @@ -34,28 +34,25 @@ * 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 -#endif +#include "gmxpre.h" + #include #include -#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 "vec.h" -#include "index.h" -#include "macros.h" -#include "xvgr.h" -#include "rmpbc.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/linearalgebra/nrjac.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void gyro_eigen(double **gyr, double *eig, double **eigv, int *ord) { @@ -141,7 +138,7 @@ int gmx_polystat(int argc, char *argv[]) }; t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efTRX, "-f", NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, { efXVG, "-o", "polystat", ffWRITE }, @@ -179,14 +176,14 @@ int gmx_polystat(int argc, char *argv[]) gmx_rmpbc_t gpbc = NULL; if (!parse_common_args(&argc, argv, - PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, + PCA_CAN_VIEW | PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; } snew(top, 1); - ePBC = read_tpx_top(ftp2fn(efTPX, NFILE, fnm), + ePBC = read_tpx_top(ftp2fn(efTPR, NFILE, fnm), NULL, box, &natoms, NULL, NULL, NULL, top); fprintf(stderr, "Select a group of polymer mainchain atoms:\n"); @@ -235,7 +232,7 @@ int gmx_polystat(int argc, char *argv[]) for (d2 = 0; d2 < DIM; d2++) { sprintf(buf, "eig%d %c", d+1, 'x'+d2); - legp[d*DIM+d2] = strdup(buf); + legp[d*DIM+d2] = gmx_strdup(buf); } } xvgr_legend(outv, DIM*DIM, (const char**)legp, oenv); diff --git a/src/gromacs/gmxana/gmx_potential.c b/src/gromacs/gmxana/gmx_potential.c index 29fa31584b..9991682a45 100644 --- a/src/gromacs/gmxana/gmx_potential.c +++ b/src/gromacs/gmxana/gmx_potential.c @@ -34,31 +34,27 @@ * 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 -#endif +#include "gmxpre.h" -#include #include - -#include "sysstuff.h" +#include #include -#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/commandline/pargs.h" -#include "index.h" -#include "gmx_ana.h" -#include "gromacs/utility/cstringutil.h" #include "gromacs/fileio/trxio.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define EPS0 8.85419E-12 #define ELC 1.60219E-19 @@ -462,7 +458,7 @@ int gmx_potential(int argc, char *argv[]) t_filenm fnm[] = { /* files for g_order */ { efTRX, "-f", NULL, ffREAD }, /* trajectory file */ { efNDX, NULL, NULL, ffREAD }, /* index file */ - { efTPX, NULL, NULL, ffREAD }, /* topology file */ + { efTPR, NULL, NULL, ffREAD }, /* topology file */ { efXVG, "-o", "potential", ffWRITE }, /* xvgr output file */ { efXVG, "-oc", "charge", ffWRITE }, /* xvgr output file */ { efXVG, "-of", "field", ffWRITE }, /* xvgr output file */ @@ -470,7 +466,7 @@ int gmx_potential(int argc, char *argv[]) #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, asize(bugs), bugs, &oenv)) { @@ -480,7 +476,7 @@ int gmx_potential(int argc, char *argv[]) /* Calculate axis */ axis = toupper(axtitle[0]) - 'X'; - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); /* read topology file */ + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); /* read topology file */ snew(grpname, ngrps); snew(index, ngrps); diff --git a/src/gromacs/gmxana/gmx_principal.c b/src/gromacs/gmxana/gmx_principal.c index 2e668f05f1..9780027dd6 100644 --- a/src/gromacs/gmxana/gmx_principal.c +++ b/src/gromacs/gmxana/gmx_principal.c @@ -34,31 +34,26 @@ * 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 -#endif +#include "gmxpre.h" #include #include #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 "txtdump.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gstat.h" -#include "gmx_ana.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" void @@ -122,7 +117,7 @@ int gmx_principal(int argc, char *argv[]) #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW | PCA_BE_NICE, + PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_rama.c b/src/gromacs/gmxana/gmx_rama.c index b9d708b837..5198b0c730 100644 --- a/src/gromacs/gmxana/gmx_rama.c +++ b/src/gromacs/gmxana/gmx_rama.c @@ -34,25 +34,22 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "sysstuff.h" #include -#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/commandline/pargs.h" -#include "index.h" -#include "nrama.h" -#include "gmx_ana.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/nrama.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void plot_rama(FILE *out, t_xrama *xr) @@ -83,12 +80,12 @@ int gmx_rama(int argc, char *argv[]) output_env_t oenv; t_filenm fnm[] = { { efTRX, "-f", NULL, ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efXVG, NULL, "rama", ffWRITE } }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, 0, NULL, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -96,7 +93,7 @@ int gmx_rama(int argc, char *argv[]) snew(xr, 1); - init_rama(oenv, ftp2fn(efTRX, NFILE, fnm), ftp2fn(efTPX, NFILE, fnm), xr, 3); + init_rama(oenv, ftp2fn(efTRX, NFILE, fnm), ftp2fn(efTPR, NFILE, fnm), xr, 3); out = xvgropen(ftp2fn(efXVG, NFILE, fnm), "Ramachandran Plot", "Phi", "Psi", oenv); xvgr_line_props(out, 0, elNone, ecFrank, oenv); diff --git a/src/gromacs/gmxana/gmx_rdf.c b/src/gromacs/gmxana/gmx_rdf.c index 22234f91cc..47c4bc0c6f 100644 --- a/src/gromacs/gmxana/gmx_rdf.c +++ b/src/gromacs/gmxana/gmx_rdf.c @@ -35,34 +35,29 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" #include -#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/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "physics.h" -#include "index.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.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 "gromacs/legacyheaders/gmx_fatal.h" static void check_box_c(matrix box) { @@ -906,7 +901,7 @@ int gmx_rdf(int argc, char *argv[]) { efXVG, "-hq", "hq", ffOPTWR }, }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_rms.c b/src/gromacs/gmxana/gmx_rms.c index 90605021a4..dccad9e472 100644 --- a/src/gromacs/gmxana/gmx_rms.c +++ b/src/gromacs/gmxana/gmx_rms.c @@ -34,31 +34,30 @@ * 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 -#endif +#include "gmxpre.h" -#include "gromacs/utility/smalloc.h" #include -#include "macros.h" -#include "typedefs.h" -#include "xvgr.h" -#include "copyrite.h" +#include + #include "gromacs/commandline/pargs.h" -#include "vec.h" -#include "index.h" -#include "gmx_fatal.h" -#include "gromacs/fileio/futil.h" -#include "princ.h" -#include "rmpbc.h" #include "gromacs/fileio/matio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "cmat.h" -#include "viewit.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/cmat.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/math/do_fit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void norm_princ(t_atoms *atoms, int isize, atom_id *index, int natoms, rvec *x) @@ -228,7 +227,7 @@ int gmx_rms(int argc, char *argv[]) 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; @@ -268,8 +267,8 @@ int gmx_rms(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW - | PCA_BE_NICE, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW, + NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_rmsdist.c b/src/gromacs/gmxana/gmx_rmsdist.c index 7e6515f29b..ea98add60a 100644 --- a/src/gromacs/gmxana/gmx_rmsdist.c +++ b/src/gromacs/gmxana/gmx_rmsdist.c @@ -34,28 +34,26 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "names.h" #include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/matio.h" +#include "gromacs/fileio/strdb.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gromacs/fileio/strdb.h" -#include "vec.h" -#include "macros.h" -#include "index.h" -#include "pbc.h" -#include "xvgr.h" -#include "gromacs/fileio/futil.h" -#include "gromacs/fileio/matio.h" -#include "gmx_ana.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void calc_dist(int nind, atom_id index[], rvec x[], int ePBC, matrix box, @@ -187,14 +185,14 @@ static int read_equiv(const char *eq_fn, t_equiv ***equivptr) { lp += n; snew(equiv[neq], 1); - equiv[neq][0].nname = strdup(atomname); + equiv[neq][0].nname = gmx_strdup(atomname); while (sscanf(lp, "%d %s %s %n", &resnr, resname, atomname, &n) == 3) { /* this is not efficient, but I'm lazy (again) */ srenew(equiv[neq], na+1); equiv[neq][na].rnr = resnr-1; - equiv[neq][na].rname = strdup(resname); - equiv[neq][na].aname = strdup(atomname); + equiv[neq][na].rname = gmx_strdup(resname); + equiv[neq][na].aname = gmx_strdup(atomname); if (na > 0) { equiv[neq][na].nname = NULL; @@ -268,7 +266,7 @@ static gmx_bool is_equiv(int neq, t_equiv **equiv, char **nname, } if (bFound) { - *nname = strdup(equiv[i-1][0].nname); + *nname = gmx_strdup(equiv[i-1][0].nname); } return bFound; @@ -319,7 +317,7 @@ static int analyze_noe_equivalent(const char *eq_fn, rnrj, *atoms->resinfo[rnrj].name, *atoms->atomname[index[j]]); if (nnm[i] && bEquiv) { - nnm[j] = strdup(nnm[i]); + nnm[j] = gmx_strdup(nnm[i]); } if (bEquiv) { @@ -400,18 +398,18 @@ static int analyze_noe_equivalent(const char *eq_fn, noe_gr[gi].anr = index[i]; if (nnm[i]) { - noe_gr[gi].aname = strdup(nnm[i]); + noe_gr[gi].aname = gmx_strdup(nnm[i]); } else { - noe_gr[gi].aname = strdup(*atoms->atomname[index[i]]); + noe_gr[gi].aname = gmx_strdup(*atoms->atomname[index[i]]); if (noe_index[i] == noe_index[i+1]) { noe_gr[gi].aname[strlen(noe_gr[gi].aname)-1] = '*'; } } noe_gr[gi].rnr = atoms->atom[index[i]].resind; - noe_gr[gi].rname = strdup(*atoms->resinfo[noe_gr[gi].rnr].name); + noe_gr[gi].rname = gmx_strdup(*atoms->resinfo[noe_gr[gi].rnr].name); /* dump group definitions */ if (debug) { @@ -706,7 +704,7 @@ int gmx_rmsdist(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_rmsf.c b/src/gromacs/gmxana/gmx_rmsf.c index 97180622e4..c4398533cd 100644 --- a/src/gromacs/gmxana/gmx_rmsf.c +++ b/src/gromacs/gmxana/gmx_rmsf.c @@ -34,30 +34,28 @@ * 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 -#endif +#include "gmxpre.h" -#include "gromacs/utility/smalloc.h" #include -#include "macros.h" -#include "typedefs.h" -#include "xvgr.h" + #include "gromacs/commandline/pargs.h" -#include "vec.h" -#include "index.h" +#include "gromacs/fileio/confio.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 "princ.h" -#include "rmpbc.h" -#include "gromacs/fileio/confio.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/princ.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/linearalgebra/eigensolver.h" #include "gromacs/math/do_fit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static real find_pdb_bfac(t_atoms *atoms, t_resinfo *ri, char *atomnm) { @@ -278,7 +276,7 @@ int gmx_rmsf(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, asize(pargs), pargs, asize(desc), desc, 0, NULL, &oenv)) { diff --git a/src/gromacs/gmxana/gmx_rotacf.c b/src/gromacs/gmxana/gmx_rotacf.c index b540f38d2c..4eb9a6ec18 100644 --- a/src/gromacs/gmxana/gmx_rotacf.c +++ b/src/gromacs/gmxana/gmx_rotacf.c @@ -34,27 +34,24 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#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 "macros.h" -#include "gmx_fatal.h" -#include "xvgr.h" -#include "gstat.h" -#include "vec.h" -#include "gmx_ana.h" #include "gromacs/fileio/trxio.h" - +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_rotacf(int argc, char *argv[]) { @@ -102,7 +99,7 @@ int gmx_rotacf(int argc, char *argv[]) int ePBC; t_filenm fnm[] = { { efTRX, "-f", NULL, ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffREAD }, { efXVG, "-o", "rotacf", ffWRITE } }; @@ -115,7 +112,7 @@ int gmx_rotacf(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, npargs, ppa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -143,7 +140,7 @@ int gmx_rotacf(int argc, char *argv[]) "these can not be atom doublets\n"); } - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); snew(c1, nvec); for (i = 0; (i < nvec); i++) diff --git a/src/gromacs/gmxana/gmx_rotmat.c b/src/gromacs/gmxana/gmx_rotmat.c index 891a3bf9f5..3eddfe424c 100644 --- a/src/gromacs/gmxana/gmx_rotmat.c +++ b/src/gromacs/gmxana/gmx_rotmat.c @@ -32,30 +32,25 @@ * 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 -#endif +#include "gmxpre.h" #include #include #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/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/math/do_fit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void get_refx(output_env_t oenv, const char *trxfn, int nfitdim, int skip, int gnx, int *index, @@ -242,7 +237,7 @@ int gmx_rotmat(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_saltbr.c b/src/gromacs/gmxana/gmx_saltbr.c index 90c69cdf32..46fd1409e1 100644 --- a/src/gromacs/gmxana/gmx_saltbr.c +++ b/src/gromacs/gmxana/gmx_saltbr.c @@ -34,27 +34,23 @@ * 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 -#endif +#include "gmxpre.h" + #include #include -#include "macros.h" -#include "vec.h" -#include "sysstuff.h" -#include "typedefs.h" +#include "gromacs/commandline/pargs.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/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "pbc.h" -#include "xvgr.h" -#include "gmx_ana.h" - -#include "gromacs/legacyheaders/gmx_fatal.h" typedef struct { char *label; @@ -89,7 +85,7 @@ static t_charge *mk_charge(t_atoms *atoms, t_block *cgs, int *nncg) *(atoms->resinfo[resnr].name), atoms->resinfo[resnr].nr, anr+1); - cg[ncg].label = strdup(buf); + cg[ncg].label = gmx_strdup(buf); ncg++; } } @@ -152,7 +148,7 @@ int gmx_saltbr(int argc, char *argv[]) }; t_filenm fnm[] = { { efTRX, "-f", NULL, ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, }; #define NFILE asize(fnm) @@ -186,13 +182,13 @@ int gmx_saltbr(int argc, char *argv[]) matrix box; output_env_t oenv; - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; } - top = read_top(ftp2fn(efTPX, NFILE, fnm), &ePBC); + top = read_top(ftp2fn(efTPR, NFILE, fnm), &ePBC); cg = mk_charge(&top->atoms, &(top->cgs), &ncg); snew(cgdist, ncg); snew(nWithin, ncg); diff --git a/src/gromacs/gmxana/gmx_sans.c b/src/gromacs/gmxana/gmx_sans.c index 68904bcdca..797652dd8d 100644 --- a/src/gromacs/gmxana/gmx_sans.c +++ b/src/gromacs/gmxana/gmx_sans.c @@ -33,30 +33,27 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" -#include "gromacs/utility/smalloc.h" -#include "sysstuff.h" -#include "typedefs.h" -#include "macros.h" -#include "vec.h" -#include "pbc.h" -#include "xvgr.h" -#include "copyrite.h" -#include "gromacs/commandline/pargs.h" -#include "index.h" -#include "gstat.h" -#include "gmx_ana.h" -#include "nsfactor.h" +#include "config.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/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/gmxana/nsfactor.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.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[]) { @@ -148,7 +145,7 @@ int gmx_sans(int argc, char *argv[]) #define NFILE asize(fnm) t_filenm fnm[] = { - { efTPX, "-s", NULL, ffREAD }, + { efTPR, "-s", NULL, ffREAD }, { efTRX, "-f", NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, { efDAT, "-d", "nsfactor", ffOPTRD }, @@ -160,7 +157,7 @@ int gmx_sans(int argc, char *argv[]) nthreads = gmx_omp_get_max_threads(); - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -219,7 +216,7 @@ int gmx_sans(int argc, char *argv[]) /* Try to read files */ fnDAT = ftp2fn(efDAT, NFILE, fnm); - fnTPX = ftp2fn(efTPX, NFILE, fnm); + fnTPX = ftp2fn(efTPR, NFILE, fnm); fnTRX = ftp2fn(efTRX, NFILE, fnm); gnsf = gmx_neutronstructurefactors_init(fnDAT); diff --git a/src/gromacs/gmxana/gmx_saxs.c b/src/gromacs/gmxana/gmx_saxs.c index 5f35524e1c..30967feab7 100644 --- a/src/gromacs/gmxana/gmx_saxs.c +++ b/src/gromacs/gmxana/gmx_saxs.c @@ -35,33 +35,16 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" #include -#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/gmxana/gmx_ana.h" +#include "gromacs/gmxana/sfactor.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.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" int gmx_saxs(int argc, char *argv[]) { @@ -96,7 +79,7 @@ int gmx_saxs(int argc, char *argv[]) { efXVG, "-sq", "sq", ffWRITE }, }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_sham.c b/src/gromacs/gmxana/gmx_sham.c index 911fdbff0f..94430c03d9 100644 --- a/src/gromacs/gmxana/gmx_sham.c +++ b/src/gromacs/gmxana/gmx_sham.c @@ -34,27 +34,27 @@ * 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 -#endif +#include "gmxpre.h" + #include +#include #include + #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 "readinp.h" -#include "txtdump.h" -#include "gstat.h" -#include "xvgr.h" -#include "physics.h" -#include "gromacs/fileio/pdbio.h" #include "gromacs/fileio/matio.h" -#include "gmx_ana.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static int index2(int *ibox, int x, int y) @@ -756,7 +756,7 @@ static void do_sham(const char *fn, const char *ndx, index = index3(ibox, i, j, k); if (P[index] > 0) { - fprintf(fp, "%-6s%5u %-4.4s%3.3s %4d %8.3f%8.3f%8.3f%6.2f%6.2f\n", + fprintf(fp, "%-6s%5d %-4.4s%3.3s %4d %8.3f%8.3f%8.3f%6.2f%6.2f\n", "ATOM", (index+1) %10000, "H", "H", (index+1)%10000, xxx[XX], xxx[YY], xxx[ZZ], 1.0, W[index]); } @@ -988,7 +988,7 @@ int gmx_sham(int argc, char *argv[]) int npargs; npargs = asize(pa); - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW, NFILE, fnm, npargs, pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_sigeps.c b/src/gromacs/gmxana/gmx_sigeps.c index c002ddeb76..4eaae62fb6 100644 --- a/src/gromacs/gmxana/gmx_sigeps.c +++ b/src/gromacs/gmxana/gmx_sigeps.c @@ -34,27 +34,24 @@ * 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 -#endif +#include "gmxpre.h" -#include #include +#include -#include "typedefs.h" #include "gromacs/commandline/pargs.h" -#include "xvgr.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/pdbio.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "pbc.h" -#include "physics.h" -#include "names.h" -#include "txtdump.h" #include "gromacs/fileio/trnio.h" -#include "symtab.h" -#include "gromacs/fileio/confio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/smalloc.h" real pot(real x, real qq, real c6, real cn, int npow) { diff --git a/src/gromacs/gmxana/gmx_sorient.c b/src/gromacs/gmxana/gmx_sorient.c index 8ad45f3f38..a81a8265d5 100644 --- a/src/gromacs/gmxana/gmx_sorient.c +++ b/src/gromacs/gmxana/gmx_sorient.c @@ -34,23 +34,22 @@ * 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 -#endif +#include "gmxpre.h" -#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/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gmx_ana.h" - -#include "gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.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) @@ -185,15 +184,15 @@ int gmx_sorient(int argc, char *argv[]) { efTRX, NULL, NULL, ffREAD }, { efTPS, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, - { efXVG, NULL, "sori.xvg", ffWRITE }, - { efXVG, "-no", "snor.xvg", ffWRITE }, - { efXVG, "-ro", "sord.xvg", ffWRITE }, - { efXVG, "-co", "scum.xvg", ffWRITE }, - { efXVG, "-rc", "scount.xvg", ffWRITE } + { efXVG, NULL, "sori", ffWRITE }, + { efXVG, "-no", "snor", ffWRITE }, + { efXVG, "-ro", "sord", ffWRITE }, + { efXVG, "-co", "scum", ffWRITE }, + { efXVG, "-rc", "scount", ffWRITE } }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_spatial.c b/src/gromacs/gmxana/gmx_spatial.c index 32d2fefc36..600608d2e3 100644 --- a/src/gromacs/gmxana/gmx_spatial.c +++ b/src/gromacs/gmxana/gmx_spatial.c @@ -32,34 +32,25 @@ * 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 -#endif - +#include "gmxpre.h" +#include +#include #include "gromacs/commandline/pargs.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include -#include "index.h" -#include "pbc.h" -#include "rmpbc.h" -#include "gmx_ana.h" -#include "macros.h" - +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/smalloc.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[] = { @@ -218,25 +209,13 @@ int gmx_spatial(int argc, char *argv[]) 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); diff --git a/src/gromacs/gmxana/gmx_spol.c b/src/gromacs/gmxana/gmx_spol.c index b4734d79d5..2def7422e5 100644 --- a/src/gromacs/gmxana/gmx_spol.c +++ b/src/gromacs/gmxana/gmx_spol.c @@ -34,24 +34,23 @@ * 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 -#endif +#include "gmxpre.h" -#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/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "physics.h" -#include "gmx_ana.h" - -#include "gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.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) @@ -205,13 +204,13 @@ int gmx_spol(int argc, char *argv[]) t_filenm fnm[] = { { efTRX, NULL, NULL, ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, - { efXVG, NULL, "scdist.xvg", ffWRITE } + { efXVG, NULL, "scdist", ffWRITE } }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -219,7 +218,7 @@ int gmx_spol(int argc, char *argv[]) snew(top, 1); snew(ir, 1); - read_tpx_top(ftp2fn(efTPX, NFILE, fnm), + read_tpx_top(ftp2fn(efTPR, NFILE, fnm), ir, box, &natoms, NULL, NULL, NULL, top); /* get index groups */ diff --git a/src/gromacs/gmxana/gmx_tcaf.c b/src/gromacs/gmxana/gmx_tcaf.c index f1922f5537..b676ffc6a2 100644 --- a/src/gromacs/gmxana/gmx_tcaf.c +++ b/src/gromacs/gmxana/gmx_tcaf.c @@ -34,31 +34,30 @@ * 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 -#endif -#include +#include "gmxpre.h" #include +#include +#include + +#include "gromacs/commandline/pargs.h" #include "gromacs/fileio/confio.h" -#include "gmx_fatal.h" -#include "gromacs/fileio/futil.h" -#include "gstat.h" -#include "macros.h" +#include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" -#include "physics.h" -#include "index.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "gromacs/commandline/pargs.h" -#include -#include "sysstuff.h" -#include "txtdump.h" -#include "typedefs.h" -#include "vec.h" -#include "xvgr.h" -#include "pbc.h" -#include "gmx_ana.h" -#include "gromacs/fileio/trxio.h" #define NK 24 @@ -339,7 +338,7 @@ int gmx_tcaf(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, npargs, ppa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_traj.c b/src/gromacs/gmxana/gmx_traj.c index 6f26469d7c..cd3d0b5ccf 100644 --- a/src/gromacs/gmxana/gmx_traj.c +++ b/src/gromacs/gmxana/gmx_traj.c @@ -34,32 +34,29 @@ * 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 -#endif +#include "gmxpre.h" #include +#include #include + #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/fileio/confio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "rmpbc.h" -#include "physics.h" -#include "gromacs/fileio/confio.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/linearalgebra/nrjac.h" -#include "gmx_fatal.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void low_print_data(FILE *fp, real time, rvec x[], int n, atom_id *index, gmx_bool bDim[], const char *sffmt) @@ -687,24 +684,24 @@ int gmx_traj(int argc, char *argv[]) { efTRX, "-f", NULL, ffREAD }, { efTPS, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD }, - { efXVG, "-ox", "coord.xvg", ffOPTWR }, - { efTRX, "-oxt", "coord.xtc", ffOPTWR }, - { efXVG, "-ov", "veloc.xvg", ffOPTWR }, - { efXVG, "-of", "force.xvg", ffOPTWR }, - { efXVG, "-ob", "box.xvg", ffOPTWR }, - { efXVG, "-ot", "temp.xvg", ffOPTWR }, - { efXVG, "-ekt", "ektrans.xvg", ffOPTWR }, - { efXVG, "-ekr", "ekrot.xvg", ffOPTWR }, - { efXVG, "-vd", "veldist.xvg", ffOPTWR }, - { efPDB, "-cv", "veloc.pdb", ffOPTWR }, - { efPDB, "-cf", "force.pdb", ffOPTWR }, - { efXVG, "-av", "all_veloc.xvg", ffOPTWR }, - { efXVG, "-af", "all_force.xvg", ffOPTWR } + { efXVG, "-ox", "coord", ffOPTWR }, + { efTRX, "-oxt", "coord", ffOPTWR }, + { efXVG, "-ov", "veloc", ffOPTWR }, + { efXVG, "-of", "force", ffOPTWR }, + { efXVG, "-ob", "box", ffOPTWR }, + { efXVG, "-ot", "temp", ffOPTWR }, + { efXVG, "-ekt", "ektrans", ffOPTWR }, + { efXVG, "-ekr", "ekrot", ffOPTWR }, + { efXVG, "-vd", "veldist", ffOPTWR }, + { efPDB, "-cv", "veloc", ffOPTWR }, + { efPDB, "-cf", "force", ffOPTWR }, + { efXVG, "-av", "all_veloc", ffOPTWR }, + { efXVG, "-af", "all_force", ffOPTWR } }; #define NFILE asize(fnm) if (!parse_common_args(&argc, argv, - PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW | PCA_BE_NICE, + PCA_CAN_TIME | PCA_TIME_UNIT | PCA_CAN_VIEW, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_trjcat.c b/src/gromacs/gmxana/gmx_trjcat.c index 629f221d0b..e13434df55 100644 --- a/src/gromacs/gmxana/gmx_trjcat.c +++ b/src/gromacs/gmxana/gmx_trjcat.c @@ -34,36 +34,32 @@ * 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 -#endif +#include "gmxpre.h" -#include #include -#include "macros.h" -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" +#include +#include + +#include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/gmxfio.h" -#include "gromacs/fileio/tpxio.h" -#include "gromacs/fileio/trxio.h" -#include "gromacs/fileio/trnio.h" +#include "gromacs/fileio/pdbio.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/fileio/pdbio.h" -#include "gromacs/fileio/confio.h" -#include "names.h" -#include "index.h" -#include "vec.h" +#include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/trnio.h" +#include "gromacs/fileio/trxio.h" #include "gromacs/fileio/xtcio.h" -#include "rmpbc.h" -#include "pbc.h" -#include "xvgr.h" -#include "gmx_ana.h" - -#include "gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define TIME_EXPLICIT 0 #define TIME_CONTINUE 1 @@ -506,7 +502,7 @@ int gmx_trjcat(int argc, char *argv[]) #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_BE_NICE | PCA_TIME_UNIT, NFILE, fnm, + if (!parse_common_args(&argc, argv, PCA_TIME_UNIT, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -590,7 +586,7 @@ int gmx_trjcat(int argc, char *argv[]) { if (nfile_out != nset) { - char *buf = strdup(fnms_out[0]); + char *buf = gmx_strdup(fnms_out[0]); snew(fnms_out, nset); for (i = 0; (i < nset); i++) { diff --git a/src/gromacs/gmxana/gmx_trjconv.c b/src/gromacs/gmxana/gmx_trjconv.c index 516bd4050f..b687c07220 100644 --- a/src/gromacs/gmxana/gmx_trjconv.c +++ b/src/gromacs/gmxana/gmx_trjconv.c @@ -34,43 +34,43 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" -#include #include +#include +#include -#include "copyrite.h" -#include "macros.h" -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" +#ifdef HAVE_UNISTD_H +#include +#endif + +#include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/fileio/tngio_for_tools.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/fileio/pdbio.h" -#include "gromacs/fileio/confio.h" -#include "names.h" -#include "index.h" -#include "vec.h" +#include "gromacs/fileio/trxio.h" #include "gromacs/fileio/xtcio.h" -#include "rmpbc.h" -#include "pbc.h" -#include "viewit.h" -#include "xvgr.h" -#include "gmx_ana.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" #include "gromacs/math/do_fit.h" -#include "gmx_fatal.h" - -#ifdef HAVE_UNISTD_H -#include -#endif +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/topology/topology.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" enum { euSel, euRect, euTric, euCompact, euNR @@ -376,7 +376,7 @@ static void put_residue_com_in_box(int unitcell_enum, int ecenter, { if (debug) { - fprintf(debug, "\nShifting position of residue %d (atoms %u-%u) " + fprintf(debug, "\nShifting position of residue %d (atoms %d-%d) " "by %g,%g,%g\n", atom[res_start].resind+1, res_start+1, res_end+1, shift[XX], shift[YY], shift[ZZ]); } @@ -469,7 +469,7 @@ static void mk_filenm(char *base, const char *ext, int ndigit, int file_nr, void check_trn(const char *fn) { - if ((fn2ftp(fn) != efTRJ) && (fn2ftp(fn) != efTRR)) + if (fn2ftp(fn) != efTRR) { gmx_fatal(FARGS, "%s is not a trajectory file, exiting\n", fn); } @@ -492,7 +492,7 @@ void do_trunc(const char *fn, real t0) gmx_fatal(FARGS, "You forgot to set the truncation time"); } - /* Check whether this is a .trj file */ + /* Check whether this is a .trr file */ check_trn(fn); in = open_trn(fn, "r"); @@ -615,18 +615,18 @@ int gmx_trjconv(int argc, char *argv[]) "[PAR]", "The following formats are supported for input and output:", - "[TT].xtc[tt], [TT].trr[tt], [TT].trj[tt], [TT].gro[tt], [TT].g96[tt]", + "[TT].xtc[tt], [TT].trr[tt], [TT].gro[tt], [TT].g96[tt]", "and [TT].pdb[tt].", "The file formats are detected from the file extension.", "The precision of [TT].xtc[tt] and [TT].gro[tt] output is taken from the", "input file for [TT].xtc[tt], [TT].gro[tt] and [TT].pdb[tt],", "and from the [TT]-ndec[tt] option for other input formats. The precision", "is always taken from [TT]-ndec[tt], when this option is set.", - "All other formats have fixed precision. [TT].trr[tt] and [TT].trj[tt]", + "All other formats have fixed precision. [TT].trr[tt]", "output can be single or double precision, depending on the precision", "of the [THISMODULE] binary.", "Note that velocities are only supported in", - "[TT].trr[tt], [TT].trj[tt], [TT].gro[tt] and [TT].g96[tt] files.[PAR]", + "[TT].trr[tt], [TT].gro[tt] and [TT].g96[tt] files.[PAR]", "Option [TT]-sep[tt] can be used to write every frame to a separate", "[TT].gro, .g96[tt] or [TT].pdb[tt] file. By default, all frames all written to one file.", @@ -714,7 +714,7 @@ int gmx_trjconv(int argc, char *argv[]) "can reduce the number of frames while using low-pass frequency", "filtering, this reduces aliasing of high frequency motions.[PAR]", - "Using [TT]-trunc[tt] [THISMODULE] can truncate [TT].trj[tt] in place, i.e.", + "Using [TT]-trunc[tt] [THISMODULE] can truncate [TT].trr[tt] in place, i.e.", "without copying the file. This is useful when a run has crashed", "during disk I/O (i.e. full disk), or when two contiguous", "trajectories must be concatenated without having double frames.[PAR]", @@ -925,7 +925,7 @@ int gmx_trjconv(int argc, char *argv[]) if (!parse_common_args(&argc, argv, PCA_CAN_BEGIN | PCA_CAN_END | PCA_CAN_VIEW | - PCA_TIME_UNIT | PCA_BE_NICE, + PCA_TIME_UNIT, NFILE, fnm, NPA, pa, asize(desc), desc, 0, NULL, &oenv)) { @@ -1032,9 +1032,9 @@ int gmx_trjconv(int argc, char *argv[]) { /* check if velocities are possible in input and output files */ ftpin = fn2ftp(in_file); - bVels = (ftp == efTRR || ftp == efTRJ || ftp == efGRO || + bVels = (ftp == efTRR || ftp == efGRO || ftp == efG96 || ftp == efTNG) - && (ftpin == efTRR || ftpin == efTRJ || ftpin == efGRO || + && (ftpin == efTRR || ftpin == efGRO || ftpin == efG96 || ftpin == efTNG || ftpin == efCPT); } if (bSeparate || bSplit) @@ -1044,7 +1044,7 @@ int gmx_trjconv(int argc, char *argv[]) { gmx_fatal(FARGS, "Output file name '%s' does not contain a '.'", out_file); } - outf_base = strdup(out_file); + outf_base = gmx_strdup(out_file); outf_base[outf_ext - out_file] = '\0'; } @@ -1268,7 +1268,7 @@ int gmx_trjconv(int argc, char *argv[]) useatoms.nr = nout; } /* select what to read */ - if (ftp == efTRR || ftp == efTRJ) + if (ftp == efTRR) { flags = TRX_READ_X; } @@ -1352,7 +1352,6 @@ int gmx_trjconv(int argc, char *argv[]) break; case efXTC: case efTRR: - case efTRJ: out = NULL; if (!bSplit && !bSubTraj) { @@ -1747,7 +1746,6 @@ int gmx_trjconv(int argc, char *argv[]) write_tng_frame(trxout, &frout); // TODO when trjconv behaves better: work how to read and write lambda break; - case efTRJ: case efTRR: case efXTC: if (bSplitHere) diff --git a/src/gromacs/gmxana/gmx_trjorder.c b/src/gromacs/gmxana/gmx_trjorder.c index 6b357e1b80..ed383bf2f4 100644 --- a/src/gromacs/gmxana/gmx_trjorder.c +++ b/src/gromacs/gmxana/gmx_trjorder.c @@ -34,31 +34,27 @@ * 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 -#endif +#include "gmxpre.h" #include +#include #include + #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 "txtdump.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gmx_ana.h" - -#include "gmx_fatal.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct { atom_id i; @@ -151,7 +147,7 @@ int gmx_trjorder(int argc, char *argv[]) }; #define NFILE asize(fnm) - if (!parse_common_args(&argc, argv, PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_tune_pme.c b/src/gromacs/gmxana/gmx_tune_pme.c index a437803932..c4a7e6e021 100644 --- a/src/gromacs/gmxana/gmx_tune_pme.c +++ b/src/gromacs/gmxana/gmx_tune_pme.c @@ -32,35 +32,36 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" +#include #include + #ifdef HAVE_SYS_TIME_H #include #endif #include "gromacs/commandline/pargs.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "copyrite.h" #include "gromacs/fileio/tpxio.h" -#include "gromacs/utility/cstringutil.h" -#include "readinp.h" -#include "calcgrid.h" -#include "checkpoint.h" -#include "macros.h" -#include "gmx_ana.h" -#include "names.h" -#include "perf_est.h" -#include "inputrec.h" -#include "gromacs/timing/walltime_accounting.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/calcgrid.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/inputrec.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/perf_est.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/math/utilities.h" - -#include "gmx_fatal.h" +#include "gromacs/math/vec.h" +#include "gromacs/timing/walltime_accounting.h" +#include "gromacs/utility/baseversion.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* Enum for situations that can occur during log file parsing, the * corresponding string entries can be found in do_the_tests() in @@ -143,29 +144,6 @@ static void cleandata(t_perf *perfdata, int test_nr) } -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)) @@ -553,8 +531,8 @@ static gmx_bool analyze_data( 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]); @@ -616,25 +594,25 @@ static void get_program_paths(gmx_bool bThreads, char *cmd_mpirun[], char *cmd_m { if ( (cp = getenv("MPIRUN")) != NULL) { - *cmd_mpirun = strdup(cp); + *cmd_mpirun = gmx_strdup(cp); } else { - *cmd_mpirun = strdup(def_mpirun); + *cmd_mpirun = gmx_strdup(def_mpirun); } } else { - *cmd_mpirun = strdup(empty_mpirun); + *cmd_mpirun = gmx_strdup(empty_mpirun); } if ( (cp = getenv("MDRUN" )) != NULL) { - *cmd_mdrun = strdup(cp); + *cmd_mdrun = gmx_strdup(cp); } else { - *cmd_mdrun = strdup(def_mdrun); + *cmd_mdrun = gmx_strdup(def_mdrun); } } @@ -986,11 +964,11 @@ static void make_benchmark_tprs( { /* 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; } @@ -1090,8 +1068,8 @@ static void make_benchmark_tprs( 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; } @@ -1660,13 +1638,13 @@ static void check_input( /* 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", @@ -1675,13 +1653,13 @@ static void check_input( } 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); } @@ -1693,7 +1671,7 @@ static void check_input( 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" @@ -2124,9 +2102,9 @@ int gmx_tune_pme(int argc, char *argv[]) /* g_tune_pme */ { efOUT, "-p", "perf", ffWRITE }, { efLOG, "-err", "bencherr", ffWRITE }, - { efTPX, "-so", "tuned", ffWRITE }, + { efTPR, "-so", "tuned", ffWRITE }, /* mdrun: */ - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efTRN, "-o", NULL, ffWRITE }, { efCOMPRESSED, "-x", NULL, ffOPTWR }, { efCPT, "-cpi", NULL, ffOPTRD }, @@ -2399,7 +2377,8 @@ int gmx_tune_pme(int argc, char *argv[]) sep_line(fp); fprintf(fp, "\n P E R F O R M A N C E R E S U L T S\n"); sep_line(fp); - fprintf(fp, "%s for Gromacs %s\n", ShortProgram(), GromacsVersion()); + fprintf(fp, "%s for Gromacs %s\n", output_env_get_program_display_name(oenv), + gmx_version()); if (!bThreads) { fprintf(fp, "Number of ranks : %d\n", nnodes); diff --git a/src/gromacs/gmxana/gmx_vanhove.c b/src/gromacs/gmxana/gmx_vanhove.c index 71c5c0ec69..fb372b77e1 100644 --- a/src/gromacs/gmxana/gmx_vanhove.c +++ b/src/gromacs/gmxana/gmx_vanhove.c @@ -34,28 +34,28 @@ * 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 -#endif +#include "gmxpre.h" +#include #include +#include #include -#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 "typedefs.h" -#include "xvgr.h" -#include "gstat.h" +#include "gromacs/fileio/matio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "vec.h" -#include "gromacs/fileio/matio.h" -#include "gmx_ana.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" int gmx_vanhove(int argc, char *argv[]) @@ -147,7 +147,7 @@ int gmx_vanhove(int argc, char *argv[]) FILE *fp; t_rgb rlo = {1, 1, 1}, rhi = {0, 0, 0}; - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -199,6 +199,7 @@ int gmx_vanhove(int argc, char *argv[]) srenew(sbox, nalloc); srenew(sx, nalloc); } + assert(time != NULL); assert(sbox != NULL); time[nfr] = t; copy_mat(box, sbox[nfr]); @@ -442,7 +443,7 @@ int gmx_vanhove(int argc, char *argv[]) for (fbin = 0; fbin < nr; fbin++) { sprintf(buf, "%g ps", (fbin + 1)*fshift*dt); - legend[fbin] = strdup(buf); + legend[fbin] = gmx_strdup(buf); } xvgr_legend(fp, nr, (const char**)legend, oenv); for (i = 0; i < nalloc; i++) diff --git a/src/gromacs/gmxana/gmx_velacc.c b/src/gromacs/gmxana/gmx_velacc.c index 77fe30fc3a..34c378d3a4 100644 --- a/src/gromacs/gmxana/gmx_velacc.c +++ b/src/gromacs/gmxana/gmx_velacc.c @@ -34,31 +34,30 @@ * 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 -#endif -#include +#include "gmxpre.h" + #include +#include +#include -#include "gromacs/fileio/confio.h" -#include "gmx_fatal.h" -#include "gromacs/fileio/futil.h" -#include "gstat.h" -#include "macros.h" -#include "gromacs/math/utilities.h" -#include "physics.h" -#include "index.h" -#include "gromacs/utility/smalloc.h" #include "gromacs/commandline/pargs.h" -#include -#include "sysstuff.h" -#include "txtdump.h" -#include "typedefs.h" -#include "vec.h" -#include "xvgr.h" -#include "gmx_ana.h" #include "gromacs/fft/fft.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/math/units.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void index_atom2mol(int *n, atom_id *index, t_block *mols) { @@ -236,7 +235,7 @@ int gmx_velacc(int argc, char *argv[]) npargs = asize(pa); ppa = add_acf_pargs(&npargs, pa); - if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME | PCA_BE_NICE, + if (!parse_common_args(&argc, argv, PCA_CAN_VIEW | PCA_CAN_TIME, NFILE, fnm, npargs, ppa, asize(desc), desc, 0, NULL, &oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_wham.cpp b/src/gromacs/gmxana/gmx_wham.cpp index 2504bc1808..7a5b0a4333 100644 --- a/src/gromacs/gmxana/gmx_wham.cpp +++ b/src/gromacs/gmxana/gmx_wham.cpp @@ -41,9 +41,9 @@ * \author Jochen Hub */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include @@ -53,19 +53,18 @@ #include #include "gromacs/commandline/pargs.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "copyrite.h" #include "gromacs/fileio/tpxio.h" -#include "names.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" #include "gromacs/random/random.h" -#include "gmx_ana.h" -#include "macros.h" #include "gromacs/utility/cstringutil.h" -#include "xvgr.h" - -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" //! longest file names allowed in input files #define WHAM_MAXFILELEN 2048 @@ -3386,7 +3385,7 @@ int gmx_wham(int argc, char *argv[]) opt.stepchange = 100; opt.stepUpdateContrib = 100; - if (!parse_common_args(&argc, argv, PCA_BE_NICE, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &opt.oenv)) { return 0; diff --git a/src/gromacs/gmxana/gmx_wheel.c b/src/gromacs/gmxana/gmx_wheel.c index d33ebf1abb..457b1a17a0 100644 --- a/src/gromacs/gmxana/gmx_wheel.c +++ b/src/gromacs/gmxana/gmx_wheel.c @@ -34,33 +34,25 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include #include -#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 "gstat.h" -#include "gmx_fatal.h" -#include "gmx_ana.h" - #include "gromacs/commandline/pargs.h" -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/strdb.h" #include "gromacs/fileio/writeps.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static gmx_bool *bPhobics(int nres, char *resnm[]) { @@ -252,7 +244,7 @@ int gmx_wheel(int argc, char *argv[]) int i, nres; char **resnm; - if (!parse_common_args(&argc, argv, PCA_BE_NICE, NFILE, fnm, asize(pa), pa, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, asize(pa), pa, asize(desc), desc, 0, NULL, &oenv)) { return 0; @@ -272,7 +264,7 @@ int gmx_wheel(int argc, char *argv[]) } else if (strcmp(argv[i], "-T") == 0) { - title = strdup(argv[++i]); + title = gmx_strdup(argv[++i]); fprintf(stderr, "Title will be '%s'\n", title); } else if (strcmp(argv[i], "-nn") == 0) diff --git a/src/gromacs/gmxana/gmx_xpm2ps.c b/src/gromacs/gmxana/gmx_xpm2ps.c index d8c5ebe56d..53c67ac016 100644 --- a/src/gromacs/gmxana/gmx_xpm2ps.c +++ b/src/gromacs/gmxana/gmx_xpm2ps.c @@ -34,25 +34,23 @@ * 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 -#endif +#include "gmxpre.h" +#include #include #include -#include -#include "typedefs.h" -#include "macros.h" -#include "gmx_fatal.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/fileio/matio.h" #include "gromacs/fileio/trxio.h" #include "gromacs/fileio/writeps.h" +#include "gromacs/gmxana/gmx_ana.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/viewit.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define FUDGE 1.2 #define DDD 2 @@ -400,7 +398,7 @@ static void draw_boxes(t_psdata ps, real x0, real y0, real w, for (j = 0; (j < ntx); j++) { sprintf(buf, "%g", mat[i].axis_x[j]); - xtick[j] = strdup(buf); + xtick[j] = gmx_strdup(buf); } ps_strfont(ps, psr->X.tickfont, psr->X.tickfontsize); for (x = 0; (x < ntx); x++) @@ -437,7 +435,7 @@ static void draw_boxes(t_psdata ps, real x0, real y0, real w, for (j = 0; (j < nty); j++) { sprintf(buf, "%g", mat[i].axis_y[j]); - ytick[j] = strdup(buf); + ytick[j] = gmx_strdup(buf); } for (y = 0; (y < nty); y++) @@ -711,11 +709,11 @@ void xpm_mat(const char *outf, int nmat, t_matrix *mat, t_matrix *mat2, 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); } diff --git a/src/gromacs/gmxana/gstat.h b/src/gromacs/gmxana/gstat.h index e12adf55d1..a07b3ed513 100644 --- a/src/gromacs/gmxana/gstat.h +++ b/src/gromacs/gmxana/gstat.h @@ -37,17 +37,17 @@ #ifndef GMX_GMXANA_GSTAT_H #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 "gromacs/commandline/pargs.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/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 @@ -300,7 +300,6 @@ void read_ang_dih(const char *trj_fn, * Read a trajectory and calculate angles and dihedrals. * * trj_fn file name of trajectory - * tpb_fn file name of tpb file * bAngles do we have to read angles or dihedrals * bSaveAll do we have to store all in the dih array * bRb do we have Ryckaert-Bellemans dihedrals (trans = 0) @@ -399,7 +398,7 @@ gmx_bool has_dihedral(int Dih, t_dlist *dl); 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); diff --git a/src/gromacs/gmxana/hxprops.c b/src/gromacs/gmxana/hxprops.c index ee949e9c4d..5b1f6c7074 100644 --- a/src/gromacs/gmxana/hxprops.c +++ b/src/gromacs/gmxana/hxprops.c @@ -34,23 +34,21 @@ * 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 -#endif +#include "gmxpre.h" + +#include "hxprops.h" #include #include -#include "typedefs.h" -#include "macros.h" -#include "physics.h" -#include "vec.h" -#include "index.h" -#include "hxprops.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/listed-forces/bonded.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "bondf.h" - -#include "gmx_fatal.h" real ellipticity(int nres, t_bb bb[]) { diff --git a/src/gromacs/gmxana/hxprops.h b/src/gromacs/gmxana/hxprops.h index 08c705b027..c6242d76b7 100644 --- a/src/gromacs/gmxana/hxprops.h +++ b/src/gromacs/gmxana/hxprops.h @@ -3,7 +3,7 @@ * * 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. @@ -39,7 +39,8 @@ #define _hxprops_h #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" #define PHI_AHX (-55.0) #define PSI_AHX (-45.0) diff --git a/src/gromacs/gmxana/interf.h b/src/gromacs/gmxana/interf.h index d202af3d45..8ffe5446c8 100644 --- a/src/gromacs/gmxana/interf.h +++ b/src/gromacs/gmxana/interf.h @@ -1,7 +1,7 @@ /* * 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. @@ -36,7 +36,7 @@ #ifndef _interf_h #define _interf_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" typedef struct { real Z; /* Interface height-coordinate */ diff --git a/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp b/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp index bea1f8044d..4af681f2f6 100644 --- a/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp +++ b/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp @@ -39,12 +39,15 @@ * \author Mark Abraham */ +#include "gmxpre.h" + +#include "config.h" + #include "gromacs/gmxana/gmx_ana.h" -#include "testutils/integrationtests.h" -#include "testutils/cmdlinetest.h" #include "gromacs/utility/arrayref.h" -#include "config.h" +#include "testutils/cmdlinetest.h" +#include "testutils/integrationtests.h" namespace { diff --git a/src/gromacs/gmxana/levenmar.c b/src/gromacs/gmxana/levenmar.c index b1f6502770..c84f103bc0 100644 --- a/src/gromacs/gmxana/levenmar.c +++ b/src/gromacs/gmxana/levenmar.c @@ -3,7 +3,7 @@ * * 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. @@ -34,15 +34,14 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include -#include "types/simple.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" static void nrerror(const char error_text[], gmx_bool bExit) { @@ -68,6 +67,8 @@ static real *rvector(int nl, int nh) { nrerror("allocation failure in rvector()", TRUE); } + /* cppcheck-suppress memleak + * free_vector does the same vector arithmetic */ return v-nl; } @@ -80,6 +81,8 @@ static int *ivector(int nl, int nh) { nrerror("allocation failure in ivector()", TRUE); } + /* cppcheck-suppress memleak + * free_vector does the same vector arithmetic */ return v-nl; } diff --git a/src/gromacs/gmxana/nrama.c b/src/gromacs/gmxana/nrama.c index e20501f7df..5c40c67559 100644 --- a/src/gromacs/gmxana/nrama.c +++ b/src/gromacs/gmxana/nrama.c @@ -34,19 +34,18 @@ * 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 -#endif +#include "gmxpre.h" #include "nrama.h" + #include -#include "sysstuff.h" +#include + +#include "gromacs/listed-forces/bonded.h" +#include "gromacs/pbcutil/rmpbc.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "bondf.h" -#include "gromacs/fileio/futil.h" -#include "gmx_fatal.h" -#include "rmpbc.h" static const char *pp_pat[] = { "C", "N", "CA", "C", "N" }; #define NPP (sizeof(pp_pat)/sizeof(pp_pat[0])) @@ -143,7 +142,7 @@ static void add_xr(t_xrama *xr, int ff[5], t_atoms *atoms) xr->pp[xr->npp].bShow = FALSE; sprintf(buf, "%s-%d", *atoms->resinfo[atoms->atom[ff[1]].resind].name, atoms->resinfo[atoms->atom[ff[1]].resind].nr); - xr->pp[xr->npp].label = strdup(buf); + xr->pp[xr->npp].label = gmx_strdup(buf); xr->npp++; } diff --git a/src/gromacs/gmxana/nrama.h b/src/gromacs/gmxana/nrama.h index aae2f36a14..03ee814181 100644 --- a/src/gromacs/gmxana/nrama.h +++ b/src/gromacs/gmxana/nrama.h @@ -38,10 +38,9 @@ #ifndef GMX_GMXANA_NRAMA_H #define GMX_GMXANA_NRAMA_H -#include "typedefs.h" -#include "oenv.h" -#include "mshift.h" -#include "../fileio/trxio.h" +#include "gromacs/fileio/trxio.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxana/nsfactor.c b/src/gromacs/gmxana/nsfactor.c index 4b15a573c9..5525de64df 100644 --- a/src/gromacs/gmxana/nsfactor.c +++ b/src/gromacs/gmxana/nsfactor.c @@ -32,22 +32,23 @@ * 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 -#endif - -#include +#include "gmxpre.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 "config.h" + +#include + #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) { @@ -116,7 +117,7 @@ gmx_neutron_atomic_structurefactors_t *gmx_neutronstructurefactors_init(const ch i = line_no; if (sscanf(line, "%s %d %d %lf", atomnm, &p, &n, &slength) == 4) { - gnsf->atomnm[i] = strdup(atomnm); + gnsf->atomnm[i] = gmx_strdup(atomnm); gnsf->n[i] = n; gnsf->p[i] = p; gnsf->slength[i] = slength; diff --git a/src/gromacs/gmxana/nsfactor.h b/src/gromacs/gmxana/nsfactor.h index 8d3a388cf1..c833a5521d 100644 --- a/src/gromacs/gmxana/nsfactor.h +++ b/src/gromacs/gmxana/nsfactor.h @@ -36,14 +36,15 @@ #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 */ @@ -53,8 +54,8 @@ typedef struct gmx_neutron_atomic_structurefactors_t { } 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 { @@ -79,7 +80,7 @@ void normalize_probability(int n, double *a); 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, diff --git a/src/gromacs/gmxana/polynomials.c b/src/gromacs/gmxana/polynomials.c index de47f1aa7a..9f6257bfbe 100644 --- a/src/gromacs/gmxana/polynomials.c +++ b/src/gromacs/gmxana/polynomials.c @@ -3,7 +3,7 @@ * * 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. @@ -34,15 +34,14 @@ * 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 -#endif +#include "gmxpre.h" -#include #include -#include "typedefs.h" -#include "gmx_fatal.h" -#include "gstat.h" +#include + +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" real LegendreP(real x, unsigned long m) diff --git a/src/gromacs/gmxana/powerspect.c b/src/gromacs/gmxana/powerspect.c index 06e7d94cae..67674959c7 100644 --- a/src/gromacs/gmxana/powerspect.c +++ b/src/gromacs/gmxana/powerspect.c @@ -33,17 +33,16 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" -#include "gromacs/utility/smalloc.h" -#include "gromacs/fft/fft.h" -#include "gmx_fatal.h" -#include "gromacs/fileio/futil.h" -#include "interf.h" #include "powerspect.h" +#include "gromacs/fft/fft.h" +#include "gromacs/gmxana/interf.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" + void addtoavgenergy(t_complex *list, real *result, int size, int tsteps) { int i; @@ -73,7 +72,6 @@ void powerspectavg(real ***intftab, int tsteps, int xbins, int ybins, char **out /*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"); } @@ -113,8 +111,8 @@ void powerspectavg(real ***intftab, int tsteps, int xbins, int ybins, char **out gmx_ffclose(datfile1); gmx_ffclose(datfile2); - free(ftspect1); - free(ftspect2); + sfree(ftspect1); + sfree(ftspect2); } diff --git a/src/gromacs/gmxana/powerspect.h b/src/gromacs/gmxana/powerspect.h index 53b6643b40..5f9bbc3241 100644 --- a/src/gromacs/gmxana/powerspect.h +++ b/src/gromacs/gmxana/powerspect.h @@ -1,7 +1,7 @@ /* * 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. @@ -36,8 +36,8 @@ #ifndef _powerspect_h #define _powerspect_h -#include "typedefs.h" -#include "interf.h" +#include "gromacs/gmxana/interf.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" diff --git a/src/gromacs/gmxana/pp2shift.c b/src/gromacs/gmxana/pp2shift.c index 85e29ac4eb..fa12f6d0b6 100644 --- a/src/gromacs/gmxana/pp2shift.c +++ b/src/gromacs/gmxana/pp2shift.c @@ -34,21 +34,20 @@ * 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 -#endif +#include "gmxpre.h" -#include #include -#include "typedefs.h" -#include "gromacs/fileio/futil.h" -#include "macros.h" -#include "physics.h" -#include "gromacs/utility/smalloc.h" -#include "gstat.h" +#include + #include "gromacs/fileio/matio.h" -#include "copyrite.h" -#include "gmx_fatal.h" +#include "gromacs/gmxana/gstat.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct { int nx, ny; diff --git a/src/gromacs/gmxlib/princ.c b/src/gromacs/gmxana/princ.c similarity index 98% rename from src/gromacs/gmxlib/princ.c rename to src/gromacs/gmxana/princ.c index 19cc04844d..fb7dcad1d7 100644 --- a/src/gromacs/gmxlib/princ.c +++ b/src/gromacs/gmxana/princ.c @@ -35,17 +35,15 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" -#include "txtdump.h" #include "princ.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/linearalgebra/nrjac.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/smalloc.h" static void m_op(matrix mat, rvec x) { diff --git a/src/gromacs/legacyheaders/princ.h b/src/gromacs/gmxana/princ.h similarity index 94% rename from src/gromacs/legacyheaders/princ.h rename to src/gromacs/gmxana/princ.h index 78c639a30f..af9caf3996 100644 --- a/src/gromacs/legacyheaders/princ.h +++ b/src/gromacs/gmxana/princ.h @@ -3,7 +3,7 @@ * * 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. @@ -34,11 +34,10 @@ * 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_GMXANA_PRINC_H +#define GMX_GMXANA_PRINC_H -#ifndef _princ_h -#define _princ_h - -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxlib/sfactor.c b/src/gromacs/gmxana/sfactor.c similarity index 95% rename from src/gromacs/gmxlib/sfactor.c rename to src/gromacs/gmxana/sfactor.c index 1684a5490b..8cc7492d77 100644 --- a/src/gromacs/gmxlib/sfactor.c +++ b/src/gromacs/gmxana/sfactor.c @@ -34,28 +34,25 @@ * 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 -#endif +#include "gmxpre.h" -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "gromacs/fileio/futil.h" -#include "gromacs/math/utilities.h" -#include "gmx_fatal.h" -#include "vec.h" -#include "macros.h" -#include "index.h" +#include "sfactor.h" + +#include "gromacs/fileio/gmxfio.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 "names.h" -#include "sfactor.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct gmx_structurefactors { @@ -135,21 +132,9 @@ extern t_complex *** rc_tensor_allocation(int x, int y, int z) 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++) { @@ -260,7 +245,10 @@ extern void compute_structure_factor (structure_factor_t * sft, matrix box, } } } - sfree (counter); free(tmpSF[0][0]); free(tmpSF[0]); free(tmpSF); + sfree(counter); + sfree(tmpSF[0][0]); + sfree(tmpSF[0]); + sfree(tmpSF); } @@ -295,7 +283,7 @@ extern gmx_structurefactors_t *gmx_structurefactors_init(const char *datfn) if (sscanf(line, "%s %d %lf %lf %lf %lf %lf %lf %lf %lf %lf", atomn, &p, &a1, &a2, &a3, &a4, &b1, &b2, &b3, &b4, &c) == 11) { - gsf->atomnm[i] = strdup(atomn); + gsf->atomnm[i] = gmx_strdup(atomn); gsf->p[i] = p; snew(gsf->a[i], 4); snew(gsf->b[i], 4); @@ -360,8 +348,6 @@ extern void rearrange_atoms (reduced_atom_t * positions, t_trxframe *fr, atom_id { copy_rvec (fr->x[index[i]], pos[i].x); } - - positions = (reduced_atom_t *)pos; } diff --git a/src/gromacs/legacyheaders/sfactor.h b/src/gromacs/gmxana/sfactor.h similarity index 90% rename from src/gromacs/legacyheaders/sfactor.h rename to src/gromacs/gmxana/sfactor.h index 8bdb91fa93..0550909596 100644 --- a/src/gromacs/legacyheaders/sfactor.h +++ b/src/gromacs/gmxana/sfactor.h @@ -34,22 +34,19 @@ * 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" - - +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/gmxcomplex.h" #ifdef __cplusplus extern "C" { #endif +struct t_topology; +struct t_trxframe; typedef struct gmx_structurefactors gmx_structurefactors_t; @@ -79,8 +76,8 @@ double CMSF (gmx_structurefactors_t *gsf, int type, int nh, double lambda, doubl 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, diff --git a/src/gromacs/gmxlib/CMakeLists.txt b/src/gromacs/gmxlib/CMakeLists.txt index 4710367b35..991123e37e 100644 --- a/src/gromacs/gmxlib/CMakeLists.txt +++ b/src/gromacs/gmxlib/CMakeLists.txt @@ -40,17 +40,11 @@ add_subdirectory(nonbonded) # 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) - set(GMX_GPU_LIBRARIES ${GMX_GPU_LIBRARIES} gpu_utils cuda_tools PARENT_SCOPE) + add_subdirectory(gpu_utils) endif() set(GMXLIB_SOURCES ${GMXLIB_SOURCES} ${NONBONDED_SOURCES} PARENT_SCOPE) diff --git a/src/gromacs/gmxlib/bonded-threading.cpp b/src/gromacs/gmxlib/bonded-threading.cpp new file mode 100644 index 0000000000..cf9ab16c10 --- /dev/null +++ b/src/gromacs/gmxlib/bonded-threading.cpp @@ -0,0 +1,214 @@ +/* + * 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 "gmxpre.h" + +#include "gromacs/legacyheaders/bonded-threading.h" + +#include + +#include + +#include "gromacs/listed-forces/bonded.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" + +static void divide_bondeds_over_threads(t_idef *idef, int nthreads) +{ + int ftype; + int nat1; + int t; + int il_nr_thread; + + idef->nthreads = nthreads; + + if (F_NRE*(nthreads+1) > idef->il_thread_division_nalloc) + { + idef->il_thread_division_nalloc = F_NRE*(nthreads+1); + snew(idef->il_thread_division, idef->il_thread_division_nalloc); + } + + for (ftype = 0; ftype < F_NRE; ftype++) + { + if (ftype_is_bonded_potential(ftype)) + { + nat1 = interaction_function[ftype].nratoms + 1; + + for (t = 0; t <= nthreads; t++) + { + /* Divide the interactions equally over the threads. + * When the different types of bonded interactions + * are distributed roughly equally over the threads, + * this should lead to well localized output into + * the force buffer on each thread. + * If this is not the case, a more advanced scheme + * (not implemented yet) will do better. + */ + il_nr_thread = (((idef->il[ftype].nr/nat1)*t)/nthreads)*nat1; + + /* Ensure that distance restraint pairs with the same label + * end up on the same thread. + * This is slighlty tricky code, since the next for iteration + * may have an initial il_nr_thread lower than the final value + * in the previous iteration, but this will anyhow be increased + * to the approriate value again by this while loop. + */ + while (ftype == F_DISRES && + il_nr_thread > 0 && + il_nr_thread < idef->il[ftype].nr && + idef->iparams[idef->il[ftype].iatoms[il_nr_thread]].disres.label == + idef->iparams[idef->il[ftype].iatoms[il_nr_thread-nat1]].disres.label) + { + il_nr_thread += nat1; + } + + idef->il_thread_division[ftype*(nthreads+1)+t] = il_nr_thread; + } + } + } +} + +static unsigned +calc_bonded_reduction_mask(const t_idef *idef, + int shift, + int t, int nt) +{ + unsigned mask; + int ftype, nb, nat1, nb0, nb1, i, a; + + mask = 0; + + for (ftype = 0; ftype < F_NRE; ftype++) + { + if (ftype_is_bonded_potential(ftype)) + { + nb = idef->il[ftype].nr; + if (nb > 0) + { + nat1 = interaction_function[ftype].nratoms + 1; + + /* Divide this interaction equally over the threads. + * This is not stored: should match division in calc_bonds. + */ + nb0 = idef->il_thread_division[ftype*(nt+1)+t]; + nb1 = idef->il_thread_division[ftype*(nt+1)+t+1]; + + for (i = nb0; i < nb1; i += nat1) + { + for (a = 1; a < nat1; a++) + { + mask |= (1U << (idef->il[ftype].iatoms[i+a]>>shift)); + } + } + } + } + } + + return mask; +} + +void setup_bonded_threading(t_forcerec *fr, t_idef *idef) +{ +#define MAX_BLOCK_BITS 32 + int t; + int ctot, c, b; + + assert(fr->nthreads >= 1); + + /* Divide the bonded interaction over the threads */ + divide_bondeds_over_threads(idef, fr->nthreads); + + if (fr->nthreads == 1) + { + fr->red_nblock = 0; + + return; + } + + /* We divide the force array in a maximum of 32 blocks. + * Minimum force block reduction size is 2^6=64. + */ + fr->red_ashift = 6; + while (fr->natoms_force > (int)(MAX_BLOCK_BITS*(1U<red_ashift))) + { + fr->red_ashift++; + } + if (debug) + { + fprintf(debug, "bonded force buffer block atom shift %d bits\n", + fr->red_ashift); + } + + /* Determine to which blocks each thread's bonded force calculation + * contributes. Store this is a mask for each thread. + */ +#pragma omp parallel for num_threads(fr->nthreads) schedule(static) + for (t = 1; t < fr->nthreads; t++) + { + fr->f_t[t].red_mask = + calc_bonded_reduction_mask(idef, fr->red_ashift, t, fr->nthreads); + } + + /* Determine the maximum number of blocks we need to reduce over */ + fr->red_nblock = 0; + ctot = 0; + for (t = 0; t < fr->nthreads; t++) + { + c = 0; + for (b = 0; b < MAX_BLOCK_BITS; b++) + { + if (fr->f_t[t].red_mask & (1U<red_nblock = std::max(fr->red_nblock, b+1); + c++; + } + } + if (debug) + { + fprintf(debug, "thread %d flags %x count %d\n", + t, fr->f_t[t].red_mask, c); + } + ctot += c; + } + if (debug) + { + fprintf(debug, "Number of blocks to reduce: %d of size %d\n", + fr->red_nblock, 1<red_ashift); + fprintf(debug, "Reduction density %.2f density/#thread %.2f\n", + ctot*(1<red_ashift)/(double)fr->natoms_force, + ctot*(1<red_ashift)/(double)(fr->natoms_force*fr->nthreads)); + } +} diff --git a/src/gromacs/gmxlib/calcgrid.c b/src/gromacs/gmxlib/calcgrid.c index 81856d489c..7bbee76f12 100644 --- a/src/gromacs/gmxlib/calcgrid.c +++ b/src/gromacs/gmxlib/calcgrid.c @@ -34,16 +34,15 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/calcgrid.h" #include -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "calcgrid.h" /* The grid sizes below are based on timing of a 3D cubic grid in fftw * compiled with SSE using 4 threads in fft5d.c. diff --git a/src/gromacs/gmxlib/chargegroup.c b/src/gromacs/gmxlib/chargegroup.c index 93df8e1a1d..41e152518d 100644 --- a/src/gromacs/gmxlib/chargegroup.c +++ b/src/gromacs/gmxlib/chargegroup.c @@ -34,18 +34,17 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/chargegroup.h" #include -#include "sysstuff.h" -#include "typedefs.h" -#include "vec.h" -#include "pbc.h" + +#include "gromacs/legacyheaders/typedefs.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 "chargegroup.h" void calc_chargegroup_radii(const gmx_mtop_t *mtop, rvec *x, diff --git a/src/gromacs/gmxlib/checkpoint.c b/src/gromacs/gmxlib/checkpoint.cpp similarity index 98% rename from src/gromacs/gmxlib/checkpoint.c rename to src/gromacs/gmxlib/checkpoint.cpp index 18c0a312a6..c1a806c42d 100644 --- a/src/gromacs/gmxlib/checkpoint.c +++ b/src/gromacs/gmxlib/checkpoint.cpp @@ -35,51 +35,49 @@ /* The source code in this file should be thread-safe. Please keep it that way. */ +#include "gmxpre.h" +#include "gromacs/legacyheaders/checkpoint.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" +#include +#include #include #include +#include + #ifdef HAVE_SYS_TIME_H #include #endif - #ifdef HAVE_UNISTD_H #include #endif - #ifdef GMX_NATIVE_WINDOWS /* _chsize_s */ #include #include #endif -#include "copyrite.h" -#include "names.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "gromacs/utility/smalloc.h" -#include "txtdump.h" -#include "vec.h" -#include "network.h" -#include "checkpoint.h" -#include "main.h" -#include "gromacs/utility/cstringutil.h" -#include - +#include "buildinfo.h" #include "gromacs/fileio/filenm.h" -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/gmxfio.h" -#include "gromacs/fileio/xdrf.h" #include "gromacs/fileio/xdr_datatype.h" +#include "gromacs/fileio/xdrf.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/basenetwork.h" #include "gromacs/utility/baseversion.h" -#include "gmx_fatal.h" - -#include "buildinfo.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #ifdef GMX_FAHCORE #include "corewrap.h" @@ -168,7 +166,6 @@ gmx_wintruncate(const char *filename, __int64 size) return 0; #else FILE *fp; - int rc; fp = fopen(filename, "rb+"); @@ -467,6 +464,8 @@ static int do_cpte_reals_low(XDR *xd, int cptp, int ecpt, int sflags, { if (dtc == xdr_datatype_double) { + /* cppcheck-suppress invalidPointerCast + * Only executed if real is anyhow double */ vd = (double *)vp; } else @@ -535,8 +534,6 @@ static int do_cpte_n_reals(XDR *xd, int cptp, int ecpt, int sflags, 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); } @@ -546,7 +543,7 @@ static int do_cpte_ints(XDR *xd, int cptp, int ecpt, int sflags, 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); @@ -613,7 +610,7 @@ static int do_cpte_doubles(XDR *xd, int cptp, int ecpt, int sflags, 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); @@ -678,8 +675,6 @@ static int do_cpte_double(XDR *xd, int cptp, int ecpt, int sflags, 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); } @@ -688,7 +683,7 @@ static int do_cpte_matrix(XDR *xd, int cptp, int ecpt, int sflags, matrix v, FILE *list) { real *vr; - real ret; + int ret; vr = (real *)&(v[0][0]); ret = do_cpte_reals_low(xd, cptp, ecpt, sflags, @@ -707,8 +702,7 @@ static int do_cpte_nmatrix(XDR *xd, int cptp, int ecpt, int sflags, int n, real **v, FILE *list) { int i; - real *vr; - real ret, reti; + int ret, reti; char name[CPTSTRLEN]; ret = 0; @@ -718,17 +712,15 @@ static int do_cpte_nmatrix(XDR *xd, int cptp, int ecpt, int sflags, } 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; @@ -822,7 +814,6 @@ static void do_cpt_header(XDR *xd, gmx_bool bRead, int *file_version, bool_t res = 0; int magic; int idum = 0; - int i; char *fhost; if (bRead) @@ -1283,7 +1274,6 @@ static int do_cpt_enerhist(XDR *xd, gmx_bool bRead, { enerhist->ener_sum_sim[i] = enerhist->ener_sum[i]; } - fflags |= (1<nsteps = enerhist->nsum; - fflags |= (1<nsteps_sim = enerhist->nsum_sim; - fflags |= (1<npmenodes = 0; } else if (cr->nnodes == nppnodes_f + npmenodes_f) @@ -2005,7 +1992,7 @@ static void read_checkpoint(const char *fn, FILE **pfplog, { 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++) @@ -2017,11 +2004,6 @@ static void read_checkpoint(const char *fn, FILE **pfplog, } } } - else - { - /* The number of PP nodes has not been set yet */ - nppnodes = -1; - } if (fflags != state->flags) { @@ -2470,8 +2452,6 @@ void list_checkpoint(const char *fn, FILE *out) 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; diff --git a/src/gromacs/gmxlib/cinvsqrtdata.c b/src/gromacs/gmxlib/cinvsqrtdata.c deleted file mode 100644 index 77ca8d3572..0000000000 --- a/src/gromacs/gmxlib/cinvsqrtdata.c +++ /dev/null @@ -1,647 +0,0 @@ -/* - * 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 -#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; diff --git a/src/gromacs/gmxlib/conformation-utilities.c b/src/gromacs/gmxlib/conformation-utilities.c index b1e318522f..d21efa4cde 100644 --- a/src/gromacs/gmxlib/conformation-utilities.c +++ b/src/gromacs/gmxlib/conformation-utilities.c @@ -35,16 +35,15 @@ * the research papers on the package. Check out http://www.gromacs.org. */ /* This file is completely threadsafe - keep it that way! */ -#include "conformation-utilities.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "conformation-utilities.h" #include -#include "macros.h" -#include "vec.h" -#include "pbc.h" + +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" static real dist2(t_pbc *pbc, rvec x, rvec y) { diff --git a/src/gromacs/gmxlib/conformation-utilities.h b/src/gromacs/gmxlib/conformation-utilities.h index 38024be62a..0fbe271f04 100644 --- a/src/gromacs/gmxlib/conformation-utilities.h +++ b/src/gromacs/gmxlib/conformation-utilities.h @@ -37,7 +37,9 @@ #ifndef GMX_CONFORMATION_UTILITIES_H #define GMX_CONFORMATION_UTILITIES_H -#include "typedefs.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxlib/copyrite.cpp b/src/gromacs/gmxlib/copyrite.cpp index e085a7bdf7..fe7045a22e 100644 --- a/src/gromacs/gmxlib/copyrite.cpp +++ b/src/gromacs/gmxlib/copyrite.cpp @@ -34,11 +34,11 @@ * 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 "copyrite.h" +#include "gmxpre.h" + +#include "gromacs/legacyheaders/copyrite.h" -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include #include @@ -48,31 +48,27 @@ #ifdef HAVE_LIBMKL #include #endif - #ifdef HAVE_EXTRAE - #include "extrae_user_events.h" +#include #endif - #include /* This file is completely threadsafe - keep it that way! */ -#include "gromacs/legacyheaders/macros.h" -#include "gromacs/legacyheaders/vec.h" - +#include "buildinfo.h" #include "gromacs/fft/fft.h" -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/strdb.h" +#include "gromacs/legacyheaders/macros.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" -#include "buildinfo.h" - static gmx_bool be_cool(void) { /* Yes, it is bad to check the environment variable every call, diff --git a/src/gromacs/gmxlib/cuda_tools/CMakeLists.txt b/src/gromacs/gmxlib/cuda_tools/CMakeLists.txt index 8bbc24d10e..67d2cbe865 100644 --- a/src/gromacs/gmxlib/cuda_tools/CMakeLists.txt +++ b/src/gromacs/gmxlib/cuda_tools/CMakeLists.txt @@ -1,7 +1,7 @@ # # 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. @@ -34,8 +34,5 @@ if(GMX_GPU) file(GLOB CUDA_TOOLS_SOURCES *.cu) - CUDA_ADD_LIBRARY(cuda_tools STATIC ${CUDA_TOOLS_SOURCES} - OPTIONS - RELWITHDEBINFO -g - DEBUG -g -D_DEBUG_=1) + set(GMXLIB_SOURCES ${GMXLIB_SOURCES} ${CUDA_TOOLS_SOURCES} PARENT_SCOPE) endif() diff --git a/src/gromacs/gmxlib/cuda_tools/copyrite_gpu.cu b/src/gromacs/gmxlib/cuda_tools/copyrite_gpu.cu index aa204263fe..4b5bca9d6f 100644 --- a/src/gromacs/gmxlib/cuda_tools/copyrite_gpu.cu +++ b/src/gromacs/gmxlib/cuda_tools/copyrite_gpu.cu @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -33,11 +33,10 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" #include + #include #include diff --git a/src/gromacs/gmxlib/cuda_tools/cudautils.cu b/src/gromacs/gmxlib/cuda_tools/cudautils.cu index 57a0e425e8..44a18eaec4 100644 --- a/src/gromacs/gmxlib/cuda_tools/cudautils.cu +++ b/src/gromacs/gmxlib/cuda_tools/cudautils.cu @@ -33,11 +33,14 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#include "gmxpre.h" + +#include "cudautils.cuh" + #include +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "cudautils.cuh" /*** Generic CUDA data operation wrappers ***/ diff --git a/src/gromacs/gmxlib/cuda_tools/cudautils.cuh b/src/gromacs/gmxlib/cuda_tools/cudautils.cuh index 2cccc16c67..b48dc29d70 100644 --- a/src/gromacs/gmxlib/cuda_tools/cudautils.cuh +++ b/src/gromacs/gmxlib/cuda_tools/cudautils.cuh @@ -1,7 +1,7 @@ /* * 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. @@ -38,7 +38,7 @@ #include -#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 diff --git a/src/gromacs/gmxlib/cuda_tools/pmalloc_cuda.cu b/src/gromacs/gmxlib/cuda_tools/pmalloc_cuda.cu index 8c6b2cb8d4..d0c684d4ae 100644 --- a/src/gromacs/gmxlib/cuda_tools/pmalloc_cuda.cu +++ b/src/gromacs/gmxlib/cuda_tools/pmalloc_cuda.cu @@ -33,10 +33,14 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#include "gmxpre.h" + +#include "gromacs/legacyheaders/pmalloc_cuda.h" + #include -#include "cudautils.cuh" -#include "pmalloc_cuda.h" +#include "gromacs/gmxlib/cuda_tools/cudautils.cuh" +#include "gromacs/utility/cstringutil.h" /*! Allocates nbytes of page-locked memory. * This memory should always be freed using pfree (or with the page-locked diff --git a/src/gromacs/gmxlib/disre.c b/src/gromacs/gmxlib/disre.c index 061521d9f2..8e2fefd24f 100644 --- a/src/gromacs/gmxlib/disre.c +++ b/src/gromacs/gmxlib/disre.c @@ -35,25 +35,28 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/disre.h" + +#include "config.h" #include -#include "typedefs.h" -#include "types/commrec.h" -#include "sysstuff.h" +#include + +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/main.h" +#include "gromacs/legacyheaders/typedefs.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/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.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 "bondf.h" -#include "copyrite.h" -#include "disre.h" -#include "main.h" -#include "mtop_util.h" void init_disres(FILE *fplog, const gmx_mtop_t *mtop, t_inputrec *ir, const t_commrec *cr, diff --git a/src/gromacs/gmxlib/ewald_util.c b/src/gromacs/gmxlib/ewald_util.c index d3e5f23748..d3bb07b6e3 100644 --- a/src/gromacs/gmxlib/ewald_util.c +++ b/src/gromacs/gmxlib/ewald_util.c @@ -34,23 +34,22 @@ * 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 -#endif +#include "gmxpre.h" -#include #include +#include + +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "vec.h" -#include "coulomb.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "txtdump.h" -#include "gromacs/fileio/futil.h" -#include "names.h" -#include "macros.h" real calc_ewaldcoeff_q(real rc, real dtol) { diff --git a/src/gromacs/gmxlib/gmx_cpuid.c b/src/gromacs/gmxlib/gmx_cpuid.c index 020e37aa55..183be905fe 100644 --- a/src/gromacs/gmxlib/gmx_cpuid.c +++ b/src/gromacs/gmxlib/gmx_cpuid.c @@ -32,21 +32,20 @@ * 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 -#endif +#include "gmxpre.h" -#ifdef HAVE_SCHED_H -# ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -# endif -# include +/*! \cond */ +#include "gromacs/legacyheaders/gmx_cpuid.h" + +#ifdef HAVE_CONFIG_H +#include "config.h" #endif +#include #include #include #include -#include + #ifdef GMX_NATIVE_WINDOWS /* MSVC definition for __cpuid() */ #ifdef _MSC_VER @@ -55,14 +54,14 @@ /* sysinfo functions */ #include #endif +#ifdef HAVE_SCHED_H + #include +#endif #ifdef HAVE_UNISTD_H /* sysconf() definition */ #include #endif -#include "gmx_cpuid.h" - - /* For convenience, and to enable configure-time invocation, we keep all architectures * in a single file, but to avoid repeated ifdefs we set the overall architecture here. @@ -83,7 +82,8 @@ gmx_cpuid_vendor_string[GMX_CPUID_NVENDORS] = "GenuineIntel", "AuthenticAMD", "Fujitsu", - "IBM" + "IBM", /* Used on Power and BlueGene/Q */ + "ARM" }; const char * @@ -94,7 +94,8 @@ gmx_cpuid_vendor_string_alternative[GMX_CPUID_NVENDORS] = "GenuineIntel", "AuthenticAMD", "Fujitsu", - "ibm" /* Used on BlueGene/Q */ + "ibm", /* Used on Power and BlueGene/Q */ + "AArch64" }; const char * @@ -134,7 +135,12 @@ gmx_cpuid_feature_string[GMX_CPUID_NFEATURES] = "ssse3", "tdt", "x2apic", - "xop" + "xop", + "arm_neon", + "arm_neon_asimd", + "QPX", + "VMX", + "VSX" }; const char * @@ -149,18 +155,22 @@ gmx_cpuid_simd_string[GMX_CPUID_NSIMD] = "AVX_256", "AVX2_256", "Sparc64 HPC-ACE", - "IBM_QPX" + "IBM_QPX", + "IBM_VMX", + "IBM_VSX", + "ARM_NEON", + "ARM_NEON_ASIMD" }; /* Max length of brand string */ -#define GMX_CPUID_BRAND_MAXLEN 256 +#define GMX_CPUID_STRLEN 256 /* Contents of the abstract datatype */ struct gmx_cpuid { enum gmx_cpuid_vendor vendor; - char brand[GMX_CPUID_BRAND_MAXLEN]; + char brand[GMX_CPUID_STRLEN]; int family; int model; int stepping; @@ -238,10 +248,18 @@ static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_X86_AVX_128_FMA; static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_X86_SSE4_1; #elif defined GMX_SIMD_X86_SSE2 static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_X86_SSE2; +#elif defined GMX_SIMD_ARM_NEON +static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_ARM_NEON; +#elif defined GMX_SIMD_ARM_NEON_ASIMD +static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_ARM_NEON_ASIMD; #elif defined GMX_SIMD_SPARC64_HPC_ACE static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_SPARC64_HPC_ACE; #elif defined GMX_SIMD_IBM_QPX static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_IBM_QPX; +#elif defined GMX_SIMD_IBM_VMX +static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_IBM_VMX; +#elif defined GMX_SIMD_IBM_VSX +static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_IBM_VSX; #elif defined GMX_SIMD_REFERENCE static const enum gmx_cpuid_simd compiled_simd = GMX_CPUID_SIMD_REFERENCE; #else @@ -334,7 +352,7 @@ cpuid_check_common_x86(gmx_cpuid_t cpuid) { int fn, max_stdfn, max_extfn; unsigned int eax, ebx, ecx, edx; - char str[GMX_CPUID_BRAND_MAXLEN]; + char str[GMX_CPUID_STRLEN]; char * p; /* Find largest standard/extended function input value */ @@ -364,11 +382,11 @@ cpuid_check_common_x86(gmx_cpuid_t cpuid) { p++; } - strncpy(cpuid->brand, p, GMX_CPUID_BRAND_MAXLEN); + strncpy(cpuid->brand, p, GMX_CPUID_STRLEN); } else { - strncpy(cpuid->brand, "Unknown CPU brand", GMX_CPUID_BRAND_MAXLEN); + strncpy(cpuid->brand, "Unknown CPU brand", GMX_CPUID_STRLEN); } /* Find basic CPU properties */ @@ -469,6 +487,7 @@ cpuid_renumber_elements(int *data, int n) } } } + free(unique); return nunique; } @@ -729,7 +748,6 @@ cpuid_check_intel_x86(gmx_cpuid_t cpuid) - static void chomp_substring_before_colon(const char *in, char *s, int maxlength) { @@ -774,6 +792,119 @@ chomp_substring_after_colon(const char *in, char *s, int maxlength) } } +static int +cpuid_check_arm(gmx_cpuid_t cpuid) +{ +#if defined(__linux__) || defined(__linux) + FILE *fp; + char buffer[GMX_CPUID_STRLEN], buffer2[GMX_CPUID_STRLEN], buffer3[GMX_CPUID_STRLEN]; + + if ( (fp = fopen("/proc/cpuinfo", "r")) != NULL) + { + while ( (fgets(buffer, sizeof(buffer), fp) != NULL)) + { + chomp_substring_before_colon(buffer, buffer2, GMX_CPUID_STRLEN); + chomp_substring_after_colon(buffer, buffer3, GMX_CPUID_STRLEN); + + if (!strcmp(buffer2, "Processor")) + { + strncpy(cpuid->brand, buffer3, GMX_CPUID_STRLEN); + } + else if (!strcmp(buffer2, "CPU architecture")) + { + cpuid->family = strtol(buffer3, NULL, 10); + if (!strcmp(buffer3, "AArch64")) + { + cpuid->family = 8; + } + } + else if (!strcmp(buffer2, "CPU part")) + { + cpuid->model = strtol(buffer3, NULL, 16); + } + else if (!strcmp(buffer2, "CPU revision")) + { + cpuid->stepping = strtol(buffer3, NULL, 10); + } + else if (!strcmp(buffer2, "Features") && strstr(buffer3, "neon")) + { + cpuid->feature[GMX_CPUID_FEATURE_ARM_NEON] = 1; + } + else if (!strcmp(buffer2, "Features") && strstr(buffer3, "asimd")) + { + cpuid->feature[GMX_CPUID_FEATURE_ARM_NEON_ASIMD] = 1; + } + } + } + fclose(fp); +#else +# ifdef __aarch64__ + /* Strange 64-bit non-linux platform. However, since NEON ASIMD is present on all + * implementations of AArch64 this far, we assume it is present for now. + */ + cpuid->feature[GMX_CPUID_FEATURE_ARM_NEON_ASIMD] = 1; +# else + /* Strange 32-bit non-linux platform. We cannot assume that neon is present. */ + cpuid->feature[GMX_CPUID_FEATURE_ARM_NEON] = 0; +# endif +#endif + return 0; +} + + +static int +cpuid_check_ibm(gmx_cpuid_t cpuid) +{ +#if defined(__linux__) || defined(__linux) + FILE *fp; + char buffer[GMX_CPUID_STRLEN], before_colon[GMX_CPUID_STRLEN], after_colon[GMX_CPUID_STRLEN]; + + if ( (fp = fopen("/proc/cpuinfo", "r")) != NULL) + { + while ( (fgets(buffer, sizeof(buffer), fp) != NULL)) + { + chomp_substring_before_colon(buffer, before_colon, GMX_CPUID_STRLEN); + chomp_substring_after_colon(buffer, after_colon, GMX_CPUID_STRLEN); + + if (!strcmp(before_colon, "cpu") || !strcmp(before_colon, "Processor")) + { + strncpy(cpuid->brand, after_colon, GMX_CPUID_STRLEN); + } + if (!strcmp(before_colon, "model name") || + !strcmp(before_colon, "model") || + !strcmp(before_colon, "Processor") || + !strcmp(before_colon, "cpu")) + { + if (strstr(after_colon, "altivec")) + { + cpuid->feature[GMX_CPUID_FEATURE_IBM_VMX] = 1; + + if (!strstr(after_colon, "POWER6") && !strstr(after_colon, "Power6") && + !strstr(after_colon, "power6")) + { + cpuid->feature[GMX_CPUID_FEATURE_IBM_VSX] = 1; + } + } + } + } + } + fclose(fp); + + if (strstr(cpuid->brand, "A2")) + { + /* BlueGene/Q */ + cpuid->feature[GMX_CPUID_FEATURE_IBM_QPX] = 1; + } +#else + strncpy(cpuid->brand, "Unknown CPU brand", GMX_CPUID_STRLEN); + cpuid->feature[GMX_CPUID_FEATURE_IBM_QPX] = 0; + cpuid->feature[GMX_CPUID_FEATURE_IBM_VMX] = 0; + cpuid->feature[GMX_CPUID_FEATURE_IBM_VSX] = 0; +#endif + return 0; +} + + /* Try to find the vendor of the current CPU, so we know what specific * detection routine to call. */ @@ -785,7 +916,9 @@ cpuid_check_vendor(void) unsigned int eax, ebx, ecx, edx; char vendorstring[13]; FILE * fp; - char buffer[255], before_colon[255], after_colon[255]; + char buffer[GMX_CPUID_STRLEN]; + char before_colon[GMX_CPUID_STRLEN]; + char after_colon[GMX_CPUID_STRLEN]; /* Set default first */ vendor = GMX_CPUID_VENDOR_UNKNOWN; @@ -813,11 +946,16 @@ cpuid_check_vendor(void) while ( (vendor == GMX_CPUID_VENDOR_UNKNOWN) && (fgets(buffer, sizeof(buffer), fp) != NULL)) { chomp_substring_before_colon(buffer, before_colon, sizeof(before_colon)); - /* Intel/AMD use "vendor_id", IBM "vendor"(?) or "model". Fujitsu "manufacture". Add others if you have them! */ + /* Intel/AMD use "vendor_id", IBM "vendor", "model", or "cpu". Fujitsu "manufacture". + * On ARM there does not seem to be a vendor, but ARM or AArch64 is listed in the Processor string. + * Add others if you have them! + */ if (!strcmp(before_colon, "vendor_id") || !strcmp(before_colon, "vendor") || !strcmp(before_colon, "manufacture") - || !strcmp(before_colon, "model")) + || !strcmp(before_colon, "model") + || !strcmp(before_colon, "Processor") + || !strcmp(before_colon, "cpu")) { chomp_substring_after_colon(buffer, after_colon, sizeof(after_colon)); for (i = GMX_CPUID_VENDOR_UNKNOWN; i < GMX_CPUID_NVENDORS; i++) @@ -831,12 +969,25 @@ cpuid_check_vendor(void) vendor = i; } } + /* If we did not find vendor yet, check if it is IBM: + * On some Power/PowerPC systems it only says power, not IBM. + */ + if (vendor == GMX_CPUID_VENDOR_UNKNOWN && + ((strstr(after_colon, "POWER") || strstr(after_colon, "Power") || + strstr(after_colon, "power")))) + { + vendor = GMX_CPUID_VENDOR_IBM; + } } } } fclose(fp); +#elif defined(__arm__) || defined (__arm) || defined(__aarch64__) + /* If we are using ARM on something that is not linux we have to trust the compiler, + * and we cannot get the extra info that might be present in /proc/cpuinfo. + */ + vendor = GMX_CPUID_VENDOR_ARM; #endif - return vendor; } @@ -902,7 +1053,7 @@ gmx_cpuid_init (gmx_cpuid_t * pcpuid) gmx_cpuid_t cpuid; int i; FILE * fp; - char buffer[255], buffer2[255]; + char buffer[GMX_CPUID_STRLEN], buffer2[GMX_CPUID_STRLEN]; int found_brand; cpuid = malloc(sizeof(*cpuid)); @@ -936,9 +1087,15 @@ gmx_cpuid_init (gmx_cpuid_t * pcpuid) cpuid_check_amd_x86(cpuid); break; #endif + case GMX_CPUID_VENDOR_ARM: + cpuid_check_arm(cpuid); + break; + case GMX_CPUID_VENDOR_IBM: + cpuid_check_ibm(cpuid); + break; default: /* Default value */ - strncpy(cpuid->brand, "Unknown CPU brand", GMX_CPUID_BRAND_MAXLEN); + strncpy(cpuid->brand, "Unknown CPU brand", GMX_CPUID_STRLEN); #if defined(__linux__) || defined(__linux) /* General Linux. Try to get CPU type from /proc/cpuinfo */ if ( (fp = fopen("/proc/cpuinfo", "r")) != NULL) @@ -950,7 +1107,7 @@ gmx_cpuid_init (gmx_cpuid_t * pcpuid) /* Intel uses "model name", Fujitsu and IBM "cpu". */ if (!strcmp(buffer2, "model name") || !strcmp(buffer2, "cpu")) { - chomp_substring_after_colon(buffer, cpuid->brand, GMX_CPUID_BRAND_MAXLEN); + chomp_substring_after_colon(buffer, cpuid->brand, GMX_CPUID_STRLEN); found_brand = 1; } } @@ -1091,10 +1248,30 @@ gmx_cpuid_simd_suggest (gmx_cpuid_t cpuid) } else if (gmx_cpuid_vendor(cpuid) == GMX_CPUID_VENDOR_IBM) { - if (strstr(gmx_cpuid_brand(cpuid), "A2")) + if (gmx_cpuid_feature(cpuid, GMX_CPUID_FEATURE_IBM_QPX)) { tmpsimd = GMX_CPUID_SIMD_IBM_QPX; } + else if (gmx_cpuid_feature(cpuid, GMX_CPUID_FEATURE_IBM_VSX)) + { + /* VSX is better than VMX, so we check it first */ + tmpsimd = GMX_CPUID_SIMD_IBM_VSX; + } + else if (gmx_cpuid_feature(cpuid, GMX_CPUID_FEATURE_IBM_VMX)) + { + tmpsimd = GMX_CPUID_SIMD_IBM_VMX; + } + } + else if (gmx_cpuid_vendor(cpuid) == GMX_CPUID_VENDOR_ARM) + { + if (gmx_cpuid_feature(cpuid, GMX_CPUID_FEATURE_ARM_NEON_ASIMD)) + { + tmpsimd = GMX_CPUID_SIMD_ARM_NEON_ASIMD; + } + else if (gmx_cpuid_feature(cpuid, GMX_CPUID_FEATURE_ARM_NEON)) + { + tmpsimd = GMX_CPUID_SIMD_ARM_NEON; + } } return tmpsimd; } @@ -1229,3 +1406,5 @@ main(int argc, char **argv) } #endif + +/*! \endcond */ diff --git a/src/gromacs/gmxlib/gmx_detect_hardware.c b/src/gromacs/gmxlib/gmx_detect_hardware.cpp similarity index 87% rename from src/gromacs/gmxlib/gmx_detect_hardware.c rename to src/gromacs/gmxlib/gmx_detect_hardware.cpp index 2f0c2d30cf..bc7817d5f6 100644 --- a/src/gromacs/gmxlib/gmx_detect_hardware.c +++ b/src/gromacs/gmxlib/gmx_detect_hardware.cpp @@ -32,41 +32,46 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/gmx_detect_hardware.h" + +#include "config.h" -#include #include +#include +#include #include +#include +#include + #ifdef HAVE_UNISTD_H /* For sysconf */ #include #endif - -#include "types/enums.h" -#include "types/hw_info.h" -#include "types/commrec.h" -#include "gmx_fatal.h" -#include "gmx_fatal_collective.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/cstringutil.h" - -#include "thread_mpi/threads.h" - #ifdef GMX_NATIVE_WINDOWS #include #endif +#include "thread_mpi/threads.h" + +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/gmx_cpuid.h" +#include "gromacs/legacyheaders/gpu_utils.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/legacyheaders/types/enums.h" +#include "gromacs/legacyheaders/types/hw_info.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" + #ifdef GMX_GPU const gmx_bool bGPUBinary = TRUE; #else @@ -145,50 +150,74 @@ static void print_gpu_detection_stats(FILE *fplog, } } -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 +static std::string makeGpuIdsString(const Container &ids) { - char sbuf[STRLEN], stmp[STRLEN]; - int i, ngpu_comp, ngpu_use; + std::string output; - ngpu_comp = gpu_info->ncuda_dev_compatible; - ngpu_use = gpu_opt->ncuda_dev_use; + 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; +} + +/*! \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 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 @@ -231,8 +260,8 @@ void gmx_check_hw_runconf_consistency(FILE *fplog, 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); @@ -247,13 +276,18 @@ void gmx_check_hw_runconf_consistency(FILE *fplog, 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 @@ -274,8 +308,17 @@ void gmx_check_hw_runconf_consistency(FILE *fplog, 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: @@ -627,7 +670,6 @@ static void gmx_detect_gpus(FILE *fplog, const t_commrec *cr) 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 */ @@ -725,7 +767,6 @@ void gmx_select_gpu_ids(FILE *fplog, const t_commrec *cr, 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 diff --git a/src/gromacs/gmxlib/gmx_omp_nthreads.c b/src/gromacs/gmxlib/gmx_omp_nthreads.c index 68fdbb37e7..8e61aa4b41 100644 --- a/src/gromacs/gmxlib/gmx_omp_nthreads.c +++ b/src/gromacs/gmxlib/gmx_omp_nthreads.c @@ -33,23 +33,25 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#include "gmxpre.h" + +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" + +#include "config.h" + +#include #include #include #include -#include - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "gmx_fatal.h" -#include "typedefs.h" -#include "macros.h" -#include "network.h" -#include "copyrite.h" -#include "gmx_omp_nthreads.h" -#include "md_logging.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.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 @@ -71,7 +73,7 @@ static const char *modth_env_var[emntNR] = { "GMX_DEFAULT_NUM_THREADS should never be set", "GMX_DOMDEC_NUM_THREADS", "GMX_PAIRSEARCH_NUM_THREADS", - "GMX_NONBONDED_NUM_THREADS", "GMX_BONDED_NUM_THREADS", + "GMX_NONBONDED_NUM_THREADS", "GMX_LISTED_FORCES_NUM_THREADS", "GMX_PME_NUM_THREADS", "GMX_UPDATE_NUM_THREADS", "GMX_VSITE_NUM_THREADS", "GMX_LINCS_NUM_THREADS", "GMX_SETTLE_NUM_THREADS" diff --git a/src/gromacs/gmxlib/gmx_thread_affinity.c b/src/gromacs/gmxlib/gmx_thread_affinity.c index d38b2cfba1..75e277999b 100644 --- a/src/gromacs/gmxlib/gmx_thread_affinity.c +++ b/src/gromacs/gmxlib/gmx_thread_affinity.c @@ -32,34 +32,36 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/gmx_thread_affinity.h" + +#include "config.h" + +#include +#include +#include +#include + #ifdef HAVE_SCHED_AFFINITY -# ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -# endif # include # include #endif -#include -#include -#include -#include #include "thread_mpi/threads.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "types/hw_info.h" -#include "copyrite.h" -#include "gmx_cpuid.h" -#include "gmx_omp_nthreads.h" -#include "md_logging.h" -#include "gmx_thread_affinity.h" - -#include "gmx_fatal.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/gmx_cpuid.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/legacyheaders/types/hw_info.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, @@ -371,18 +373,53 @@ gmx_set_thread_affinity(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_AFFINITY 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 */ diff --git a/src/gromacs/gmxlib/gpu_utils/CMakeLists.txt b/src/gromacs/gmxlib/gpu_utils/CMakeLists.txt index cbfd3f341b..dee9b3ee07 100644 --- a/src/gromacs/gmxlib/gpu_utils/CMakeLists.txt +++ b/src/gromacs/gmxlib/gpu_utils/CMakeLists.txt @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2012,2013, by the GROMACS development team, led by +# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -32,28 +32,6 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -# (slightly sloppy) OS definitions required by memtestG80 -set(_os_def) -if(UNIX) - if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set(_os_def "-DOSX") - else() # everything that's UNIX & UNIX-like except OS X - set(_os_def "-DLINUX") - endif() -else() - if(WIN32) - set(_os_def "-DWINDOWS") - else() - message(FATAL_ERROR " Could not detect OS required for memtestG80.") - endif() -endif() - -CUDA_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) -set(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE OFF) file(GLOB GPU_UTILS_SOURCES *.cu) -CUDA_ADD_LIBRARY(gpu_utils STATIC ${GPU_UTILS_SOURCES} - OPTIONS ${_os_def} - RELWITHDEBINFO -g - DEBUG -g -D_DEBUG_=1 ) +set(GMXLIB_SOURCES ${GMXLIB_SOURCES} ${GPU_UTILS_SOURCES} PARENT_SCOPE) -CUDA_BUILD_CLEAN_TARGET() diff --git a/src/gromacs/gmxlib/gpu_utils/gpu_utils.cu b/src/gromacs/gmxlib/gpu_utils/gpu_utils.cu index d626214d5c..f8b741923e 100644 --- a/src/gromacs/gmxlib/gpu_utils/gpu_utils.cu +++ b/src/gromacs/gmxlib/gpu_utils/gpu_utils.cu @@ -33,31 +33,18 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#include "gmxpre.h" + +#include "gromacs/legacyheaders/gpu_utils.h" + +#include #include #include -#include +#include "gromacs/gmxlib/cuda_tools/cudautils.cuh" +#include "gromacs/legacyheaders/types/hw_info.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" -#include "types/hw_info.h" - -#include "gpu_utils.h" -#include "../cuda_tools/cudautils.cuh" -#include "memtestG80_core.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 QUICK_TESTS MOD_20_32BIT | LOGIC_4_ITER_SHMEM | RANDOM_BLOCKS -/** Number of iterations in quick memtest. */ -#define QUICK_ITER 3 - -/** Bitflag with all test set on for full memetest. */ -#define FULL_TESTS 0x3FFF -/** Number of iterations in full memtest. */ -#define FULL_ITER 25 - -/** Bit flag with type of tests to run in time constrained memtest. */ -#define TIMED_TESTS MOD_20_32BIT | LOGIC_4_ITER_SHMEM | RANDOM_BLOCKS /*! \brief * Max number of devices supported by CUDA (for consistency checking). @@ -72,25 +59,6 @@ __global__ void k_dummy_test() } -/** Bit-flags which refer to memtestG80 test types and are used in do_memtest - * to specify which tests to run. */ -enum memtest_G80_test_types { - MOVING_INVERSIONS_10 = 0x1, - MOVING_INVERSIONS_RAND = 0x2, - WALKING_8BIT_M86 = 0x4, - WALKING_0_8BIT = 0x8, - WALKING_1_8BIT = 0x10, - WALKING_0_32BIT = 0x20, - WALKING_1_32BIT = 0x40, - RANDOM_BLOCKS = 0x80, - MOD_20_32BIT = 0x100, - LOGIC_1_ITER = 0x200, - LOGIC_4_ITER = 0x400, - LOGIC_1_ITER_SHMEM = 0x800, - LOGIC_4_ITER_SHMEM = 0x1000 -}; - - /*! * \brief Runs GPU sanity checks. * @@ -204,348 +172,6 @@ static int do_sanity_checks(int dev_id, cudaDeviceProp *dev_prop) return 0; } - -/*! - * \brief Runs a set of memory tests specified by the given bit-flags. - * Tries to allocate and do the test on \p megs Mb memory or - * the greatest amount that can be allocated (>10Mb). - * In case if an error is detected it stops without finishing the remaining - * steps/iterations and returns greater then zero value. - * In case of other errors (e.g. kernel launch errors, device querying errors) - * -1 is returned. - * - * \param[in] which_tests variable with bit-flags of the requested tests - * \param[in] megs amount of memory that will be tested in MB - * \param[in] iter number of iterations - * \returns 0 if no error was detected, otherwise >0 - */ -static int do_memtest(unsigned int which_tests, int megs, int iter) -{ - memtestState tester; - int i; - uint err_count; //, err_iter; - - // no parameter check as this fn won't be called externally - - // let's try to allocate the mem - while (!tester.allocate(megs) && (megs - 10 > 0)) - { - megs -= 10; tester.deallocate(); - } - - if (megs <= 10) - { - fprintf(stderr, "Unable to allocate GPU memory!\n"); - return -1; - } - - // clear the first 18 bits - which_tests &= 0x3FFF; - for (i = 0; i < iter; i++) - { - // Moving Inversions (ones and zeros) - if ((MOVING_INVERSIONS_10 & which_tests) == MOVING_INVERSIONS_10) - { - tester.gpuMovingInversionsOnesZeros(err_count); - if (err_count > 0) - { - return MOVING_INVERSIONS_10; - } - } - // Moving Inversions (random) - if ((MOVING_INVERSIONS_RAND & which_tests) == MOVING_INVERSIONS_RAND) - { - tester.gpuMovingInversionsRandom(err_count); - if (err_count > 0) - { - return MOVING_INVERSIONS_RAND; - } - } - // Memtest86 Walking 8-bit - if ((WALKING_8BIT_M86 & which_tests) == WALKING_8BIT_M86) - { - for (uint shift = 0; shift < 8; shift++) - { - tester.gpuWalking8BitM86(err_count, shift); - if (err_count > 0) - { - return WALKING_8BIT_M86; - } - } - } - // True Walking zeros (8-bit) - if ((WALKING_0_8BIT & which_tests) == WALKING_0_8BIT) - { - for (uint shift = 0; shift < 8; shift++) - { - tester.gpuWalking8Bit(err_count, false, shift); - if (err_count > 0) - { - return WALKING_0_8BIT; - } - } - } - // True Walking ones (8-bit) - if ((WALKING_1_8BIT & which_tests) == WALKING_1_8BIT) - { - for (uint shift = 0; shift < 8; shift++) - { - tester.gpuWalking8Bit(err_count, true, shift); - if (err_count > 0) - { - return WALKING_1_8BIT; - } - } - } - // Memtest86 Walking zeros (32-bit) - if ((WALKING_0_32BIT & which_tests) == WALKING_0_32BIT) - { - for (uint shift = 0; shift < 32; shift++) - { - tester.gpuWalking32Bit(err_count, false, shift); - if (err_count > 0) - { - return WALKING_0_32BIT; - } - } - } - // Memtest86 Walking ones (32-bit) - if ((WALKING_1_32BIT & which_tests) == WALKING_1_32BIT) - { - for (uint shift = 0; shift < 32; shift++) - { - tester.gpuWalking32Bit(err_count, true, shift); - if (err_count > 0) - { - return WALKING_1_32BIT; - } - } - } - // Random blocks - if ((RANDOM_BLOCKS & which_tests) == RANDOM_BLOCKS) - { - tester.gpuRandomBlocks(err_count, rand()); - if (err_count > 0) - { - return RANDOM_BLOCKS; - } - - } - - // Memtest86 Modulo-20 - if ((MOD_20_32BIT & which_tests) == MOD_20_32BIT) - { - for (uint shift = 0; shift < 20; shift++) - { - tester.gpuModuloX(err_count, shift, rand(), 20, 2); - if (err_count > 0) - { - return MOD_20_32BIT; - } - } - } - // Logic (one iteration) - if ((LOGIC_1_ITER & which_tests) == LOGIC_1_ITER) - { - tester.gpuShortLCG0(err_count, 1); - if (err_count > 0) - { - return LOGIC_1_ITER; - } - } - // Logic (4 iterations) - if ((LOGIC_4_ITER & which_tests) == LOGIC_4_ITER) - { - tester.gpuShortLCG0(err_count, 4); - if (err_count > 0) - { - return LOGIC_4_ITER; - } - - } - // Logic (shared memory, one iteration) - if ((LOGIC_1_ITER_SHMEM & which_tests) == LOGIC_1_ITER_SHMEM) - { - tester.gpuShortLCG0Shmem(err_count, 1); - if (err_count > 0) - { - return LOGIC_1_ITER_SHMEM; - } - } - // Logic (shared-memory, 4 iterations) - if ((LOGIC_4_ITER_SHMEM & which_tests) == LOGIC_4_ITER_SHMEM) - { - tester.gpuShortLCG0Shmem(err_count, 4); - if (err_count > 0) - { - return LOGIC_4_ITER_SHMEM; - } - } - } - - tester.deallocate(); - return err_count; -} - -/*! \brief Runs a quick memory test and returns 0 in case if no error is detected. - * If an error is detected it stops before completing the test and returns a - * value greater then 0. In case of other errors (e.g. kernel launch errors, - * device querying errors) -1 is returned. - * - * \param[in] dev_id the device id of the GPU or -1 if the device has already been selected - * \returns 0 if no error was detected, otherwise >0 - */ -int do_quick_memtest(int dev_id) -{ - cudaDeviceProp dev_prop; - int devmem, res, time = 0; - - if (debug) - { - time = getTimeMilliseconds(); - } - - if (do_sanity_checks(dev_id, &dev_prop) != 0) - { - // something went wrong - return -1; - } - - if (debug) - { - devmem = dev_prop.totalGlobalMem/(1024*1024); // in MiB - fprintf(debug, ">> Running QUICK memtests on %d MiB (out of total %d MiB), %d iterations\n", - QUICK_MEM, devmem, QUICK_ITER); - } - - res = do_memtest(QUICK_TESTS, QUICK_MEM, QUICK_ITER); - - if (debug) - { - fprintf(debug, "Q-RES = %d\n", res); - fprintf(debug, "Q-runtime: %d ms\n", getTimeMilliseconds() - time); - } - - /* destroy context only if we created it */ - if (dev_id != -1) - { - cudaThreadExit(); - } - return res; -} - -/*! \brief Runs a full memory test and returns 0 in case if no error is detected. - * If an error is detected it stops before completing the test and returns a - * value greater then 0. In case of other errors (e.g. kernel launch errors, - * device querying errors) -1 is returned. - * - * \param[in] dev_id the device id of the GPU or -1 if the device has already been selected - * \returns 0 if no error was detected, otherwise >0 - */ - -int do_full_memtest(int dev_id) -{ - cudaDeviceProp dev_prop; - int devmem, res, time = 0; - - if (debug) - { - time = getTimeMilliseconds(); - } - - if (do_sanity_checks(dev_id, &dev_prop) != 0) - { - // something went wrong - return -1; - } - - devmem = dev_prop.totalGlobalMem/(1024*1024); // in MiB - - if (debug) - { - fprintf(debug, ">> Running FULL memtests on %d MiB (out of total %d MiB), %d iterations\n", - devmem, devmem, FULL_ITER); - } - - /* do all test on the entire memory */ - res = do_memtest(FULL_TESTS, devmem, FULL_ITER); - - if (debug) - { - fprintf(debug, "F-RES = %d\n", res); - fprintf(debug, "F-runtime: %d ms\n", getTimeMilliseconds() - time); - } - - /* destroy context only if we created it */ - if (dev_id != -1) - { - cudaThreadExit(); - } - return res; -} - -/*! \brief Runs a time constrained memory test and returns 0 in case if no error is detected. - * If an error is detected it stops before completing the test and returns a value greater - * than zero. In case of other errors (e.g. kernel launch errors, device querying errors) -1 - * is returned. Note, that test iterations are not interrupted therefor the total runtime of - * the test will always be multipple of one iteration's runtime. - * - * \param[in] dev_id the device id of the GPU or -1 if the device has laredy been selected - * \param[in] time_constr the time limit of the testing - * \returns 0 if no error was detected, otherwise >0 - */ -int do_timed_memtest(int dev_id, int time_constr) -{ - cudaDeviceProp dev_prop; - int devmem, res = 0, time = 0, startt; - - if (debug) - { - time = getTimeMilliseconds(); - } - - time_constr *= 1000; /* convert to ms for convenience */ - startt = getTimeMilliseconds(); - - if (do_sanity_checks(dev_id, &dev_prop) != 0) - { - // something went wrong - return -1; - } - - devmem = dev_prop.totalGlobalMem/(1024*1024); // in MiB - - if (debug) - { - fprintf(debug, ">> Running time constrained memtests on %d MiB (out of total %d MiB), time limit of %d s \n", - devmem, devmem, time_constr); - } - - /* do the TIMED_TESTS set, one step at a time on the entire memory - that can be allocated, and stop when the given time is exceeded */ - while ( ((int)getTimeMilliseconds() - startt) < time_constr) - { - res = do_memtest(TIMED_TESTS, devmem, 1); - if (res != 0) - { - break; - } - } - - if (debug) - { - fprintf(debug, "T-RES = %d\n", res); - fprintf(debug, "T-runtime: %d ms\n", getTimeMilliseconds() - time); - } - - /* destroy context only if we created it */ - if (dev_id != -1) - { - cudaThreadExit(); - } - return res; -} - /*! \brief Initializes the GPU with the given index. * * The varible \mygpu is the index of the GPU to initialize in the diff --git a/src/gromacs/gmxlib/gpu_utils/memtestG80_core.cu b/src/gromacs/gmxlib/gpu_utils/memtestG80_core.cu deleted file mode 100644 index 2a4c606713..0000000000 --- a/src/gromacs/gmxlib/gpu_utils/memtestG80_core.cu +++ /dev/null @@ -1,872 +0,0 @@ -/* - * memtestG80_core.cu - * MemtestG80 core memory test functions and OOP interface to tester. - * - * Author: Imran Haque, 2009 - * Copyright 2009, Stanford University - * - * This file is licensed under the terms of the LGPL. Please see - * the COPYING file in the accompanying source distribution for - * full license terms. - * - */ - - /* - * CUDA grid layout: Linear in blocks and threads. - * Intended usage = 1k blocks, 512 t/blk, with N words (iterations) per thread - * -> 2*N MiB tested per grid - * thread address at iteration i = base + blockIdx.x * N * blockDim.x + i*blockDim.x + threadIdx.x - * - */ - -// Naming convention: gpuXXX and cpuXXX functions are user-accessible; deviceXXX functions are internal -// gpuXXX functions execute a particular test on a block of GPU memory -// cpuXXX " " " " " " " " " CPU " - -#define THREAD_ADDRESS(base,N,i) (base + blockIdx.x * N * blockDim.x + i * blockDim.x + threadIdx.x) -#define THREAD_OFFSET(N,i) (blockIdx.x * N * blockDim.x + i * blockDim.x + threadIdx.x) -#define BITSDIFF(x,y) __popc((x) ^ (y)) - - -#include "memtestG80_core.h" - -#include - - - - -void memtestState::deallocate() { - if (allocated) { - cudaFree(devTestMem); - cudaFree(devTempMem); - free(hostTempMem); - devTestMem = NULL; - devTempMem = NULL; - hostTempMem = NULL; - allocated = false; - } - initTime = 0; - } - -uint memtestState::allocate(uint mbToTest) { - deallocate(); - - initTime = getTimeMilliseconds(); - - // Round up to nearest 2MiB - if (mbToTest % 2) mbToTest++; - - megsToTest = mbToTest; - loopIters = megsToTest/2; - - if (megsToTest == 0) return 0; - - try { - if (cudaMalloc((void**)&devTestMem,megsToTest*1048576UL) != cudaSuccess) throw 1; - if (cudaMalloc((void**)&devTempMem,sizeof(uint)*nBlocks) != cudaSuccess) throw 2; - if ( (hostTempMem = (uint*)malloc(sizeof(uint)*nBlocks)) == NULL) throw 3; - } catch (...) { - // Clear CUDA error flag for outside world - cudaGetLastError(); - if (devTempMem) { - cudaFree(devTempMem); - devTempMem = NULL; - } - if (devTestMem) { - cudaFree(devTestMem); - devTestMem = NULL; - } - if (hostTempMem) { - free(hostTempMem); - hostTempMem = NULL; - } - return 0; - } - allocated = true; - return megsToTest; - } -bool memtestState::gpuMemoryBandwidth(double& bandwidth,uint mbToTest,uint iters) { - if (!allocated || megsToTest < 2*mbToTest) return false; - bandwidth = ::gpuMemoryBandwidth(devTestMem,devTestMem+mbToTest*1048576/4,mbToTest,iters); - return cudaGetLastError() == cudaSuccess; -} -bool memtestState::gpuWriteConstant(const uint constant) const { - if (!allocated) return false; - ::gpuWriteConstant(nBlocks,nThreads,devTestMem,loopIters,constant); - return cudaGetLastError() == cudaSuccess; -} - -bool memtestState::gpuVerifyConstant(uint& errorCount,const uint constant) const { - if (!allocated) return false; - errorCount = ::gpuVerifyConstant(nBlocks,nThreads,devTestMem,loopIters,constant,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} - -bool memtestState::gpuShortLCG0(uint& errorCount,const uint repeats) const { - if (!allocated) return false; - errorCount = ::gpuShortLCG0(nBlocks,nThreads,devTestMem,loopIters,repeats,lcgPeriod,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuShortLCG0Shmem(uint& errorCount,const uint repeats) const { - if (!allocated) return false; - errorCount = ::gpuShortLCG0Shmem(nBlocks,nThreads,devTestMem,loopIters,repeats,lcgPeriod,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuMovingInversionsOnesZeros(uint& errorCount) const { - if (!allocated) return false; - errorCount = ::gpuMovingInversionsOnesZeros(nBlocks,nThreads,devTestMem,loopIters,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuWalking8BitM86(uint& errorCount,const uint shift) const { - if (!allocated) return false; - errorCount = ::gpuWalking8BitM86(nBlocks,nThreads,devTestMem,loopIters,shift,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuWalking8Bit(uint& errorCount,const bool ones,const uint shift) const { - if (!allocated) return false; - errorCount = ::gpuWalking8Bit(nBlocks,nThreads,devTestMem,loopIters,ones,shift,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuMovingInversionsRandom(uint& errorCount) const { - if (!allocated) return false; - errorCount = ::gpuMovingInversionsRandom(nBlocks,nThreads,devTestMem,loopIters,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuWalking32Bit(uint& errorCount,const bool ones,const uint shift) const { - if (!allocated) return false; - errorCount = ::gpuWalking32Bit(nBlocks,nThreads,devTestMem,loopIters,ones,shift,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuRandomBlocks(uint& errorCount,const uint seed) const { - if (!allocated) return false; - errorCount = ::gpuRandomBlocks(nBlocks,nThreads,devTestMem,loopIters,seed,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} -bool memtestState::gpuModuloX(uint& errorCount,const uint shift,const uint pattern,const uint modulus,const uint overwriteIters) const { - if (!allocated) return false; - errorCount = ::gpuModuloX(nBlocks,nThreads,devTestMem,loopIters,shift,pattern,modulus,overwriteIters,devTempMem,hostTempMem); - return ((cudaGetLastError() == cudaSuccess) && (errorCount != 0xFFFFFFFF) && (errorCount != 0xFFFFFFFE)); -} - - - -__global__ void deviceWriteConstant(uint* base, uint N, const uint constant); -__global__ void deviceVerifyConstant(uint* base,uint N,const uint constant,uint* blockErrorCount); -__global__ void deviceShortLCG0(uint* base,uint N,uint repeats,const int period); -__global__ void deviceShortLCG0Shmem(uint* base,uint N,uint repeats,const int period); -__global__ void deviceWriteRandomBlocks(uint* base,uint N,int seed); -__global__ void deviceVerifyRandomBlocks(uint* base,uint N,int seed,uint* blockErrorCount); -__global__ void deviceWriteWalking32Bit(uint* base,uint N,bool ones,uint shift); -__global__ void deviceVerifyWalking32Bit(uint* base,uint N,bool ones,uint shift,uint* blockErrorCount); -__global__ void deviceWritePairedConstants(uint* base,uint N,uint pattern0,uint pattern1); -__global__ void deviceVerifyPairedConstants(uint* base,uint N,uint pattern0,uint pattern1,uint* blockErrorCount); -__global__ void deviceWritePairedModulo(uint* base,const uint N,const uint shift,const uint pattern1,const uint pattern2,const uint modulus,const uint iters); -__global__ void deviceVerifyPairedModulo(uint* base,uint N,const uint shift,const uint pattern1,const uint modulus,uint* blockErrorCount); - - -// Utility function to measure memory bandwidth -__host__ double gpuMemoryBandwidth(uint* src,uint* dst,uint mbToTest,uint iters) { - uint start = getTimeMilliseconds(); - for (uint i = 0; i < iters; i++) { - cudaMemcpy(dst,src,mbToTest*1048576,cudaMemcpyDeviceToDevice); - } - //D-to-D memory copies are non-blocking, so sync to get correct timing - cudaThreadSynchronize(); - //SOFTWAIT(); - uint end = getTimeMilliseconds(); - - // Calculate bandwidth in MiB/s - // Multiply by 2 since we are reading and writing to the same memory - double bw = 2.0*((double)mbToTest*iters)/((end-start)/1000.0); - return bw; -} - -// Utility functions to write/verify pure constants in memory, CPU/GPU {{{ -__host__ void gpuWriteConstant(const uint nBlocks,const uint nThreads,uint* base,uint N,const uint constant) { //{{{ - deviceWriteConstant<<>>(base,N,constant); -} - -__global__ void deviceWriteConstant(uint* base, uint N, const uint constant) { - for (uint i = 0 ; i < N; i++) { - *(THREAD_ADDRESS(base,N,i)) = constant; - } -} -//}}} -__host__ uint gpuVerifyConstant(const uint nBlocks,const uint nThreads,uint* base,uint N,const uint constant,uint* blockErrorCount,uint* errorCounts) { //{{{ - // Given device arrays base (tested memory) and blockErrorCount (nBlocks uints in length of temp space) - - deviceVerifyConstant<<>>(base,N,constant,blockErrorCount); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - cudaMemcpy(errorCounts,blockErrorCount,sizeof(uint)*nBlocks,cudaMemcpyDeviceToHost); - - // Sum-reduce block error counts on the host - it's only order of 1k numbers. - uint totalErrors = 0; - for (uint i = 0; i < nBlocks; i++) { - totalErrors += errorCounts[i]; - } - return totalErrors; -} - -__global__ void deviceVerifyConstant(uint* base,uint N,const uint constant,uint* blockErrorCount) { - // Verifies memory at base to make sure it has a constant pattern - // Sums number of errors found in block and stores error count into blockErrorCount[blockIdx.x] - // Sum-reduce this array afterwards to get total error count over tested region - // Uses 4*blockDim.x bytes of shared memory - - extern __shared__ uint threadErrorCount[]; - threadErrorCount[threadIdx.x] = 0; - - for (uint i = 0; i < N; i++) { - //if ( *(THREAD_ADDRESS(base,N,i)) != constant ) threadErrorCount[threadIdx.x]++; - threadErrorCount[threadIdx.x] += BITSDIFF(*(THREAD_ADDRESS(base,N,i)),constant); - } - // Parallel-reduce error counts over threads in block - for (uint stride = blockDim.x>>1; stride > 0; stride >>= 1) { - __syncthreads(); - if (threadIdx.x < stride) - threadErrorCount[threadIdx.x] += threadErrorCount[threadIdx.x + stride]; - } - __syncthreads(); - - if (threadIdx.x == 0) - blockErrorCount[blockIdx.x] = threadErrorCount[0]; - - return; -} -//}}} - - __host__ void cpuWriteConstant(const uint nBlocks,const uint nThreads,uint* base,uint N,const uint constant) { //{{{ - dim3 blockDim(nThreads,0,0); - dim3 threadIdx(0,0,0); - dim3 blockIdx(0,0,0); - for (blockIdx.x = 0; blockIdx.x < nBlocks; blockIdx.x++) { - for (uint i = 0; i < N; i++) { - for (threadIdx.x = 0; threadIdx.x < blockDim.x; threadIdx.x++) { - *(THREAD_ADDRESS(base,N,i)) = constant; - } - } - } -} -//}}} -__host__ uint cpuVerifyConstant(const uint nBlocks,const uint nThreads,uint* base,uint N,const uint constant) { //{{{ - dim3 blockDim(nThreads,0,0); - dim3 threadIdx(0,0,0); - dim3 blockIdx(0,0,0); - uint errorCount = 0; - for (blockIdx.x = 0; blockIdx.x < nBlocks; blockIdx.x++) { - for (uint i = 0; i < N; i++) { - for (threadIdx.x = 0; threadIdx.x < blockDim.x; threadIdx.x++) { - if (*(THREAD_ADDRESS(base,N,i)) != constant) errorCount++; - } - } - } - return errorCount; -} -//}}} -//}}} - -// Logic test -// Idea: Run a varying number of iterations (k*N) of a short-period (per=N) LCG that returns to zero (or F's) quickly {{{ -// Store only the result of the last iteration -// Compare output to the desired constant -// Compare results between varying k - memory error rate for a given pattern should be constant, -// so variation should be due to logic errors in loop count -__host__ uint gpuShortLCG0(const uint nBlocks,const uint nThreads,uint* base,uint N,const uint repeats,const int period,uint* blockErrorCounts,uint* errorCounts) { //{{{ - deviceShortLCG0<<>>(base,N,repeats,period); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - return gpuVerifyConstant(nBlocks,nThreads,base,N,0,blockErrorCounts,errorCounts); -} //}}} - -__host__ uint gpuShortLCG0Shmem(const uint nBlocks,const uint nThreads,uint* base,uint N,const uint repeats,const int period,uint* blockErrorCounts,uint* errorCounts) { //{{{ - deviceShortLCG0Shmem<<>>(base,N,repeats,period); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - return gpuVerifyConstant(nBlocks,nThreads,base,N,0,blockErrorCounts,errorCounts); -} //}}} - -// Put the LCG loop into a macro so we don't repeat code between versions of logic tester. -// The paired XOR adds diversity to the instruction stream, and is not reduced to a NOT -// as a single XOR is (verified with decuda). -// {{{ -#if defined (LINUX) || defined(OSX) -#define LCGLOOP(var,repeats,period,a,c) for (uint rep = 0; rep < repeats; rep++) {\ - (var) = ~(var);\ - _Pragma("unroll 1")\ - for (uint iter = 0; iter < period; iter++) {\ - (var) = ~(var);\ - (var) = (a)*(var)+(c);\ - (var) ^= 0xFFFFFFF0;\ - (var) ^= 0xF;\ - }\ - (var) = ~(var);\ -} -#elif defined (WINDOWS) || defined (WINNV) -#define LCGLOOP(var,repeats,period,a,c) for (uint rep = 0; rep < repeats; rep++) {\ - (var) = ~(var);\ - __pragma("unroll 1")\ - for (uint iter = 0; iter < period; iter++) {\ - (var) = ~(var);\ - (var) = (a)*(var)+(c);\ - (var) ^= 0xFFFFFFF0;\ - (var) ^= 0xF;\ - }\ - (var) = ~(var);\ -} -#endif -//}}} - -__global__ void deviceShortLCG0(uint* base,uint N,uint repeats,const int period) { //{{{ - // Pick a different block for different LCG lengths - // Short periods are useful if LCG goes inside for i in 0..N loop - int a,c; - switch (period) { - case 1024: a = 0x0fbfffff; c = 0x3bf75696; break; - case 512: a = 0x61c8647f; c = 0x2b3e0000; break; - case 256: a = 0x7161ac7f; c = 0x43840000; break; - case 128: a = 0x0432b47f; c = 0x1ce80000; break; - case 2048: a = 0x763fffff; c = 0x4769466f; break; - default: a = 0; c = 0; break; - } - - uint value = 0; - LCGLOOP(value,repeats,period,a,c) - - for (uint i = 0 ; i < N; i++) { - *(THREAD_ADDRESS(base,N,i)) = value; - } -} //}}} -// _shmem version uses shared memory to store inter-iteration values -// is more sensitive to shared memory errors from (eg) shader overclocking -__global__ void deviceShortLCG0Shmem(uint* base,uint N,uint repeats,const int period) { //{{{ - // Pick a different block for different LCG lengths - // Short periods are useful if LCG goes inside for i in 0..N loop - int a,c; - extern __shared__ uint shmem[]; - switch (period) { - case 1024: a = 0x0fbfffff; c = 0x3bf75696; break; - case 512: a = 0x61c8647f; c = 0x2b3e0000; break; - case 256: a = 0x7161ac7f; c = 0x43840000; break; - case 128: a = 0x0432b47f; c = 0x1ce80000; break; - case 2048: a = 0x763fffff; c = 0x4769466f; break; - default: a = 0; c = 0; break; - } - shmem[threadIdx.x] = 0; - LCGLOOP(shmem[threadIdx.x],repeats,period,a,c) - - for (uint i = 0 ; i < N; i++) { - *(THREAD_ADDRESS(base,N,i)) = shmem[threadIdx.x]; - - } -} //}}} //}}} - - -// Memtest86 Test 2: tseq=0,4 -__host__ uint gpuMovingInversionsOnesZeros(const uint nBlocks,const uint nThreads,uint* base,uint N,uint* blockErrorCounts,uint* errorCounts) { //{{{ - - uint errorCount; - gpuWriteConstant(nBlocks,nThreads,base,N,0xFFFFFFFF); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - errorCount = gpuVerifyConstant(nBlocks,nThreads,base,N,0xFFFFFFFF,blockErrorCounts,errorCounts); - CHECK_LAUNCH_ERROR(); - - gpuWriteConstant(nBlocks,nThreads,base,N,0x0); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - errorCount += gpuVerifyConstant(nBlocks,nThreads,base,N,0x0,blockErrorCounts,errorCounts); - CHECK_LAUNCH_ERROR(); - return errorCount; -} //}}} - -// Memtest86 Test 3: tseq=1 -__host__ uint gpuWalking8BitM86(const uint nBlocks,const uint nThreads,uint* base,uint N,uint shift,uint* blockErrorCounts,uint* errorCounts) { //{{{ - // Performs the Memtest86 variation on the walking 8-bit pattern, where the same shifted pattern is - // written into each 32-bit word in memory, verified, and its complement written and verified - shift &= 0x7; - uint pattern = 1 << shift; - pattern = pattern | (pattern << 8) | (pattern << 16) | (pattern << 24); - - uint errorCount; - gpuWriteConstant(nBlocks,nThreads,base,N,pattern); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - errorCount = gpuVerifyConstant(nBlocks,nThreads,base,N,pattern,blockErrorCounts,errorCounts); - CHECK_LAUNCH_ERROR(); - - pattern = ~pattern; - gpuWriteConstant(nBlocks,nThreads,base,N,pattern); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - errorCount += gpuVerifyConstant(nBlocks,nThreads,base,N,pattern,blockErrorCounts,errorCounts); - CHECK_LAUNCH_ERROR(); - return errorCount; -} //}}} -__host__ uint cpuWalking8BitM86(const uint nBlocks,const uint nThreads,uint* base,uint N,uint shift) { //{{{ - // Performs the Memtest86 variation on the walking 8-bit pattern, where the same shifted pattern is - // written into each 32-bit word in memory, verified, and its complement written and verified - shift &= 0x7; - uint pattern = 1 << shift; - pattern = pattern | (pattern << 8) | (pattern << 16) | (pattern << 24); - - uint errorCount; - cpuWriteConstant(nBlocks,nThreads,base,N,pattern); - errorCount = cpuVerifyConstant(nBlocks,nThreads,base,N,pattern); - - pattern = ~pattern; - cpuWriteConstant(nBlocks,nThreads,base,N,pattern); - errorCount += cpuVerifyConstant(nBlocks,nThreads,base,N,pattern); - - return errorCount; -} //}}} -__host__ uint gpuWalking8Bit(const uint nBlocks,const uint nThreads,uint* base,uint N,bool ones,uint shift,uint* blockErrorCount,uint* errorCounts) { //{{{ - // Implements one iteration of true walking 8-bit ones/zeros test - uint patterns[2]={0x0,0x0}; - - // Build the walking-ones paired pattern of 8-bits with the given shift - shift &= 0x7; - uint bits = 0x1 << shift; - for (uint i = 0; i < 4; i++) { - patterns[0] = (patterns[0] << 8) | bits; - bits = (bits == 0x80) ? 0x01 : bits<<1; - } - for (uint i = 0; i < 4; i++) { - patterns[1] = (patterns[1] << 8) | bits; - bits = (bits == 0x80) ? 0x01 : bits<<1; - } - - if (!ones) { - patterns[0] = ~patterns[0]; - patterns[1] = ~patterns[1]; - } - - //printf("Host Patterns: %08x %08x\n",patterns[0],patterns[1]); - deviceWritePairedConstants<<>>(base,N,patterns[0],patterns[1]); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - //cudaMemcpy(errorCounts,base,sizeof(uint)*nBlocks,cudaMemcpyDeviceToHost); - //printf("First few words in tested RAM: %08x %08x %08x %08x %08x %08x\n",errorCounts[0],errorCounts[1],errorCounts[2],errorCounts[3],errorCounts[4],errorCounts[5]); - // Given device arrays base (tested memory) and blockErrorCount (nBlocks uints in length of temp space) - deviceVerifyPairedConstants<<>>(base,N,patterns[0],patterns[1],blockErrorCount); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - //if (cudaGetLastError() != cudaSuccess) { - // return 0xFFFFFFFF; // -1 - //} - //uint errorCounts[nBlocks]; - cudaMemcpy(errorCounts,blockErrorCount,sizeof(uint)*nBlocks,cudaMemcpyDeviceToHost); - - // Sum-reduce block error counts on the host - it's only order of 1k numbers. - uint totalErrors = 0; - for (uint i = 0; i < nBlocks; i++) { - totalErrors += errorCounts[i]; - } - return totalErrors; -} - -__global__ void deviceWritePairedConstants(uint* base,uint N,uint pattern0,uint pattern1) { - // Writes paired constants to memory, such that each offset that is X mod 2 receives patterns[X] - // Used for true walking-ones/zeros 8-bit test - //if (threadIdx.x == 0) - // printf("Device Patterns Block %u: %08x %08x\n",blockIdx.x,patterns[0],patterns[1]); - const uint pattern = (threadIdx.x & 0x1) ? pattern1 : pattern0; - //const uint pattern = patterns[threadIdx.x & 0x1]; - for (uint i = 0 ; i < N; i++) { - *(THREAD_ADDRESS(base,N,i)) = pattern; - //*(base+blockIdx.x*N*blockDim.x + i*blockDim.x + threadIdx.x) = 0; - } - -} - -__global__ void deviceVerifyPairedConstants(uint* base,uint N,uint pattern0,uint pattern1,uint* blockErrorCount) { - // Verifies memory at base to make sure it has a correct paired-constant pattern - // Sums number of errors found in block and stores error count into blockErrorCount[blockIdx.x] - // Sum-reduce this array afterwards to get total error count over tested region - // Uses 4*blockDim.x bytes of shared memory - - extern __shared__ uint threadErrorCount[]; - threadErrorCount[threadIdx.x] = 0; - //const uint pattern = patterns[threadIdx.x & 0x1]; - const uint pattern = (threadIdx.x & 0x1) ? pattern1 : pattern0; - - for (uint i = 0; i < N; i++) { - //if ( *(THREAD_ADDRESS(base,N,i)) != pattern ) threadErrorCount[threadIdx.x]++; - threadErrorCount[threadIdx.x] += BITSDIFF(*(THREAD_ADDRESS(base,N,i)),pattern); - } - // Parallel-reduce error counts over threads in block - for (uint stride = blockDim.x>>1; stride > 0; stride >>= 1) { - __syncthreads(); - if (threadIdx.x < stride) - threadErrorCount[threadIdx.x] += threadErrorCount[threadIdx.x + stride]; - } - __syncthreads(); - - if (threadIdx.x == 0) - blockErrorCount[blockIdx.x] = threadErrorCount[0]; - - return; -} -//}}} - -// Memtest86 Test 4: tseq=10 -__host__ uint gpuMovingInversionsRandom(const uint nBlocks,const uint nThreads,uint* base,uint N,uint* blockErrorCounts,uint* errorCounts) { //{{{ - - uint errorCount; - - uint pattern = (uint)rand(); - gpuWriteConstant(nBlocks,nThreads,base,N,pattern); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - errorCount = gpuVerifyConstant(nBlocks,nThreads,base,N,pattern,blockErrorCounts,errorCounts); - CHECK_LAUNCH_ERROR(); - - pattern = ~pattern; - gpuWriteConstant(nBlocks,nThreads,base,N,pattern); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - errorCount += gpuVerifyConstant(nBlocks,nThreads,base,N,pattern,blockErrorCounts,errorCounts); - CHECK_LAUNCH_ERROR(); - return errorCount; -} //}}} - -// Memtest86 Test 6: tseq=2 -__host__ uint gpuWalking32Bit(const uint nBlocks,const uint nThreads,uint* base,uint N,bool ones,uint shift,uint* blockErrorCount,uint* errorCounts) { //{{{ - // Given device arrays base (tested memory) and blockErrorCount (nBlocks uints in length of temp space) - // Does one iteration of the walking-{ones/zeros} 32-bit test paralleling Memtest - // With the starting pattern 1<>>(base,N,ones,shift); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - deviceVerifyWalking32Bit<<>>(base,N,ones,shift,blockErrorCount); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - cudaMemcpy(errorCounts,blockErrorCount,sizeof(uint)*nBlocks,cudaMemcpyDeviceToHost); - - // Sum-reduce block error counts on the host - it's only order of 1k numbers. - uint totalErrors = 0; - for (uint i = 0; i < nBlocks; i++) { - totalErrors += errorCounts[i]; - } - return totalErrors; - -} - -__global__ void deviceWriteWalking32Bit(uint* base,uint N,bool ones,uint shift) { - // Writes one iteration of the walking-{ones/zeros} 32-bit pattern to gpu memory - - // Want to write in a 1 << (offset from base + shift % 32) - // Since thread indices are aligned with base, this reduces to - // 1 << ((threadIdx.x+shift) & 0x1f) - // With conditional inversion for walking zeros - uint pattern = 1 << ((threadIdx.x + shift) & 0x1f); - pattern = ones ? pattern : ~pattern; - - for (uint i = 0; i < N; i++) { - *(THREAD_ADDRESS(base,N,i)) = pattern; - } -} - -__global__ void deviceVerifyWalking32Bit(uint* base,uint N,bool ones,uint shift,uint* blockErrorCount) { - // Verifies memory at base to make sure it has a constant pattern - // Sums number of errors found in block and stores error count into blockErrorCount[blockIdx.x] - // Sum-reduce this array afterwards to get total error count over tested region - // Uses 4*blockDim.x bytes of shared memory - - extern __shared__ uint threadErrorCount[]; - threadErrorCount[threadIdx.x] = 0; - - uint pattern = 1 << ((threadIdx.x + shift) & 0x1f); - pattern = ones ? pattern : ~pattern; - - for (uint i = 0; i < N; i++) { - //if ( *(THREAD_ADDRESS(base,N,i)) != pattern ) threadErrorCount[threadIdx.x]++; - threadErrorCount[threadIdx.x] += BITSDIFF(*(THREAD_ADDRESS(base,N,i)),pattern); - } - // Parallel-reduce error counts over threads in block - for (uint stride = blockDim.x>>1; stride > 0; stride >>= 1) { - __syncthreads(); - if (threadIdx.x < stride) - threadErrorCount[threadIdx.x] += threadErrorCount[threadIdx.x + stride]; - } - __syncthreads(); - - if (threadIdx.x == 0) - blockErrorCount[blockIdx.x] = threadErrorCount[0]; - - return; -} -//}}} - -// Memtest86 Test 7: tseq=9 -__host__ uint gpuRandomBlocks(const uint nBlocks,const uint nThreads,uint* base,uint N,uint seed,uint* blockErrorCount,uint* errorCounts) { //{{{ {{{ - // Writes random numbers into memory and verifies pattern - //uint errorCounts[nBlocks]; - - deviceWriteRandomBlocks<<>>(base,N,seed); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - //cudaMemcpy(errorCounts,base,sizeof(uint)*nBlocks,cudaMemcpyDeviceToHost); - //printf("First few words in tested RAM: %08x %08x %08x %08x %08x %08x\n",errorCounts[0],errorCounts[1],errorCounts[2],errorCounts[3],errorCounts[4],errorCounts[5]); - - deviceVerifyRandomBlocks<<>>(base,N,seed,blockErrorCount); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - - cudaMemcpy(errorCounts,blockErrorCount,sizeof(uint)*nBlocks,cudaMemcpyDeviceToHost); - - // Sum-reduce block error counts on the host - it's only order of 1k numbers. - uint totalErrors = 0; - for (uint i = 0; i < nBlocks; i++) { - totalErrors += errorCounts[i]; - } - return totalErrors; -} -//}}} -// -// Math functions modulo the Mersenne prime 2^31 -1 {{{ -__device__ void deviceMul3131 (uint v1, uint v2,uint& LO, uint& HI) -{ - // Given v1, v2 < 2^31 - // Emulate a 31-bit integer multiply by doing instead a 32-bit multiply into LO and HI - // And shifting bits around to make it look right. - LO = v1*v2; - HI = __umulhi(v1,v2); - HI <<= 1; - HI |= (LO & 0x80000000) >> 31; - LO &= 0x7FFFFFFF; - -} - -__device__ uint deviceModMP31(uint LO,uint HI) { - // Modulo a 62-bit number HI<<31 + LO, mod 2^31-1 - // Encyclopedia of Cryptography and Security By Henk C. A. van Tilborg - // page 381, Mersenne Primes - uint sum = LO+HI; - if (sum >= 0x80000000) { - // If a+b > 2^31, then high bit will be set - return sum - 0x80000000 + 1; - } else { - return sum; - } -} -__device__ uint deviceMulMP31(uint a,uint b) { - // Multiplies a pair of 31-bit integers a and b mod the Mersenne prime 2^31-1 - // Takes result through a 62-bit intermediate - uint LO,HI; - deviceMul3131(a,b,LO,HI); - return deviceModMP31(LO,HI); -} - -__device__ uint deviceExpoModMP31(uint base,uint exponent) { - uint result = 1; - while (exponent > 0) { - if (exponent & 1) { - result = deviceMulMP31(result,base); - } - exponent >>= 1; - base = deviceMulMP31(base,base); - } - return result; -} -//}}} -// deviceRan0p: Parallelized closed-form version of NR's ran0 {{{ -__device__ uint deviceRan0p(int seed,int n) { // - uint an = deviceExpoModMP31(16807,n+1); - return deviceMulMP31(an,seed); -} -//}}} -// deviceIrbit2: random bit generation, from NR {{{ -__device__ int deviceIrbit2(uint& seed) { - const uint IB1 = 1; - const uint IB2 = 2; - const uint IB5 = 16; - const uint IB18 = 131072; - const uint MASK = IB1+IB2+IB5; - if (seed & IB18) { - seed = ((seed ^ MASK) << 1) | IB1; - return 1; - } else { - seed <<= 1; - return 0; - } -} -//}}} -__global__ void deviceWriteRandomBlocks(uint* base,uint N,int seed) { //{{{ - // Requires 4*nThreads bytes of shared memory - extern __shared__ uint randomBlock[]; - - // Make sure seed is not zero. - if (seed == 0) seed = 123459876+blockIdx.x; - uint bitSeed = deviceRan0p(seed + threadIdx.x,threadIdx.x); - - for (uint i=0; i < N; i++) { - // Generate a block of random numbers in parallel using closed-form expression for ran0 - // OR in a random bit because Ran0 will never have the high bit set - randomBlock[threadIdx.x] = deviceRan0p(seed,threadIdx.x) | (deviceIrbit2(bitSeed) << 31); - __syncthreads(); - - // Set the seed for the next round to the last number calculated in this round - seed = randomBlock[blockDim.x-1]; - - // Blit shmem block out to global memory - *(THREAD_ADDRESS(base,N,i)) = randomBlock[threadIdx.x]; - } -} -//}}} -__global__ void deviceVerifyRandomBlocks(uint* base,uint N,int seed,uint* blockErrorCount) { //{{{ - // Verifies memory at base to make sure it has a correct random pattern given the seed - // Sums number of errors found in block and stores error count into blockErrorCount[blockIdx.x] - // Sum-reduce this array afterwards to get total error count over tested region - // Uses 12*blockDim.x bytes of shared memory - - extern __shared__ uint shmem[]; - uint* threadErrorCount = shmem; - uint* randomBlock = shmem + blockDim.x; - // Put these into shmem to cut register count - uint* bitSeeds = randomBlock + blockDim.x; - - threadErrorCount[threadIdx.x] = 0; - - // Make sure seed is not zero. - if (seed == 0) seed = 123459876+blockIdx.x; - //uint bitSeed = deviceRan0p(seed + threadIdx.x,threadIdx.x); - bitSeeds[threadIdx.x] = deviceRan0p(seed + threadIdx.x,threadIdx.x); - - for (uint i = 0; i < N; i++) { - // Generate a block of random numbers in parallel using closed-form expression for ran0 - // OR in a random bit because Ran0 will never have the high bit set - //randomBlock[threadIdx.x] = deviceRan0p(seed,threadIdx.x) | (deviceIrbit2(bitSeed) << 31); - randomBlock[threadIdx.x] = deviceRan0p(seed,threadIdx.x) | (deviceIrbit2(bitSeeds[threadIdx.x]) << 31); - __syncthreads(); - - // Set the seed for the next round to the last number calculated in this round - seed = randomBlock[blockDim.x-1]; - - //if ( randomBlock[threadIdx.x] != *(THREAD_ADDRESS(base,N,i))) threadErrorCount[threadIdx.x]++; - threadErrorCount[threadIdx.x] += BITSDIFF(*(THREAD_ADDRESS(base,N,i)),randomBlock[threadIdx.x]); - - } - - // Parallel-reduce error counts over threads in block - for (uint stride = blockDim.x>>1; stride > 0; stride >>= 1) { - __syncthreads(); - if (threadIdx.x < stride) - threadErrorCount[threadIdx.x] += threadErrorCount[threadIdx.x + stride]; - } - __syncthreads(); - - if (threadIdx.x == 0) - blockErrorCount[blockIdx.x] = threadErrorCount[0]; - - return; -} -//}}} -//}}} - -// Memtest86 Test 8: tseq=3 (M86 uses modulus = 20) -__host__ uint gpuModuloX(const uint nBlocks,const uint nThreads,uint* base,const uint N,uint shift,uint pattern1,const uint modulus,const uint iters, - uint* blockErrorCount,uint* errorCounts) { //{{{ - // Given device arrays base (tested memory) and blockErrorCount (nBlocks uints in length of temp space) - // Given a shift, modulus, pattern to test and number of overwrite iterations - // Performs Modulo-X test on memory - - //uint errorCounts[nBlocks]; - uint totalErrors = 0; - shift %= modulus; - - // Test both the given pattern and its inverse - for (uint i = 0; i < 2; i++, pattern1 = ~pattern1) { - deviceWritePairedModulo<<>>(base,N,shift,pattern1,~pattern1,modulus,iters); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - deviceVerifyPairedModulo<<>>(base,N,shift,pattern1,modulus,blockErrorCount); - CHECK_LAUNCH_ERROR(); - SOFTWAIT(); - CHECK_LAUNCH_ERROR(); - - cudaMemcpy(errorCounts,blockErrorCount,sizeof(uint)*nBlocks,cudaMemcpyDeviceToHost); - - // Sum-reduce block error counts on the host - it's only order of 1k numbers. - for (uint i = 0; i < nBlocks; i++) { - totalErrors += errorCounts[i]; - } - } - return totalErrors; -} - -__global__ void deviceWritePairedModulo(uint* base,const uint N,const uint shift,const uint pattern1,const uint pattern2,const uint modulus,const uint iters) { - // First writes pattern1 into every offset that is 0 mod modulus - // Next (iters times) writes ~pattern1 into every other address - uint offset; - for (uint i = 0 ; i < N; i++) { - offset = THREAD_OFFSET(N,i); - if ((offset % modulus) == shift) *(base+offset) = pattern1; - } - __syncthreads(); - for (uint j = 0; j < iters; j++) { - for (uint i = 0 ; i < N; i++) { - offset = THREAD_OFFSET(N,i); - if ((offset % modulus) != shift) *(base+offset) = pattern2; - } - } -} -__global__ void deviceVerifyPairedModulo(uint* base,uint N,const uint shift,const uint pattern1,const uint modulus,uint* blockErrorCount) { - // Verifies that memory at each (offset mod modulus == shift) stores pattern1 - // Sums number of errors found in block and stores error count into blockErrorCount[blockIdx.x] - // Sum-reduce this array afterwards to get total error count over tested region - // Uses 4*blockDim.x bytes of shared memory - - extern __shared__ uint threadErrorCount[]; - threadErrorCount[threadIdx.x] = 0; - uint offset; - - for (uint i = 0; i < N; i++) { - offset = THREAD_OFFSET(N,i); - //if (((offset % modulus) == shift) && (*(base+offset) != pattern1)) threadErrorCount[threadIdx.x]++; - if ((offset % modulus) == shift) threadErrorCount[threadIdx.x] += BITSDIFF(*(base+offset),pattern1); - } - // Parallel-reduce error counts over threads in block - for (uint stride = blockDim.x>>1; stride > 0; stride >>= 1) { - __syncthreads(); - if (threadIdx.x < stride) - threadErrorCount[threadIdx.x] += threadErrorCount[threadIdx.x + stride]; - } - __syncthreads(); - - if (threadIdx.x == 0) - blockErrorCount[blockIdx.x] = threadErrorCount[0]; - - return; -} -//}}} diff --git a/src/gromacs/gmxlib/gpu_utils/memtestG80_core.h b/src/gromacs/gmxlib/gpu_utils/memtestG80_core.h deleted file mode 100644 index cbacbdf465..0000000000 --- a/src/gromacs/gmxlib/gpu_utils/memtestG80_core.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - * memtestG80_core.h - * Public API for core memory test functions for MemtestG80 - * Includes functional and OO interfaces to GPU test functions. - * - * Author: Imran Haque, 2009 - * Copyright 2009, Stanford University - * - * This file is licensed under the terms of the LGPL. Please see - * the COPYING file in the accompanying source distribution for - * full license terms. - * - */ -#ifndef _MEMTESTG80_CORE_H_ -#define _MEMTESTG80_CORE_H_ - -#if defined (WINDOWS) || defined (WINNV) - #include -inline unsigned int getTimeMilliseconds(void) -{ - return GetTickCount(); -} - #include - #define SLEEPMS(x) Sleep(x) -#elif defined (LINUX) || defined (OSX) - #include -inline unsigned int getTimeMilliseconds(void) -{ - struct timeval tv; - gettimeofday(&tv, NULL); - return tv.tv_sec*1000 + tv.tv_usec/1000; -} - #include - #define SLEEPMS(x) usleep(x*1000) -#else - #error Must #define LINUX, WINDOWS, WINNV, or OSX -#endif - -// By default the driver will spinwait when blocked on a kernel call -// Use the SOFTWAIT macro to replace this with a thread sleep and occasional poll -// limit expresses the max time we're willing to stay in the sleep loop - default = 15sec -inline int _pollStatus(unsigned length = 1, unsigned limit = 15000) -{ - //while (cudaStreamQuery(0) != cudaSuccess) {SLEEPMS(length);} - unsigned startTime = getTimeMilliseconds(); - while (cudaStreamQuery(0) == cudaErrorNotReady) - { - if ((getTimeMilliseconds() - startTime) > limit) - { - return -1; - } - SLEEPMS(length); - } - return 0; -} -#define SOFTWAIT() if (_pollStatus() != 0) {return 0xFFFFFFFE; } // -2 -#define SOFTWAIT_LIM(lim) if (_pollStatus(1, lim) != 0) {return 0xFFFFFFFE; } // -2 -//#define SOFTWAIT() -//#define SOFTWAIT(delay) if (_pollStatus(delay) != 0) return -2; -//#define SOFTWAIT(delay,limit) if (_pollStatus(delay,limit) != 0) return -2; -//#define SOFTWAIT() while (cudaStreamQuery(0) != cudaSuccess) {SLEEPMS(1);} -//#define SOFTWAIT(x) while (cudaStreamQuery(0) != cudaSuccess) {SLEEPMS(x);} -//#define SOFTWAIT() - -// Use this macro to check for kernel errors -#define CHECK_LAUNCH_ERROR() if (cudaGetLastError() != cudaSuccess) {return 0xFFFFFFFF; /* -1 */} - - -typedef unsigned int uint; - -// OO interface to MemtestG80 functions -class memtestState -{ - protected: - const uint nBlocks; - const uint nThreads; - uint loopIters; - uint megsToTest; - int lcgPeriod; - uint * devTestMem; - uint * devTempMem; - uint * hostTempMem; - bool allocated; - public: - uint initTime; - memtestState() : nBlocks(1024), nThreads(512), loopIters(0), megsToTest(0), allocated(false), devTestMem(NULL), devTempMem(NULL), hostTempMem(NULL), initTime(0), lcgPeriod(1024) {}; - ~memtestState() {deallocate(); } - - uint allocate(uint mbToTest); - void deallocate(); - bool isAllocated() const {return allocated; } - uint size() const {return megsToTest; } - void setLCGPeriod(int period) {lcgPeriod = period; } - int getLCGPeriod() const {return lcgPeriod; } - - bool gpuMemoryBandwidth(double &bandwidth, uint mbToTest, uint iters = 5); - bool gpuWriteConstant(const uint constant) const; - bool gpuVerifyConstant(uint &errorCount, const uint constant) const; - bool gpuShortLCG0(uint &errorCount, const uint repeats) const; - bool gpuShortLCG0Shmem(uint &errorCount, const uint repeats) const; - bool gpuMovingInversionsOnesZeros(uint &errorCount) const; - bool gpuWalking8BitM86(uint &errorCount, const uint shift) const; - bool gpuWalking8Bit(uint &errorCount, const bool ones, const uint shift) const; - bool gpuMovingInversionsRandom(uint &errorCount) const; - bool gpuWalking32Bit(uint &errorCount, const bool ones, const uint shift) const; - bool gpuRandomBlocks(uint &errorCount, const uint seed) const; - bool gpuModuloX(uint &errorCount, const uint shift, const uint pattern, const uint modulus, const uint overwriteIters) const; -}; - -// Utility functions -__host__ double gpuMemoryBandwidth(uint* src, uint* dst, uint mbToTest, uint iters); -__host__ void gpuWriteConstant(const uint nBlocks, const uint nThreads, uint* base, uint N, const uint constant); -__host__ uint gpuVerifyConstant(const uint nBlocks, const uint nThreads, uint* base, uint N, const uint constant, uint* blockErrorCount, uint* errorCounts); - -__host__ void cpuWriteConstant(const uint nBlocks, const uint nThreads, uint* base, uint N, const uint constant); -__host__ uint cpuVerifyConstant(const uint nBlocks, const uint nThreads, uint* base, uint N, const uint constant); - -// Logic tests -__host__ uint gpuShortLCG0(const uint nBlocks, const uint nThreads, uint* base, uint N, const uint repeats, const int period, uint* blockErrorCounts, uint* errorCounts); -__host__ uint gpuShortLCG0Shmem(const uint nBlocks, const uint nThreads, uint* base, uint N, const uint repeats, const int period, uint* blockErrorCounts, uint* errorCounts); - -// Memtest86 Test 2: tseq=0,4 -__host__ uint gpuMovingInversionsOnesZeros(const uint nBlocks, const uint nThreads, uint* base, uint N, uint* blockErrorCounts, uint* errorCounts); - -// Memtest86 Test 3: tseq=1 -__host__ uint gpuWalking8BitM86(const uint nBlocks, const uint nThreads, uint* base, uint N, uint shift, uint* blockErrorCounts, uint* errorCounts); -__host__ uint cpuWalking8BitM86(const uint nBlocks, const uint nThreads, uint* base, uint N, uint shift); -__host__ uint gpuWalking8Bit(const uint nBlocks, const uint nThreads, uint* base, uint N, bool ones, uint shift, uint* blockErrorCount, uint* errorCounts); - -// Memtest86 Test 4: tseq=10 -__host__ uint gpuMovingInversionsRandom(const uint nBlocks, const uint nThreads, uint* base, uint N, uint* blockErrorCounts, uint* errorCounts); - -// Memtest86 Test 6: tseq=2 -__host__ uint gpuWalking32Bit(const uint nBlocks, const uint nThreads, uint* base, uint N, bool ones, uint shift, uint* blockErrorCount, uint* errorCounts); -// -// Memtest86 Test 7: tseq=9 -__host__ uint gpuRandomBlocks(const uint nBlocks, const uint nThreads, uint* base, uint N, uint seed, uint* blockErrorCount, uint* errorCounts); - -// Memtest86 Test 8: tseq=3 (M86 uses modulus = 20) -__host__ uint gpuModuloX(const uint nBlocks, const uint nThreads, uint* base, const uint N, uint shift, uint pattern1, const uint modulus, const uint iters, uint* blockErrorCount, uint* errorCounts); - -#endif diff --git a/src/gromacs/gmxlib/ifunc.c b/src/gromacs/gmxlib/ifunc.c index 02f055c136..e7e42f6644 100644 --- a/src/gromacs/gmxlib/ifunc.c +++ b/src/gromacs/gmxlib/ifunc.c @@ -35,17 +35,13 @@ * 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 -#endif - - -#include "typedefs.h" -#include "bondf.h" -#include "disre.h" -#include "orires.h" -#include "genborn.h" +#include "gmxpre.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/listed-forces/bonded.h" #define def_bonded(str, lstr, nra, nrpa, nrpb, ind, func) \ {str, lstr, (nra), (nrpa), (nrpb), IF_BOND, (ind), (func)} @@ -86,7 +82,7 @@ #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 ), diff --git a/src/gromacs/gmxlib/inputrec.c b/src/gromacs/gmxlib/inputrec.c index 1ba89ef3aa..ad48b85814 100644 --- a/src/gromacs/gmxlib/inputrec.c +++ b/src/gromacs/gmxlib/inputrec.c @@ -34,15 +34,13 @@ * 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 -#endif +#include "gmxpre.h" +#include "gromacs/legacyheaders/inputrec.h" -#include "typedefs.h" -#include "macros.h" -#include "inputrec.h" -#include "gmx_fatal.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" /* The minimum number of integration steps required for reasonably accurate diff --git a/src/gromacs/gmxlib/main.cpp b/src/gromacs/gmxlib/main.cpp index a80087c754..deea126674 100644 --- a/src/gromacs/gmxlib/main.cpp +++ b/src/gromacs/gmxlib/main.cpp @@ -34,51 +34,39 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/main.h" + +#include "config.h" +#include #include #include #include -#include #include -#ifdef HAVE_SYS_TIME_H -#include -#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/fileio/filenm.h" #include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/utility/basenetwork.h" #include "gromacs/utility/cstringutil.h" -#include "copyrite.h" - #include "gromacs/utility/exceptions.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/gmxmpi.h" #include "gromacs/utility/programcontext.h" +#include "gromacs/utility/smalloc.h" +#include "gromacs/utility/sysinfo.h" /* The source code in this file should be thread-safe. Please keep it that way. */ - -#ifdef HAVE_UNISTD_H -#include -#endif - -#ifdef GMX_NATIVE_WINDOWS -#include -#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) @@ -104,7 +92,7 @@ static void par_fn(char *base, int ftp, const t_commrec *cr, strcat(buf, "."); /* Add extension again */ - strcat(buf, (ftp == efTPX) ? "tpr" : (ftp == efEDR) ? "edr" : ftp2ext(ftp)); + strcat(buf, (ftp == efTPR) ? "tpr" : (ftp == efEDR) ? "edr" : ftp2ext(ftp)); if (debug) { fprintf(debug, "rank %d par_fn '%s'\n", cr->nodeid, buf); @@ -223,83 +211,22 @@ void check_multi_int64(FILE *log, const gmx_multisim_t *ms, } -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__) && !defined(__MINGW32__) - 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, +void gmx_log_open(const char *lognm, const t_commrec *cr, gmx_bool bAppendFiles, FILE** fplog) { - int len, pid; - char buf[256], host[256]; + int pid; + char host[256]; time_t t; char timebuf[STRLEN]; FILE *fp = *fplog; - char *tmpnm; - - debug_gmx(); - - /* Communicate the filename for logfile */ - if (cr->nnodes > 1 && !bMasterOnly -#ifdef GMX_THREAD_MPI - /* With thread MPI the non-master log files are opened later - * when the files names are already known on all nodes. - */ - && FALSE -#endif - ) - { - if (MASTER(cr)) - { - len = strlen(lognm) + 1; - } - gmx_bcast(sizeof(len), &len, cr); - if (!MASTER(cr)) - { - snew(tmpnm, len+8); - } - else - { - tmpnm = gmx_strdup(lognm); - } - gmx_bcast(len*sizeof(*tmpnm), tmpnm, cr); - } - else - { - tmpnm = gmx_strdup(lognm); - } debug_gmx(); - if (!bMasterOnly && !MASTER(cr)) - { - /* Since log always ends with '.log' let's use this info */ - par_fn(tmpnm, efLOG, cr, FALSE, !bMasterOnly, buf, 255); - fp = gmx_fio_fopen(buf, bAppendFiles ? "a+" : "w+" ); - } - else if (!bAppendFiles) + if (!bAppendFiles) { - fp = gmx_fio_fopen(tmpnm, bAppendFiles ? "a+" : "w+" ); + fp = gmx_fio_fopen(lognm, bAppendFiles ? "a+" : "w+" ); } - sfree(tmpnm); - gmx_fatal_set_log_file(fp); /* Get some machine parameters */ @@ -307,15 +234,7 @@ void gmx_log_open(const char *lognm, const t_commrec *cr, gmx_bool bMasterOnly, time(&t); -#ifndef NO_GETPID -# ifdef GMX_NATIVE_WINDOWS - pid = _getpid(); -# else - pid = getpid(); -# endif -#else - pid = 0; -#endif + pid = gmx_getpid(); if (bAppendFiles) { @@ -460,7 +379,7 @@ void init_multisystem(t_commrec *cr, int nsim, char **multidirs, * at the actual file name */ if (is_output(&fnm[i]) || - fnm[i].ftp == efTPX || fnm[i].ftp == efCPT || + fnm[i].ftp == efTPR || fnm[i].ftp == efCPT || strcmp(fnm[i].opt, "-rerun") == 0) { ftp = fn2ftp(fnm[i].fns[0]); diff --git a/src/gromacs/gmxlib/md_logging.c b/src/gromacs/gmxlib/md_logging.c index cb6f5552f7..cee3c06ba6 100644 --- a/src/gromacs/gmxlib/md_logging.c +++ b/src/gromacs/gmxlib/md_logging.c @@ -3,7 +3,7 @@ * * 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. @@ -34,14 +34,14 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/md_logging.h" -#include #include -#include "types/commrec.h" -#include "md_logging.h" +#include + +#include "gromacs/legacyheaders/types/commrec.h" void md_print_info(const t_commrec *cr, FILE *fplog, diff --git a/src/gromacs/gmxlib/minvert.h b/src/gromacs/gmxlib/minvert.h deleted file mode 100644 index ae466aa448..0000000000 --- a/src/gromacs/gmxlib/minvert.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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 diff --git a/src/gromacs/gmxlib/mvdata.c b/src/gromacs/gmxlib/mvdata.c index b9d3a3a57b..41aeaeaf15 100644 --- a/src/gromacs/gmxlib/mvdata.c +++ b/src/gromacs/gmxlib/mvdata.c @@ -35,22 +35,21 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/mvdata.h" #include -#include "typedefs.h" -#include "main.h" -#include "mvdata.h" -#include "types/commrec.h" -#include "network.h" +#include "gromacs/legacyheaders/main.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/symtab.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "symtab.h" -#include "vec.h" -#include "tgroup.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 diff --git a/src/gromacs/gmxlib/names.c b/src/gromacs/gmxlib/names.c index 649db23f1b..6e63f2fb62 100644 --- a/src/gromacs/gmxlib/names.c +++ b/src/gromacs/gmxlib/names.c @@ -34,12 +34,11 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "names.h" +#include "gromacs/legacyheaders/names.h" + +#include "gromacs/legacyheaders/typedefs.h" /* note: these arrays should correspond to enums in include/types/enums.h */ diff --git a/src/gromacs/gmxlib/network.c b/src/gromacs/gmxlib/network.c index ba89f43949..94905661e1 100644 --- a/src/gromacs/gmxlib/network.c +++ b/src/gromacs/gmxlib/network.c @@ -34,39 +34,30 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/network.h" + +#include "config.h" -#include -#include "gmx_fatal.h" -#include "main.h" -#include "gromacs/utility/smalloc.h" -#include "types/commrec.h" -#include "network.h" -#include "copyrite.h" #include -#include "macros.h" -#include "gromacs/utility/cstringutil.h" +#include +#include +#include +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/types/commrec.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 @@ -144,155 +135,6 @@ t_commrec *reinitialize_commrec_for_this_thread(const t_commrec gmx_unused *cro) #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 - -#ifdef __clang__ -/* IBM's declaration of this function in - * /bgsys/drivers/V1R2M2/ppc64/spi/include/kernel/process.h - * erroneously fails to specify __INLINE__, despite - * /bgsys/drivers/V1R2M2/ppc64/spi/include/kernel/cnk/process_impl.h - * specifiying __INLINE__, so bgclang thinks they are different enough - * to complain about. */ -static uint64_t Kernel_GetJobID(); -#endif - -#include - -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; @@ -475,33 +317,6 @@ void gmx_barrier(const t_commrec gmx_unused *cr) #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 @@ -883,3 +698,47 @@ void gmx_sumli_sim(int gmx_unused nr, gmx_int64_t gmx_unused r[], const gmx_mult #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); +} diff --git a/src/gromacs/gmxlib/nonbonded/nb_free_energy.c b/src/gromacs/gmxlib/nonbonded/nb_free_energy.c index 85d96a1233..6b5d6d89dc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_free_energy.c +++ b/src/gromacs/gmxlib/nonbonded/nb_free_energy.c @@ -34,21 +34,19 @@ * 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 -#endif +#include "gmxpre.h" -#include - -#include "vec.h" -#include "typedefs.h" -#include "nonbonded.h" -#include "nb_kernel.h" -#include "nrnb.h" -#include "macros.h" #include "nb_free_energy.h" -#include "gmx_fatal.h" +#include + +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" void gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, @@ -129,10 +127,19 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, int ewitab; real ewrt, eweps, ewtabscale, ewtabhalfspace, sh_ewald; + const real onetwelfth = 1.0/12.0; + const real onesixth = 1.0/6.0; + const real zero = 0.0; + const real half = 0.5; + const real one = 1.0; + const real two = 2.0; + const real six = 6.0; + const real fourtyeight = 48.0; + sh_ewald = fr->ic->sh_ewald; ewtab = fr->ic->tabq_coul_FDV0; ewtabscale = fr->ic->tabq_scale; - ewtabhalfspace = 0.5/ewtabscale; + ewtabhalfspace = half/ewtabscale; tab_ewald_F_lj = fr->ic->tabq_vdw_F; tab_ewald_V_lj = fr->ic->tabq_vdw_V; @@ -178,7 +185,6 @@ 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; @@ -298,8 +304,8 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, dvdl_vdw = 0; /* Lambda factor for state A, 1-lambda*/ - LFC[STATE_A] = 1.0 - lambda_coul; - LFV[STATE_A] = 1.0 - lambda_vdw; + LFC[STATE_A] = one - lambda_coul; + LFV[STATE_A] = one - lambda_vdw; /* Lambda factor for state B, lambda*/ LFC[STATE_B] = lambda_coul; @@ -394,12 +400,12 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, r = 0; } - if (sc_r_power == 6.0) + if (sc_r_power == six) { rpm2 = rsq*rsq; /* r4 */ rp = rpm2*rsq; /* r6 */ } - else if (sc_r_power == 48.0) + else if (sc_r_power == fourtyeight) { rp = rsq*rsq*rsq; /* r6 */ rp = rp*rp; /* r12 */ @@ -432,7 +438,7 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, if ((c6[i] > 0) && (c12[i] > 0)) { /* c12 is stored scaled with 12.0 and c6 is scaled with 6.0 - correct for this */ - sigma6[i] = 0.5*c12[i]/c6[i]; + sigma6[i] = half*c12[i]/c6[i]; sigma2[i] = pow(sigma6[i], 1.0/3.0); /* should be able to get rid of this ^^^ internal pow call eventually. Will require agreement on what data to store externally. Can't be fixed without larger scale changes, so not 4.6 */ @@ -447,12 +453,12 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, sigma6[i] = sigma6_def; sigma2[i] = sigma2_def; } - if (sc_r_power == 6.0) + if (sc_r_power == six) { sigma_pow[i] = sigma6[i]; sigma_powm2[i] = sigma6[i]/sigma2[i]; } - else if (sc_r_power == 48.0) + else if (sc_r_power == fourtyeight) { sigma_pow[i] = sigma6[i]*sigma6[i]; /* sigma^12 */ sigma_pow[i] = sigma_pow[i]*sigma_pow[i]; /* sigma^24 */ @@ -489,13 +495,13 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, if ( (qq[i] != 0) || (c6[i] != 0) || (c12[i] != 0) ) { /* this section has to be inside the loop because of the dependence on sigma_pow */ - rpinvC = 1.0/(alpha_coul_eff*lfac_coul[i]*sigma_pow[i]+rp); - rinvC = pow(rpinvC, 1.0/sc_r_power); - rC = 1.0/rinvC; + rpinvC = one/(alpha_coul_eff*lfac_coul[i]*sigma_pow[i]+rp); + rinvC = pow(rpinvC, one/sc_r_power); + rC = one/rinvC; - rpinvV = 1.0/(alpha_vdw_eff*lfac_vdw[i]*sigma_pow[i]+rp); - rinvV = pow(rpinvV, 1.0/sc_r_power); - rV = 1.0/rinvV; + rpinvV = one/(alpha_vdw_eff*lfac_vdw[i]*sigma_pow[i]+rp); + rinvV = pow(rpinvV, one/sc_r_power); + rV = one/rinvV; if (do_tab) { @@ -537,7 +543,7 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, case GMX_NBKERNEL_ELEC_REACTIONFIELD: /* reaction-field */ Vcoul[i] = qq[i]*(rinvC + krf*rC*rC-crf); - FscalC[i] = qq[i]*(rinvC - 2.0*krf*rC*rC); + FscalC[i] = qq[i]*(rinvC - two*krf*rC*rC); break; case GMX_NBKERNEL_ELEC_CUBICSPLINETABLE: @@ -549,7 +555,7 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, Heps2 = eps2C*VFtab[nnn+3]; Fp = F+Geps+Heps2; VV = Y+epsC*Fp; - FF = Fp+Geps+2.0*Heps2; + FF = Fp+Geps+two*Heps2; Vcoul[i] = qq[i]*VV; FscalC[i] = -qq[i]*tabscale*FF*rC; break; @@ -579,8 +585,8 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, break; case GMX_NBKERNEL_ELEC_NONE: - FscalC[i] = 0.0; - Vcoul[i] = 0.0; + FscalC[i] = zero; + Vcoul[i] = zero; break; default: @@ -591,16 +597,16 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, if (fr->coulomb_modifier == eintmodPOTSWITCH) { d = rC-fr->rcoulomb_switch; - d = (d > 0.0) ? d : 0.0; + d = (d > zero) ? d : zero; d2 = d*d; - sw = 1.0+d2*d*(elec_swV3+d*(elec_swV4+d*elec_swV5)); + sw = one+d2*d*(elec_swV3+d*(elec_swV4+d*elec_swV5)); dsw = d2*(elec_swF2+d*(elec_swF3+d*elec_swF4)); FscalC[i] = FscalC[i]*sw - rC*Vcoul[i]*dsw; Vcoul[i] *= sw; - FscalC[i] = (rC < rcoulomb) ? FscalC[i] : 0.0; - Vcoul[i] = (rC < rcoulomb) ? Vcoul[i] : 0.0; + FscalC[i] = (rC < rcoulomb) ? FscalC[i] : zero; + Vcoul[i] = (rC < rcoulomb) ? Vcoul[i] : zero; } } @@ -618,7 +624,7 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, { case GMX_NBKERNEL_VDW_LENNARDJONES: /* cutoff LJ */ - if (sc_r_power == 6.0) + if (sc_r_power == six) { rinv6 = rpinvV; } @@ -630,8 +636,8 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, Vvdw6 = c6[i]*rinv6; Vvdw12 = c12[i]*rinv6*rinv6; - Vvdw[i] = ( (Vvdw12 - c12[i]*sh_invrc6*sh_invrc6)*(1.0/12.0) - - (Vvdw6 - c6[i]*sh_invrc6)*(1.0/6.0)); + Vvdw[i] = ( (Vvdw12 - c12[i]*sh_invrc6*sh_invrc6)*onetwelfth + - (Vvdw6 - c6[i]*sh_invrc6)*onesixth); FscalV[i] = Vvdw12 - Vvdw6; break; @@ -649,7 +655,7 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, Heps2 = eps2V*VFtab[nnn+3]; Fp = F+Geps+Heps2; VV = Y+epsV*Fp; - FF = Fp+Geps+2.0*Heps2; + FF = Fp+Geps+two*Heps2; Vvdw[i] += c6[i]*VV; FscalV[i] -= c6[i]*tabscale*FF*rV; @@ -660,13 +666,13 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, Heps2 = eps2V*VFtab[nnn+7]; Fp = F+Geps+Heps2; VV = Y+epsV*Fp; - FF = Fp+Geps+2.0*Heps2; + FF = Fp+Geps+two*Heps2; Vvdw[i] += c12[i]*VV; FscalV[i] -= c12[i]*tabscale*FF*rV; break; case GMX_NBKERNEL_VDW_LJEWALD: - if (sc_r_power == 6.0) + if (sc_r_power == six) { rinv6 = rpinvV; } @@ -683,8 +689,8 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, Vvdw6 = c6[i]*rinv6; Vvdw12 = c12[i]*rinv6*rinv6; - Vvdw[i] = ( (Vvdw12 - c12[i]*sh_invrc6*sh_invrc6)*(1.0/12.0) - - (Vvdw6 - c6[i]*sh_invrc6 - c6grid*sh_lj_ewald)*(1.0/6.0)); + Vvdw[i] = ( (Vvdw12 - c12[i]*sh_invrc6*sh_invrc6)*onetwelfth + - (Vvdw6 - c6[i]*sh_invrc6 - c6grid*sh_lj_ewald)*onesixth); FscalV[i] = Vvdw12 - Vvdw6; } else @@ -692,17 +698,17 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, /* Normal LJ-PME */ ewcljrsq = ewclj2*rV*rV; exponent = exp(-ewcljrsq); - poly = exponent*(1.0 + ewcljrsq + ewcljrsq*ewcljrsq*0.5); - vvdw_disp = (c6[i]-c6grid*(1.0-poly))*rinv6; + poly = exponent*(one + ewcljrsq + ewcljrsq*ewcljrsq*half); + vvdw_disp = (c6[i]-c6grid*(one-poly))*rinv6; vvdw_rep = c12[i]*rinv6*rinv6; - FscalV[i] = vvdw_rep - vvdw_disp - c6grid*(1.0/6.0)*exponent*ewclj6; - Vvdw[i] = (vvdw_rep - c12[i]*sh_invrc6*sh_invrc6)/12.0 - (vvdw_disp - c6[i]*sh_invrc6 - c6grid*sh_lj_ewald)/6.0; + FscalV[i] = vvdw_rep - vvdw_disp - c6grid*onesixth*exponent*ewclj6; + Vvdw[i] = (vvdw_rep - c12[i]*sh_invrc6*sh_invrc6)*onetwelfth - (vvdw_disp - c6[i]*sh_invrc6 - c6grid*sh_lj_ewald)/six; } break; case GMX_NBKERNEL_VDW_NONE: - Vvdw[i] = 0.0; - FscalV[i] = 0.0; + Vvdw[i] = zero; + FscalV[i] = zero; break; default: @@ -713,16 +719,16 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, if (fr->vdw_modifier == eintmodPOTSWITCH) { d = rV-fr->rvdw_switch; - d = (d > 0.0) ? d : 0.0; + d = (d > zero) ? d : zero; d2 = d*d; - sw = 1.0+d2*d*(vdw_swV3+d*(vdw_swV4+d*vdw_swV5)); + sw = one+d2*d*(vdw_swV3+d*(vdw_swV4+d*vdw_swV5)); dsw = d2*(vdw_swF2+d*(vdw_swF3+d*vdw_swF4)); FscalV[i] = FscalV[i]*sw - rV*Vvdw[i]*dsw; Vvdw[i] *= sw; - FscalV[i] = (rV < rvdw) ? FscalV[i] : 0.0; - Vvdw[i] = (rV < rvdw) ? Vvdw[i] : 0.0; + FscalV[i] = (rV < rvdw) ? FscalV[i] : zero; + Vvdw[i] = (rV < rvdw) ? Vvdw[i] : zero; } } @@ -757,11 +763,11 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, * As there is no singularity, there is no need for soft-core. */ VV = krf*rsq - crf; - FF = -2.0*krf; + FF = -two*krf; if (ii == jnr) { - VV *= 0.5; + VV *= half; } for (i = 0; i < NSTATES; i++) @@ -803,7 +809,7 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, * scheme, and corresponds to a self-interaction that will * occur twice. Scale it down by 50% to only include it once. */ - v_lr *= 0.5; + v_lr *= half; } for (i = 0; i < NSTATES; i++) @@ -838,8 +844,8 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, /* TODO: Currently the Ewald LJ table does not contain * the factor 1/6, we should add this. */ - FF = f_lr*rinv/6.0; - VV = (tab_ewald_V_lj[ri] - ewtabhalfspace*frac*(tab_ewald_F_lj[ri] + f_lr))/6.0; + FF = f_lr*rinv/six; + VV = (tab_ewald_V_lj[ri] - ewtabhalfspace*frac*(tab_ewald_F_lj[ri] + f_lr))/six; if (ii == jnr) { @@ -848,7 +854,7 @@ gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, * scheme, and corresponds to a self-interaction that will * occur twice. Scale it down by 50% to only include it once. */ - VV *= 0.5; + VV *= half; } for (i = 0; i < NSTATES; i++) @@ -947,6 +953,12 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a real velec[2], vvdw[2]; int i, ntab; + const real half = 0.5; + const real one = 1.0; + const real two = 2.0; + const real six = 6.0; + const real fourtyeight = 48.0; + qq[0] = qqA; qq[1] = qqB; c6[0] = c6A; @@ -954,12 +966,12 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a c12[0] = c12A; c12[1] = c12B; - if (sc_r_power == 6.0) + if (sc_r_power == six) { rpm2 = r2*r2; /* r4 */ rp = rpm2*r2; /* r6 */ } - else if (sc_r_power == 48.0) + else if (sc_r_power == fourtyeight) { rp = r2*r2*r2; /* r6 */ rp = rp*rp; /* r12 */ @@ -969,7 +981,7 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a } else { - rp = pow(r2, 0.5*sc_r_power); /* not currently supported as input, but can handle it */ + rp = pow(r2, half*sc_r_power); /* not currently supported as input, but can handle it */ rpm2 = rp/r2; } @@ -981,8 +993,8 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a /* The c6 & c12 coefficients now contain the constants 6.0 and 12.0, respectively. * Correct for this by multiplying with (1/12.0)/(1/6.0)=6.0/12.0=0.5. */ - sigma6[i] = 0.5*c12[i]/c6[i]; - sigma2[i] = pow(0.5*c12[i]/c6[i], 1.0/3.0); + sigma6[i] = half*c12[i]/c6[i]; + sigma2[i] = pow(half*c12[i]/c6[i], 1.0/3.0); /* should be able to get rid of this ^^^ internal pow call eventually. Will require agreement on what data to store externally. Can't be fixed without larger scale changes, so not 5.0 */ if (sigma6[i] < sigma6_min) /* for disappearing coul and vdw with soft core at the same time */ @@ -996,12 +1008,12 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a sigma6[i] = sigma6_def; sigma2[i] = sigma2_def; } - if (sc_r_power == 6.0) + if (sc_r_power == six) { sigma_pow[i] = sigma6[i]; sigma_powm2[i] = sigma6[i]/sigma2[i]; } - else if (sc_r_power == 48.0) + else if (sc_r_power == fourtyeight) { sigma_pow[i] = sigma6[i]*sigma6[i]; /* sigma^12 */ sigma_pow[i] = sigma_pow[i]*sigma_pow[i]; /* sigma^24 */ @@ -1039,8 +1051,8 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a if ( (qq[i] != 0) || (c6[i] != 0) || (c12[i] != 0) ) { /* Coulomb */ - rpinv = 1.0/(alpha_coul_eff*lfac_coul[i]*sigma_pow[i]+rp); - r_coul = pow(rpinv, -1.0/sc_r_power); + rpinv = one/(alpha_coul_eff*lfac_coul[i]*sigma_pow[i]+rp); + r_coul = pow(rpinv, -one/sc_r_power); /* Electrostatics table lookup data */ rtab = r_coul*tabscale; @@ -1055,13 +1067,13 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a Heps2 = eps2*vftab[ntab+3]; Fp = F+Geps+Heps2; VV = Y+eps*Fp; - FF = Fp+Geps+2.0*Heps2; + FF = Fp+Geps+two*Heps2; velec[i] = qq[i]*VV; fscal_elec[i] = -qq[i]*FF*r_coul*rpinv*tabscale; /* Vdw */ - rpinv = 1.0/(alpha_vdw_eff*lfac_vdw[i]*sigma_pow[i]+rp); - r_vdw = pow(rpinv, -1.0/sc_r_power); + rpinv = one/(alpha_vdw_eff*lfac_vdw[i]*sigma_pow[i]+rp); + r_vdw = pow(rpinv, -one/sc_r_power); /* Vdw table lookup data */ rtab = r_vdw*tabscale; ntab = rtab; @@ -1075,7 +1087,7 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a Heps2 = eps2*vftab[ntab+7]; Fp = F+Geps+Heps2; VV = Y+eps*Fp; - FF = Fp+Geps+2.0*Heps2; + FF = Fp+Geps+two*Heps2; vvdw[i] = c6[i]*VV; fscal_vdw[i] = -c6[i]*FF; @@ -1086,7 +1098,7 @@ nb_free_energy_evaluate_single(real r2, real sc_r_power, real alpha_coul, real a Heps2 = eps2*vftab[ntab+11]; Fp = F+Geps+Heps2; VV = Y+eps*Fp; - FF = Fp+Geps+2.0*Heps2; + FF = Fp+Geps+two*Heps2; vvdw[i] += c12[i]*VV; fscal_vdw[i] -= c12[i]*FF; fscal_vdw[i] *= r_vdw*rpinv*tabscale; diff --git a/src/gromacs/gmxlib/nonbonded/nb_free_energy.h b/src/gromacs/gmxlib/nonbonded/nb_free_energy.h index 14ba7a3978..8b76221810 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_free_energy.h +++ b/src/gromacs/gmxlib/nonbonded/nb_free_energy.h @@ -3,7 +3,7 @@ * * 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. @@ -38,8 +38,8 @@ #ifndef _nb_free_energy_h_ #define _nb_free_energy_h_ -#include "nb_kernel.h" -#include "typedefs.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/typedefs.h" void gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_generic.c b/src/gromacs/gmxlib/nonbonded/nb_generic.c index 019ba8b341..55fdb28a01 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_generic.c +++ b/src/gromacs/gmxlib/nonbonded/nb_generic.c @@ -34,22 +34,19 @@ * 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 -#endif +#include "gmxpre.h" -#include - -#include "types/simple.h" -#include "vec.h" -#include "typedefs.h" #include "nb_generic.h" -#include "nrnb.h" -#include "gmx_fatal.h" +#include -#include "nonbonded.h" -#include "nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" void gmx_nb_generic_kernel(t_nblist * nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_generic.h b/src/gromacs/gmxlib/nonbonded/nb_generic.h index 6f03caa8a3..65785f2bda 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_generic.h +++ b/src/gromacs/gmxlib/nonbonded/nb_generic.h @@ -3,7 +3,7 @@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2008, 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. @@ -38,9 +38,9 @@ #ifndef _nb_generic_h_ #define _nb_generic_h_ -#include "nb_kernel.h" -#include "types/simple.h" -#include "typedefs.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" void gmx_nb_generic_kernel(t_nblist * nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_generic_adress.c b/src/gromacs/gmxlib/nonbonded/nb_generic_adress.c index 10b687b020..4334a04c7a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_generic_adress.c +++ b/src/gromacs/gmxlib/nonbonded/nb_generic_adress.c @@ -34,22 +34,19 @@ * 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 -#endif +#include "gmxpre.h" -#include - -#include "types/simple.h" -#include "vec.h" -#include "typedefs.h" #include "nb_generic_adress.h" -#include "nrnb.h" -#include "gmx_fatal.h" +#include -#include "nonbonded.h" -#include "nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #define ALMOST_ZERO 1e-30 #define ALMOST_ONE 1-(1e-30) diff --git a/src/gromacs/gmxlib/nonbonded/nb_generic_adress.h b/src/gromacs/gmxlib/nonbonded/nb_generic_adress.h index 9c27f35bfe..fd838f2e63 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_generic_adress.h +++ b/src/gromacs/gmxlib/nonbonded/nb_generic_adress.h @@ -3,7 +3,7 @@ * * Copyright (c) 2009 Christoph Junghans, Brad Lambeth. * Copyright (c) 2011 Christoph Junghans, Sebastian Fritsch. - * Copyright (c) 2011,2012, by the GROMACS development team, led by + * Copyright (c) 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. @@ -38,9 +38,9 @@ #ifndef _nb_generic_adress_h_ #define _nb_generic_adress_h_ -#include "nb_kernel.h" -#include "types/simple.h" -#include "typedefs.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" void gmx_nb_generic_adress_kernel(t_nblist * nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_generic_cg.c b/src/gromacs/gmxlib/nonbonded/nb_generic_cg.c index 61198647ea..fe14f9586a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_generic_cg.c +++ b/src/gromacs/gmxlib/nonbonded/nb_generic_cg.c @@ -34,21 +34,19 @@ * 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 -#endif +#include "gmxpre.h" -#include - -#include "types/simple.h" -#include "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 + +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" void gmx_nb_generic_cg_kernel(t_nblist * nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_generic_cg.h b/src/gromacs/gmxlib/nonbonded/nb_generic_cg.h index 6dec55a30f..2ef87893d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_generic_cg.h +++ b/src/gromacs/gmxlib/nonbonded/nb_generic_cg.h @@ -3,7 +3,7 @@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2008, 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. @@ -38,10 +38,10 @@ #ifndef _nb_generic_cg_h_ #define _nb_generic_cg_h_ -#include "types/simple.h" -#include "typedefs.h" -#include "nb_kernel.h" -#include "nrnb.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" void gmx_nb_generic_cg_kernel(t_nblist * nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel.c b/src/gromacs/gmxlib/nonbonded/nb_kernel.c index b983e314c3..29b01659bc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel.c @@ -32,18 +32,16 @@ * 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 -#endif +#include "gmxpre.h" +#include "nb_kernel.h" #include #include -#include "nb_kernel.h" -#include "gromacs/utility/smalloc.h" #include "gromacs/utility/cstringutil.h" -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* Static data structures to find kernels */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel.h b/src/gromacs/gmxlib/nonbonded/nb_kernel.h index 7ba7ddd131..76f884aa86 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel.h @@ -1,7 +1,7 @@ /* * 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. @@ -35,11 +35,6 @@ #ifndef _nb_kernel_h_ #define _nb_kernel_h_ -#ifdef HAVE_CONFIG_H -#include -#endif - - #ifdef __cplusplus extern "C" { #endif @@ -48,8 +43,8 @@ extern "C" { #endif -#include "types/simple.h" -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" /* Structure to collect kernel data not available in forcerec or mdatoms structures. * This is only used inside the nonbonded module. diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/make_nb_kernel_adress_c.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/make_nb_kernel_adress_c.py index f76f24deff..5f5685b0d9 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/make_nb_kernel_adress_c.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/make_nb_kernel_adress_c.py @@ -2,7 +2,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2012,2013, by the GROMACS development team, led by +# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -454,8 +454,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -538,6 +537,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/nb_kernel_adress_template_c.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/nb_kernel_adress_template_c.pre index 1b8b0b1475..742a62020c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/nb_kernel_adress_template_c.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_adress_c/nb_kernel_adress_template_c.pre @@ -2,7 +2,7 @@ /* * 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. @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* #endif */ #define ALMOST_ZERO 1e-30 diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/kernelutil_x86_avx_128_fma_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/kernelutil_x86_avx_128_fma_double.h index f2b4a4e0fd..dba59bbf0e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/kernelutil_x86_avx_128_fma_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/kernelutil_x86_avx_128_fma_double.h @@ -36,6 +36,7 @@ #define _kernelutil_x86_avx_128_fma_double_h_ #include + #include #ifdef _MSC_VER # include @@ -43,6 +44,8 @@ # include #endif +#include "config.h" + #define gmx_mm_castsi128_pd _mm_castsi128_pd #define gmx_mm_extract_epi32 _mm_extract_epi32 diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/make_nb_kernel_avx_128_fma_double.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/make_nb_kernel_avx_128_fma_double.py index 7fafb5fc85..cbfc8269ab 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/make_nb_kernel_avx_128_fma_double.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/make_nb_kernel_avx_128_fma_double.py @@ -91,7 +91,7 @@ Arch = 'avx_128_fma_double' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_double.c index bf022067c6..5fd8ddd077 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_double.c index f698b34c4f..0cdebbb8e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_double.c index d2eb26cf93..7740f00337 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_double.c index 22c36051ba..91e7ac0a55 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_double.c index 8531689917..d07b478932 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_double.c index f3686bc72b..0c11fa03bf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_double.c index eb036d8d2f..ef30e51336 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_double.c index 5b93375537..5fe7141b33 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_double.c index b5c0aa95d1..c45eb9be9e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_double.c index 86b1d4dcb1..207023e749 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_double.c index d853c4943b..156baecf06 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_double.c index 95b08e36a0..879cdd0bff 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_double.c index 362adfe5b9..811aaec5dc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_double.c index e529ae361a..2b55b3e4df 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_double.c index 196ccdb980..bd38195b21 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_double.c index 61cb77b514..c9d420994c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_double.c index 5885a4e5bd..7948f810c7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_double.c index 6475f6fa33..c96aaceace 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_double.c index 1718384142..2976066636 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_double.c index 7c0815aebd..1a4be5a8d0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_double.c index 9d16d7c6f5..3ab7c849c7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_double.c index 5913aeed7e..d2bbb2af4a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_double.c index 26ad7e39c1..d50b68e3d7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_double.c index e1976eca49..c2552783c0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_double.c index bff7086d04..7ab8c806db 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_double.c index 822018c652..eeb43e2c6b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_double.c index dff9b6f2a6..65b60aaf07 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_double.c index ef55d239e7..9e387fed85 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_double.c index 5e3bf0be39..fb3ecd1b0c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_double.c index cfaada4b66..d2f3c89ab7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c index ed221ff747..8e34091ca3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_double.c index 081b7475d9..6ace8811f7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_double.c index 7250c93ea2..ca05e99446 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_double.c index b95e320ca5..8b0ffee8c0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_double.c index 112077ef38..43b9365120 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_double.c index b6aecfb318..6f654be9fe 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_double.c index 83318fbf0a..5cc7686666 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_double.c index a91e64d59e..cf359cad6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_double.c index 01a4a3051a..8c22555796 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_double.c index 95b8dbebf0..b10adb3289 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_double.c index b2f5e69ee9..ada3db8b9d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_double.c index 47b4f88784..ef9b9a5bff 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_double.c index 23e9c23251..ff65f3311b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_double.c index 4e4459f3c7..692f088472 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_double.c index 28360b4520..e9cccd58af 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_double.c index f30ebd6954..5f95c6ec48 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_double.c index 70c364afd2..d31e4a1897 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_double.c index f34fb96728..74fddbca1c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_double.c index 645a6e06c0..22ebd85848 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_double.c index 1782e8e47d..17f7c22570 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_double.c index ced7a6838d..027fa1ef84 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_double.c index b9d08db8ce..ff8a0eb720 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_double.c index bfe1fde402..b42f7fea6e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_double.c index 7d1049f0e0..73f4e2f282 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_double.c index 1a2993fbf0..ef154b5526 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_double.c index 87578cf700..d6b7b977d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_double.c index 01c3782b92..efc95ec1b7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_double.c index 8f34d4f732..48c4f2e6e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_double.c index 48e1c06b94..d7b9113436 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_double.c index b7c78af992..f919193521 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_double.c index 6cece91d20..cf325f6b1a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_double.c index f160968b92..6c78b95ffc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_double.c index c39382a2ce..d892f243ff 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_double.c index 6f482e0142..7f179460d3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_double.c index 27fe4f1353..691edfc1b2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_double.c index 26774a478a..f53389e1f8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_double.c index cd96fcadcc..8eb827787d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_double.c index dd6379b448..a52e4d6c6c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_double.c index dd4ef28fcd..de80c05756 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_double.c index 7c76786e0e..dbe93b91a5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_double.c index 19c228c954..db5a394d2a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_double.c index ab0958de6d..a44ac02588 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_double.c index e76ae0d121..c39bb48d04 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_double.c index 1d8d003ed3..d5917e896e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_double.c index 22279514b4..00d50f02fc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_double.c index 6a1230f05d..6e6dadb0f1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_double.c index 7500fd8fec..0826a6ab8c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_double.c index 2584c4efbe..e01aacad46 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_double.c index 7507b94471..75de92f978 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c index fd4c323f01..e311fa9ed7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_double.c index 804b0f4103..ade4a231bc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_double.c index 121474ad19..639e5cdfe3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_double.c index a033b9b39e..bf884759cc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_double.c index 8c1564e05f..1fd19a1710 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_double.c index f29e649ba5..cabbba9d5a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_double.c index f202a8d345..9e1d8d4176 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_double.c index 256d739c8b..7c9099999c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_double.c index b563d2ad01..92c650f233 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_double.c index c78c3925c8..1a500b9c64 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_double.c index c193c40950..ff15343cdd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_double.c index 75b1cbeb52..fa18eb779c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_double.c index 81532182c3..aef5a1b2a5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_double.c index e44b38bcd3..931b89e094 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_double.c index 22ece2860e..1ae1841a91 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_double.c index 25a342709b..87d4406806 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_double.c index 7d18c98d03..a2f3424e96 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_double.c index 9c5c32c065..7a38350382 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_double.c index ee62b01d9f..8b0706d726 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_double.c index b4e8bd36f1..0fa140296f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_double.c index 8400742fcf..363d0f9e6b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_double.c index 46aa8a7dbd..818c54f47c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_double.c index 6a7be3e614..69088fb7a6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_double.c index 538c5f518a..c93e3f2795 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_double.c index 9cd38b549b..c370951cb0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_double.c index 0b322c4b74..891980c7b9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_double.c index c1d31608b4..40fe5bf857 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_double.c index 0849d7d0c2..87cab43283 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_double.c index 7b46c68aad..654b1e6f6c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_double.c index 7863ea8fa9..461e8f06e4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_double.c index f60d0a0651..8acd6b51eb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_double.c index a1ae161c26..bc65e6baa1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_double.c index 5bf635fa4b..5652e4c406 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_double.c index 47e44d03ef..be1492610d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_double.c index e0ea14ce34..5cf6f4689f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_double.c index f7132eb8a7..0122487f3f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_double.c index f9c8e92cfb..23ba0fd188 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_double.c index 5332a35599..322dbfa7c2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_double.c index 9234c00319..b36857e622 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_double.c index d4aabaf553..09b3c28b3d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.c index 9ad88affd3..e12ba84a31 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_double kernel generator. */ -#ifndef nb_kernel_avx_128_fma_double_h -#define nb_kernel_avx_128_fma_double_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_avx_128_fma_double; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_avx_128_fma_double; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_avx_128_fma_double_size = sizeof(kernellist_avx_128_fma_double)/sizeof(kernellist_avx_128_fma_double[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.h index 14c3771d7e..e6f9e12486 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_avx_128_fma_double_h #define nb_kernel_avx_128_fma_double_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_template_avx_128_fma_double.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_template_avx_128_fma_double.pre index 55c229aa90..7a0248a1af 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_template_avx_128_fma_double.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_template_avx_128_fma_double.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_double.h" #include "kernelutil_x86_avx_128_fma_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/kernelutil_x86_avx_128_fma_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/kernelutil_x86_avx_128_fma_single.h index 319ad63efa..6aadac8d35 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/kernelutil_x86_avx_128_fma_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/kernelutil_x86_avx_128_fma_single.h @@ -35,8 +35,10 @@ #ifndef _kernelutil_x86_avx_128_fma_single_h_ #define _kernelutil_x86_avx_128_fma_single_h_ +#include "config.h" #include + #include #ifdef _MSC_VER # include diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/make_nb_kernel_avx_128_fma_single.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/make_nb_kernel_avx_128_fma_single.py index 7a3f21b02d..98f0806bc2 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/make_nb_kernel_avx_128_fma_single.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/make_nb_kernel_avx_128_fma_single.py @@ -91,7 +91,7 @@ Arch = 'avx_128_fma_single' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_single.c index 7936369a7e..8b6216d9c8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_single.c index 56b8e0317c..bbe1da7e9f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_single.c index 4577d81b1c..483b345c3d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_single.c index 727393eba3..552d75bd72 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_single.c index 2a3a5254d1..0b3c9f54ce 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_single.c index b734789b82..f554627afd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_single.c index b92dacc663..d49dcd023c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_single.c index 0909a3368e..2ad8d502ba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_single.c index e8dd492910..7d6ee07a7e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_single.c index df97c46a98..ad91a2d6f8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_single.c index bc1b5acbed..481f5744ec 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_single.c index d5f8c084b2..b14f2892cd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_single.c index e60b6f9333..b09aa6c131 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_single.c index c2fbc84f09..0c03c13716 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_single.c index cf026b56fc..ba2cab28e4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_single.c index 32a3fe5155..7b9b030e7e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_single.c index a1d246fbdf..8d51bef3e4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_single.c index 26160b863d..a2a3299df7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_single.c index 5551b67ada..0d686334c0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_single.c index fe7be790e0..d602db4b8f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_single.c index b67807906c..830a0d1a0a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_single.c index d93bb9ac18..84b89b139a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_single.c index 34d8fb7262..3685a8cdd2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_single.c index 7dc3fb10ae..cadf0c6447 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_single.c index 5c4778e81f..2837bd1d7b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_single.c index 9f4c3c72b3..3e23c240c4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_single.c index 180708d083..f69e0f3c61 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_single.c index 1f99542da4..392961db15 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_single.c index af140ef843..56855a918c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_single.c index 4aaec9eb0a..9a0e80a5d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c index b7c011a13c..a65334f53c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_single.c index c699fc19bd..064ed3ff0f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_single.c index aa85bb3985..0a7d3bd242 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_single.c index 15ceec75de..0e2f39afd1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_single.c index 078b9f7274..7b71e0bc4b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_single.c index 662d10e473..667f08d138 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_single.c index 5fe79d5b06..1e6826c7ec 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_single.c index 79519b9929..e3a739ed4b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_single.c index 4dc56e3304..b8054650a9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_single.c index a9ab486913..c3a6846251 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_single.c index 17de0d1a0a..0f15ddb4c4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_single.c index 9fc241cb2c..476b3dace6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_single.c index 32a2e0ac6a..6f70e14add 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_single.c index c5c777b8c4..ba95dd882c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_single.c index 19b02e04ef..693710d13b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_single.c index d0a39f9a98..986ee692c7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_single.c index 7e80412b62..f00a125a41 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_single.c index 083ef00bc7..5473f77f46 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_single.c index 869843187a..abe976535b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_single.c index 4f5472a651..5faa7f485b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_single.c index f9f7f030b1..68c116c115 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_single.c index a49cffdab1..c64162b099 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_single.c index b4352bac9a..e96a948e6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_single.c index b6b1d57594..b7ec8d125e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_single.c index 6c080d32e2..3b97803496 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_single.c index c2f6a4749e..772485c2d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_single.c index 6a149dacaf..e19e34e0e6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_single.c index 16c994799e..52cfa64686 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_single.c index ef6c0135ca..976f20922c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_single.c index 3fd1520632..ed0c2b7059 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_single.c index cd5354afe0..55c72515d0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_single.c index 8d217f6dc2..598e140086 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_single.c index 51438bf450..2dfbe40ab6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_single.c index 32025d735a..0f8d6d9de3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_single.c index 49c8dd6af1..c7aa543493 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_single.c index ffa3737cfe..6721e66463 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_single.c index 3f519a1d68..2674a6c280 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_single.c index 2fb099d2f3..f58339e5cc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_single.c index 4d80378132..f56814bd51 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_single.c index cb7fe1e2a9..0e977af0ad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_single.c index 78689851b5..04ab828708 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_single.c index 5473ec68ba..578e05fda7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_single.c index 0301a29bb1..4a1ea82dd7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_single.c index f44b00860c..999472b411 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_single.c index fddc966f58..2655ef08f1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_single.c index b189dd5db9..32a9a93669 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_single.c index 37d60b40d5..0a45953547 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_single.c index 5fb11907b2..21003ce9f1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_single.c index c40a1961b6..c37dcedad6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c index 013daecc96..88ec2a3081 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_single.c index f2f2674e10..dbfc3b7cbc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_128_fma_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_single.c index b71b05a7c8..2048e04d54 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_single.c index e3e216e167..13e9018f27 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_single.c index 3863582a74..4c58b3c6c2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_single.c index 94a018d582..af57b92ae7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_single.c index 21f1f24ec3..aab497f43b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_single.c index 8d566a3910..2f414688e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_single.c index 86673ebd91..1ef818256c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_single.c index 964f851f45..69ca5ba372 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_single.c index 5f7eae8718..31b1507e08 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_single.c index adad55ef83..dd4506306f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_single.c index 9f6890dcdf..b1b532ccca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_single.c index d0d8c317e8..07be7b5ac8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_single.c index f4f5739cc4..8efdbbc47d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_single.c index 10916f57e4..da988a250b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_single.c index b8e71a88b8..ec4380cc5e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_single.c index 56396bd3f7..c51bc2cfc5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_single.c index 8d4f5df832..dc6f4951bb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_single.c index 28f1ba9301..7b9f2246b6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_single.c index 6bbf310e96..1168f76f2f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_single.c index af6dd21bcd..4c7b4d8a25 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_single.c index d984e85576..ca01f6b63b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_single.c index eafc5604c6..04d289bb0a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_single.c index 693c9834aa..c4b51920b9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_single.c index 15735f48fb..55f329dedc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_single.c index b38e9d1909..a400981021 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_single.c index 65220a606c..25099d0919 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_single.c index 07792c61c2..8c552648e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_single.c index d05265d343..d1d3cdd3b8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_single.c index 634b8d71dc..9786c4e350 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_single.c index a0f7938233..2bccb2cfe7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_single.c index 5b2229037e..524df012b1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_single.c index 383f0b001e..0c22c15aa2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_single.c index f657b9ab9f..32c964fdf3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_single.c index 253d0433d5..8b1e6fce7e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_single.c index 59bb55e859..8286676768 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_single.c index 1ec202e3dd..b3ef05ac51 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_single.c index cb55c27b99..396e3f9a4d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_single.c index 5b99471998..e522fe370f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_128_fma_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.c index 9f19625365..9dfb2dcf53 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS avx_128_fma_single kernel generator. */ -#ifndef nb_kernel_avx_128_fma_single_h -#define nb_kernel_avx_128_fma_single_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_avx_128_fma_single; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_avx_128_fma_single; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_avx_128_fma_single_size = sizeof(kernellist_avx_128_fma_single)/sizeof(kernellist_avx_128_fma_single[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.h index 8c2387aa36..a96f66b81e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_avx_128_fma_single_h #define nb_kernel_avx_128_fma_single_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_template_avx_128_fma_single.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_template_avx_128_fma_single.pre index e2849dc754..a7bcfe03f9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_template_avx_128_fma_single.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_template_avx_128_fma_single.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_128_fma_single.h" #include "kernelutil_x86_avx_128_fma_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/kernelutil_x86_avx_256_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/kernelutil_x86_avx_256_double.h index e77e39c1d3..6e37231046 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/kernelutil_x86_avx_256_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/kernelutil_x86_avx_256_double.h @@ -35,6 +35,8 @@ #ifndef _kernelutil_x86_avx_256_double_h_ #define _kernelutil_x86_avx_256_double_h_ +#include "config.h" + #define gmx_mm_castsi128_ps(a) _mm_castsi128_ps(a) #define _GMX_MM_BLEND256D(b3, b2, b1, b0) (((b3) << 3) | ((b2) << 2) | ((b1) << 1) | ((b0))) diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/make_nb_kernel_avx_256_double.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/make_nb_kernel_avx_256_double.py index 0b0bce00dc..d529dcd019 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/make_nb_kernel_avx_256_double.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/make_nb_kernel_avx_256_double.py @@ -91,7 +91,7 @@ Arch = 'avx_256_double' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_double.c index 340aeb68e6..1812327ebe 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_double.c index de8ed6af08..92050af614 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_double.c index c25b6199a7..30d868cc4b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_double.c index 37be66d8f3..fa88af6497 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_double.c index c7fe531f73..bbfec367e2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_double.c index 711e1013a8..e41556c06a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_double.c index 65233ccfed..9347451094 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_double.c index 96fed27847..ce6a5fd171 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_double.c index 84d469dcc9..480c8dcf91 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_double.c index 1bab3887bc..639565bc49 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_double.c index 84604d3199..4437b10246 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_double.c index 1dc2ade34a..458889777b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_double.c index 6efa635230..92cbdc89ca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_double.c index f91fc46f41..245e0ac439 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_double.c index 5632ae3c1d..429bc22b04 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_double.c index 8e3906a52f..3eded00b2f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_double.c index 5be24bf676..830ca0e03d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_double.c index 5546082d08..13706abf11 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_double.c index 0d3edf4a63..2a07685a43 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_double.c index 416bb3e3c2..17ec0100cc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_double.c index 180008dc93..6781c3d171 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_double.c index 64b2edf6db..7716eedcc4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_double.c index 4778fca550..f7a2fc2edd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_double.c index 502051438d..c369db5699 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_double.c index 95834d17b0..cdce1df694 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_double.c index 00fca60439..1801ea297c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_double.c index aa3d3bb339..c0887358f0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_double.c index 875649df7b..7aba8b430e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_double.c index 116958b86d..0cc88adb49 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_double.c index 4b693b3b16..bada00a182 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_double.c index 61c224c30c..70aa6f87bb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_double.c index 6aeb9dd2d7..a32b1fa1bc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_double.c index 828fec1865..1e3120b9bc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_double.c index 2e555c7910..ea28c3af3d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_double.c index b5863435b3..6de7239747 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_double.c index 48b01e9694..1fa2e9b0de 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_double.c index 29aaf5c3bb..4e241cb085 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_double.c index ba499d8ac9..8e2762c5f4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_double.c index 9919bbb0f7..f61fa2ec44 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_double.c index fa7f0c6552..6b50b8dcee 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_double.c index e4a2c04c0a..511c467b1c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_double.c index 74a6d826f3..a705c686d4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_double.c index f753870cba..48835ce17a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_double.c index f1c783e3c1..61132e9b45 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_double.c index ab1a88f0e6..ee0847edb9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_double.c index d867fef16b..8ab7581bd6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_double.c index 0344952f48..db0daef6ce 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_double.c index 6c0c5d91a2..b628463209 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_double.c index aecd9d878e..594494635e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_double.c index 37f458c1f4..ae7192c471 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_double.c index 44751fb733..a7a270d82c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_double.c index 4d16e92ca1..b28d855ba5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_double.c index 9c933ef017..680196937d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_double.c index ffe2fca9ad..ef1524dc12 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_double.c index e1226ce7ad..cf4d5a8a09 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_double.c index c4ff14fc28..21ea776621 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_double.c index 39c125a19a..4673789472 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_double.c index 14dab8661d..eeb9e6e05e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_double.c index df2a149613..93f60cd4b1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_double.c index 15227870e2..e157f789f0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_double.c index 75c342198f..e24a762c1d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_double.c index 651be4ca2d..ab6a0615f3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_double.c index 7760286a4c..cf7c18fef4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_double.c index 294e597689..c4307c0d51 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_double.c index 3fe41bb7b8..ddf2d7d1bf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_double.c index a8dfcb7800..c0366e4983 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_double.c index ee451d705d..9d60874143 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_double.c index 1f66e97b84..e34f9e9f80 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_double.c index 58f65a4039..fd8b348974 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_double.c index 6ce6bf0c6d..40ab27febf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_double.c index d881351af1..81ba1104ec 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_double.c index 10fc60b32f..33613e64d6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_double.c index 78ca07f261..325bb89506 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_double.c index d6547d53f4..1a12aabd39 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_double.c index 8e5dfdbc4c..55036a6457 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_double.c index 118fcf0fa0..c7d3b2e228 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_double.c index 09d93dc9cf..0cec5a037e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_double.c index b384621186..b1b32ab6d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_double.c index 2709c6a2d5..3746403332 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_double.c index a07ba3dd51..aab22ad117 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_double.c index 9372123866..d709d7e429 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_double.c index 9086637bc2..dfce8c8ce3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_double.c index ee98ebd2d4..c5774657da 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_double.c index bb765da84c..a07db1ba1f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_double.c index 39ae14575d..c9ec83021c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_double.c index c8024d273f..f9b7a3f765 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_double.c index 7610b1cdf9..aa50ee59bd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_double.c index 2ab6ab4b4b..ade570405c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_double.c index dfcd6bf391..a584d2496e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_double.c index e2bda1b267..1fe2cca13b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_double.c index 84ec51fa01..8626adce70 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_double.c index 2d51d5943f..0159210009 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_double.c index 400c63c4ad..4e9615fb61 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_double.c index c172fe9b0b..a150ec3f66 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_double.c index 4eca4fe1de..62b0d7aaca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_double.c index bc014001de..32fb755723 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_double.c index aa69f8b8bf..9363d65a42 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_double.c index 1d13db7eb8..c12bfb6a23 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_double.c index 3f5365c459..28fc769f47 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_double.c index 73bca302e2..a67bcb2a32 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_double.c index 3a271fbf7c..e2352e94d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_double.c index 4a3649f3b2..36218579e6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_double.c index 0ca7e447d1..ffd29cbf03 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_double.c index 39f49cbc86..09358f1d85 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_double.c index aaeb6638a4..00a36f40f1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_double.c index 6e3e6d7e47..10da1f16d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_double.c index 1d25d6f4b5..7c9313ab81 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_double.c index b982a05498..fddf82b951 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_double.c index 7eb04311a5..fa0cbb4f22 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_double.c index 7ffccf4695..d5b743785f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_double.c index bdc230ae10..37c00564c8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_double.c index 45ab560a4c..7e3a85ba7c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_double.c index 2697f5cffa..c2a681c5dc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_double.c index ddd634ca11..47a90cc7cc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_double.c index 9fb428f761..3634f92e18 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_double.c index 9c4c73f4ee..a59799cb55 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_double.c index b903000660..ddcd71589a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_double.c index 07d3e83999..3aac60db19 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_double.c index 106ef8c8de..8c399d3d5b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.c index 94d6e3d1c9..b536da526a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS avx_256_double kernel generator. */ -#ifndef nb_kernel_avx_256_double_h -#define nb_kernel_avx_256_double_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_avx_256_double; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_avx_256_double; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_avx_256_double_size = sizeof(kernellist_avx_256_double)/sizeof(kernellist_avx_256_double[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.h index 308256944e..97a60c168e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_avx_256_double_h #define nb_kernel_avx_256_double_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_template_avx_256_double.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_template_avx_256_double.pre index fc0fb545f5..a620795367 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_template_avx_256_double.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_template_avx_256_double.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_double.h" #include "kernelutil_x86_avx_256_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/kernelutil_x86_avx_256_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/kernelutil_x86_avx_256_single.h index 171e1653ec..eacf202462 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/kernelutil_x86_avx_256_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/kernelutil_x86_avx_256_single.h @@ -35,6 +35,8 @@ #ifndef _kernelutil_x86_avx_256_single_h_ #define _kernelutil_x86_avx_256_single_h_ +#include "config.h" + #define gmx_mm_castsi128_ps(a) _mm_castsi128_ps(a) static gmx_inline __m256 gmx_simdcall diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/make_nb_kernel_avx_256_single.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/make_nb_kernel_avx_256_single.py index 7fbc8e565a..7a190dde8b 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/make_nb_kernel_avx_256_single.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/make_nb_kernel_avx_256_single.py @@ -91,7 +91,7 @@ Arch = 'avx_256_single' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_single.c index a31eda8097..3697ba2593 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_single.c index 6e13e32406..267200d42b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_single.c index 85b0b34323..6e8af0bbb3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_single.c index 571bd3b305..d4a3fcbfb8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_single.c index 8ffc459f5c..aa2d063de1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_single.c index bd02d38a6d..ff98ee27fb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_single.c index b3061c5a07..f0ff0f115d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_single.c index f58e48ae27..2cac31f4e4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_single.c index 90f8e86e11..35ad386cec 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_single.c index 0bbd2fed8e..36f1b9c55c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_single.c index 1acfb96283..74034d60b9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_single.c index d7c1c50033..cae9b3e9b7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_single.c index a8c810fac5..4bddba1277 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_single.c index a9b004b404..766833835b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_single.c index 6abe07efed..1ca0510033 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_single.c index 4139080c8d..17ead9e889 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_single.c index c89383bb4f..119899324d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_single.c index 4ab736cbe4..9454d34ed2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_single.c index 1e2b2750ea..eb0a65bb38 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_single.c index 724bfc6a80..d2ebaa8b6f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_single.c index 8e33b71472..e78a8983aa 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_single.c index e015d71523..c6591cb416 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_single.c index 58592a4b2e..fa395d7a33 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_single.c index a5142edd1d..f6ba31b1b5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_single.c index 74e8807fe4..1f585ffd24 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_single.c index 72a9e404a1..e9fd9ad538 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_single.c index 5e142007e8..66fa12dad8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_single.c index 886363fb6b..8c564f36b9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_single.c index 8549fda531..1b971d25e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_single.c index 8c37dff5f7..ec67f7ccbf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_single.c index 5eca689122..e9981e567b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_single.c index cd8a4e475a..6a699a5da8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_single.c index 6b8296b927..1d608b53ed 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_single.c index ae0dfd67d9..f7732fff19 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_single.c index 5da9a1da97..4cbc7aafdd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_single.c index a47b1e30c2..c15eb022a6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_single.c index f12a5936ac..e1cc7bdc19 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_single.c index 1a4dda9aa3..c05d3a87b4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_single.c index 20ccac0f86..e7b5ba6e10 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_single.c index 4a40b8e29b..0d7de90d42 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_single.c index ca5729cf5a..6856042f83 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_single.c index 031b114c85..f8c7dfb9be 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_single.c index 960eab1e4d..aa0dcc2718 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_single.c index f4e6b4f9a8..0bcd625f37 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_single.c index 5fece70989..645972b0c3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_single.c index fcb460ba8f..5fda5f1e3c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_single.c index 3bffc47b7a..6f61398cbf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_single.c index cad4bc8c9a..721cb3427f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_single.c index 438a83d304..e14334055d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_single.c index 933a9e0041..337d13d11a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_single.c index ad3021dc7c..ff65c00109 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_single.c index 934a63e443..6b95093c22 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_single.c index bc130f565c..93ed08a618 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_single.c index b7328ed515..398af45985 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_single.c index c967705b53..02d49c27a6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_single.c index 18e0d5c13d..b59af266b4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_single.c index a1e1a12c9b..18d171ee8e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_single.c index 7765dfcb67..2e531ba637 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_single.c index 1b71717bef..da31f53a6b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_single.c index 3e891d2b40..cdfbb0351f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_single.c index d98f635faa..68a3f3118b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_single.c index c75eec8929..382eccbea7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_single.c index 89b9ba67a2..22b4d3e25c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_single.c index 0e362a5e5c..8fe5bbbe7c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_single.c index 6eea3e82a5..ec92f02937 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_single.c index 9e111c58ab..9b26daa6cf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_single.c index c72d60fac4..0ccf2aac38 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_single.c index 25dd57bf72..7e40da1408 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_single.c index a9ce40a2ce..e896b0e0bb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_single.c index 5c96f9e525..6a31955d6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_single.c index aeb732b82b..eef02235fb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_single.c index 6be2e984ed..bca128b5c3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_single.c index 9c9c361d24..9fddcddcbe 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_single.c index e1a50a93ae..11d94712bf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_single.c index 6757200d36..b8f165f095 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_single.c index 846ec020ab..eb5adf87ba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_single.c index 839a2fe7a8..7b86ad971c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_single.c index 05568fa271..bd6af602f6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_single.c index 42fd0f4c52..6acac1d656 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_single.c index 2f49769097..14b58412e0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_single.c index 465393ac2e..850b87efd7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_avx_256_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_single.c index 2a799a92ab..56c998ce75 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_single.c index 4dae0d8591..2703377a90 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_single.c index e90999a54e..b23ec8e84a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_single.c index d6c3d6802b..ea89d0d649 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_single.c index 783a23e44c..c72a83e7ce 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_single.c index 4821b27034..b41f83a032 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_single.c index a8ac42a539..4c16ded714 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_single.c index 438e38fb22..857448c94f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_single.c index 7055594fe1..b0a67b7115 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_single.c index 122eb43bd8..acb345097b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_single.c index 0709eca87e..0f96a3f180 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_single.c index 8c2073d185..f49aae4c68 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_single.c index d274860cb2..b6ee4e0870 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_single.c index bba56c9125..b4155eeb9f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_single.c index 391c66e035..205bf8e151 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_single.c index bec0c9281f..8288d2ce66 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_single.c index c02b483d73..18f71907d0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_single.c index 812961b457..693a9ab699 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_single.c index 66609cad15..4a67327ca1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_single.c index 77789306e5..7b3b3db98f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_single.c index 06226933cb..b7a5ffa162 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_single.c index 6d26141a39..31e890b59c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_single.c index 9cc53dc324..9a04c7ba4e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_single.c index be29237f7c..15f169e9d2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_single.c index 60f5e40e51..0ec8412bbc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_single.c index 95a2616b38..8cc22f7184 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_single.c index ed2118b7a4..5ed047b939 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_single.c index 45fb543596..3345287da2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_single.c index 26127febae..48616c125b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_single.c index 9bef5e60e8..5338f49007 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_single.c index 2ac9309257..c72295c867 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_single.c index 6b7fe1cfef..efab21cd87 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_single.c index 714e5ef5c3..918553f954 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_single.c index b70518f004..fdecafa0c0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_single.c index 6eeefa77d0..42ede680ce 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_single.c index d3e9fa1d65..0e3b8dcd75 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_single.c index 58e2262036..b6c646e6c9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_single.c index 14ea9d2f5c..fd089922cc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_avx_256_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.c index e94a4d3e33..0215594956 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS avx_256_single kernel generator. */ -#ifndef nb_kernel_avx_256_single_h -#define nb_kernel_avx_256_single_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_avx_256_single; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_avx_256_single; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_avx_256_single_size = sizeof(kernellist_avx_256_single)/sizeof(kernellist_avx_256_single[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.h index 35c2c3b514..bcbb42de55 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_avx_256_single_h #define nb_kernel_avx_256_single_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_template_avx_256_single.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_template_avx_256_single.pre index 77e9227ff7..e81e342bfd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_template_avx_256_single.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_template_avx_256_single.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_avx_256_single.h" #include "kernelutil_x86_avx_256_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/make_nb_kernel_c.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/make_nb_kernel_c.py index 295fc899e6..a2cef9459b 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/make_nb_kernel_c.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/make_nb_kernel_c.py @@ -91,7 +91,7 @@ Arch = 'c' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomP1P1_c.c index 9499f7b909..95476dd3f9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwBham_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3P1_c.c index 16049aaba0..893ae9dca2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwBham_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3W3_c.c index 9643d02e7c..b3c253a879 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwBham_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4P1_c.c index 21e0473139..69c04dac51 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwBham_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4W4_c.c index 611e1ab72a..0157aa88d5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwBham_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwBham_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_c.c index ffb2e9d545..bf97ec9fb6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_c.c index 3ef92fa8a0..89ef3a6c6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_c.c index 6120917f4a..c312d87647 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_c.c index aadc01b321..a61d74e6aa 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_c.c index 552622f761..94f31352fc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_c.c index 0f97c88875..26141cee63 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_c.c index f941569b7b..5d79745a7f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_c.c index 647dc047ef..9379eeb7e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_c.c index d6153965b4..d010e3241e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_c.c index 497c65af54..fae967bf0b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_c.c index 5e7fd84548..32caed0798 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_c.c index 164375706f..f5854a9532 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwNone_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_c.c index 43528767e3..3175f25012 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwNone_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_c.c index 535202dda0..7f8b8d3610 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwNone_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_c.c index 2b5c5273bc..e99ddffe27 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCSTab_VdwNone_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomP1P1_c.c index 8c28c2a5b0..b91ee73148 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwBham_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3P1_c.c index 81d07fd3e0..d56c1000e6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwBham_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3W3_c.c index 0ac84d551e..59204ff3b5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwBham_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4P1_c.c index 4ae2afd820..5716c6e70d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwBham_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4W4_c.c index 4f4391506a..22bb33baeb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwBham_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwBham_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_c.c index daef047aad..63dc686b56 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_c.c index 2d8484b34c..f485121eb3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_c.c index 888d80183f..e140fd389d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_c.c index d7dd3828e5..76955fc554 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_c.c index d295037cb2..33545b56c8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_c.c index 5af7862a7b..41a0d7761c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwLJ_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_c.c index fd8a6e3d7c..0f026188bb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwLJ_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_c.c index 0ad9809245..3f433bd35a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwLJ_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_c.c index 2ce4c23303..95e1eb0631 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwLJ_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_c.c index f438ecc51e..2df3aa1982 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwLJ_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomP1P1_c.c index d415dd2632..a65ffa8a18 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3P1_c.c index 4766c6163f..3cd3cc0ddf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwNone_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3W3_c.c index a4ab212217..e263a08c26 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwNone_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4P1_c.c index 0596650da0..319215d549 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwNone_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4W4_c.c index 9cf41ba992..5914dde65d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecCoul_VdwNone_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecCoul_VdwNone_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomP1P1_c.c index 75a403b800..c7f4a41b65 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwBhamSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3P1_c.c index 12e6050503..7d97974b59 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwBhamSh_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3W3_c.c index 94879f3e67..6026812bd5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwBhamSh_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4P1_c.c index 303a70d716..136f785b01 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwBhamSh_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4W4_c.c index 90605ff92c..fc257b402f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwBhamSh_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwBhamSh_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_c.c index 9c5f5fe56e..2e5c2a7fe0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_c.c index 51665bfd15..1841006652 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_c.c index 2836f459cb..8a60c3415c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_c.c index 82c747db15..943f062bac 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_c.c index 708501b214..eb4b45a327 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_c.c index ce69cd0190..72806de29e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_c.c index 2e8b3aaf73..062bd64f5b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_c.c index 57547d680d..2bc1042272 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_c.c index fa0bdf052e..36f2f7c6a7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_c.c index c2f405e926..37c6abe43f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_c.c index 04ae1748f7..33df24126a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_c.c index 9ca1308997..2163846c91 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwNone_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_c.c index 9afd15c2d7..4316eaa2eb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwNone_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_c.c index c04134dbc0..72fc8e46e2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwNone_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_c.c index 3739571181..5a67ba2cfd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSh_VdwNone_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomP1P1_c.c index 319baf3732..2ca78589dd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwBhamSw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3P1_c.c index ff57f3de70..91e8960a6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwBhamSw_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3W3_c.c index c95279616a..9c16597123 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwBhamSw_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1_c.c index 3bfe9f1dbf..5ac405e7f2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4W4_c.c index 714dfefb48..e77bed7e36 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwBhamSw_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_c.c index 85258cd5ed..24a50eedf6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_c.c index 6ed0b5f876..48acef108d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_c.c index ede5d428d8..47437e00d3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_c.c index 17f33838b8..13b1cec003 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_c.c index 9a5cd89df2..04b130ddc4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_c.c index 48ad7002d8..ae6f467a8e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_c.c index 3510cfa436..4988f9f55d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwNone_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_c.c index f0c751f991..f90f14899b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwNone_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_c.c index 0dd4cabb16..c60f6085f1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwNone_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_c.c index 6aa6ec2451..2c82631c00 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEwSw_VdwNone_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomP1P1_c.c index 47fb0a5d5c..13fa6a2f6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwBham_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3P1_c.c index 8f11e01c2c..f2b37d8863 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwBham_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3W3_c.c index 2b3eb9ca9b..ec2293034e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwBham_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4P1_c.c index b7cf47a3d0..835b834519 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwBham_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4W4_c.c index efbd269875..903c632436 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwBham_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwBham_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_c.c index 5ade320448..e74a9e97cb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwCSTab_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_c.c index be89b58d93..bce64af9be 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwCSTab_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_c.c index a77cda6613..9335b57bc8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwCSTab_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_c.c index 186716613f..ce303f1a52 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwCSTab_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_c.c index 718599c1ef..7aee8dc36c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwCSTab_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_c.c index 4c5bad57b3..3487ee46f5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJEw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_c.c index 130bd6600f..53c497ac7d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJEw_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_c.c index 30301f6152..b3ce840f30 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJEw_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_c.c index 7baa0a449a..86c2fb138e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJEw_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_c.c index 064da2180a..b1b710aef4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJEw_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomP1P1_c.c index 8270304174..c9fc24aa12 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJ_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3P1_c.c index 3f703901c0..6b3dcc0597 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJ_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3W3_c.c index 840728df34..e246c5cc78 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJ_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4P1_c.c index 3a35f917b0..0350aa8b49 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJ_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4W4_c.c index f5433aea9e..d45a0e0cd2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwLJ_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwLJ_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomP1P1_c.c index b425227f06..3a35105f41 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3P1_c.c index 89af6a13d4..41d1664dfe 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwNone_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3W3_c.c index d27d346f64..70b1e1983f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwNone_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4P1_c.c index 816859955c..27478026ba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwNone_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4W4_c.c index 24e2961dbf..b6c9169404 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecEw_VdwNone_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecEw_VdwNone_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwBham_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwBham_GeomP1P1_c.c index 6bab95c560..c7a3218abf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwBham_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwBham_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecGB_VdwBham_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_c.c index 5c7bb04d1c..92057a12de 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecGB_VdwCSTab_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwLJ_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwLJ_GeomP1P1_c.c index 97d2a1be84..666feda856 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwLJ_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwLJ_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecGB_VdwLJ_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwNone_GeomP1P1_c.c index 551d564e0d..ff5d750495 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecGB_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecGB_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSh_GeomP1P1_c.c index b5e99f9b41..ac83597a4f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSh_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwBhamSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSw_GeomP1P1_c.c index 80967c46ab..e1ddc0fbc8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBhamSw_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwBhamSw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBham_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBham_GeomP1P1_c.c index 009ebe8ca7..13e5862b15 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBham_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwBham_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwBham_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_c.c index 1d03727aaf..a9ab4fd819 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwCSTab_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_c.c index 74542ccc70..6bb5e1d39b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_c.c index 7f7a2b02a7..b7ae5dca87 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_c.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_c.c index 7056b556f0..ca9cf97186 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwLJSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_c.c index 07dfcce3f0..3b35ed8536 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwLJSw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJ_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJ_GeomP1P1_c.c index 14c5d6d9f0..47680500e0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJ_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecNone_VdwLJ_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecNone_VdwLJ_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomP1P1_c.c index 842e8baacd..a6335f733c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3P1_c.c index c693d9309d..9d210e6bf3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSh_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3W3_c.c index 843a8d3ca5..fca64e2964 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSh_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4P1_c.c index 271047aa9c..3eefd31617 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSh_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4W4_c.c index 8831cd85dc..f09c2a33ad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSh_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSh_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomP1P1_c.c index 82bd29097b..420a8da856 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3P1_c.c index 5d6f8d6513..8d99adce80 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSw_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3W3_c.c index 2dea8e3799..b2ee15a031 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSw_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4P1_c.c index 02f9bd7770..3407b41fd9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSw_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4W4_c.c index dbee526fc5..6d27764c3f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwBhamSw_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwBhamSw_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_c.c index 8f95fc6a8d..524079959d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_c.c index e43ced64e0..ccec3d5ba0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_c.c index 02c0f21827..61c2dba318 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_c.c index e9a78c293c..24397afa4d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_c.c index 9accce27c1..5bab0d21ff 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_c.c index a3d90f693c..b76347d1ee 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_c.c index 7234e1d990..68a35521d7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_c.c index 078e9ef31f..fa9ed7f408 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_c.c index 6920e83ce3..b3f092011f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_c.c index 0c9582a0cf..065c56aee0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_c.c index d45c33277c..e16de79d58 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_c.c index e05f35aa84..75357a083e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_c.c index 8e4a05c6ff..265fd21a7f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_c.c index 17fb675e61..d7d4eb7703 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_c.c index 4976f6046c..541e158164 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_c.c index 7af523a16e..324252d81c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_c.c index 7abbf0f2dd..4ab05b53d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwNone_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_c.c index 1e736fd0b6..24fc750c8a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwNone_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_c.c index 7e1128099f..fce42f82f7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwNone_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_c.c index 341009cb53..6105c0ca40 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRFCut_VdwNone_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomP1P1_c.c index 61761deaed..e78dc90895 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwBham_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3P1_c.c index 5c01354759..24e09b6d3d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwBham_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3W3_c.c index c4918b296d..58810ed7b0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwBham_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4P1_c.c index 7c4e089d00..4327622c09 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwBham_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4W4_c.c index f2b41551a5..95530e1e9f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwBham_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwBham_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_c.c index cab95e5474..f95eb64213 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwCSTab_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_c.c index 9a7d67bfa0..e7faeb574e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwCSTab_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_c.c index c720402b2a..1cc983deed 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwCSTab_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_c.c index 173954ebe4..8ce7546c19 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwCSTab_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_c.c index 760a1aac0c..59095117d5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwCSTab_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomP1P1_c.c index a41d67c4c7..b35c88b792 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwLJ_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3P1_c.c index 3b10002918..603164110a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwLJ_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3W3_c.c index 1f3f1092c4..1177a1ecab 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwLJ_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4P1_c.c index fa7354954f..3cc87f2739 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwLJ_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4W4_c.c index 4cb59bd36c..c2c96ce756 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwLJ_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwLJ_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomP1P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomP1P1_c.c index b4c38aea72..57179ed20b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomP1P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomP1P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwNone_GeomP1P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3P1_c.c index bf2900ab51..556646b40b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwNone_GeomW3P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3W3_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3W3_c.c index a28215607a..af70ba1a0b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3W3_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW3W3_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwNone_GeomW3W3_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4P1_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4P1_c.c index 366d43943d..5a84f8c2b7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4P1_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4P1_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwNone_GeomW4P1_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4W4_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4W4_c.c index d034ea769b..52d8e6a885 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4W4_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_ElecRF_VdwNone_GeomW4W4_c.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* * Gromacs nonbonded kernel: nb_kernel_ElecRF_VdwNone_GeomW4W4_VF_c diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.c index 6eae301709..92335ff0c0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.c @@ -34,19 +34,18 @@ * 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 -#endif +#include "gmxpre.h" -#include +#include "nb_kernel_allvsall.h" -#include "types/simple.h" +#include "config.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" +#include -#include "nb_kernel_allvsall.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/smalloc.h" typedef struct { diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.h index 048c7feb11..62b60ca939 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.h @@ -1,7 +1,7 @@ /* * 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. @@ -35,13 +35,11 @@ #ifndef _NB_KERNEL_ALLVSALL_H #define _NB_KERNEL_ALLVSALL_H -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" -#include "types/simple.h" -#include "typedefs.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" void nb_kernel_allvsall(t_nblist * nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.c index 532702ebb8..be401ee7bc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.c @@ -34,19 +34,18 @@ * 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 -#endif +#include "gmxpre.h" -#include +#include "nb_kernel_allvsallgb.h" -#include "types/simple.h" +#include "config.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" +#include -#include "nb_kernel_allvsallgb.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/smalloc.h" typedef struct { diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.h index fd5d2968b8..318b103008 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.h @@ -1,7 +1,7 @@ /* * 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. @@ -35,13 +35,11 @@ #ifndef _NB_KERNEL_ALLVSALLGB_H #define _NB_KERNEL_ALLVSALLGB_H -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" -#include "types/simple.h" -#include "typedefs.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" void nb_kernel_allvsallgb(t_nblist * nlist, diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.c index dab6b617a0..ca9b753a79 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS c kernel generator. */ -#ifndef nb_kernel_c_h -#define nb_kernel_c_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_c; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_c; @@ -701,5 +700,3 @@ nb_kernel_info_t int kernellist_c_size = sizeof(kernellist_c)/sizeof(kernellist_c[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.h index 32640c7d44..e524079cd6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.h @@ -1,7 +1,7 @@ /* * 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. @@ -35,7 +35,7 @@ #ifndef nb_kernel_c_h #define nb_kernel_c_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_template_c.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_template_c.pre index b59399eb04..47836de969 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_template_c.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_template_c.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" /* #endif */ /* ## List of variables set by the generating script: */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py index 6a567035f6..d1b1ba034d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 205f843c31..3c8b96e7ba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index c9fb58eb31..310216adb6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index ea7372eb3a..e75545b19f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index 1800d4f87d..f1f9b8f2af 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index a5d53caee4..e636578026 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index c0d830ba08..fe3259d227 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index 9b6cbc85ca..31d53447dc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index 1bf2bd9377..d418a8a074 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index fced48c222..cb81142c88 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index 81de44cb37..828d306d14 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 45a7a3d612..fc9b969382 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 740347dce8..eb44c5d549 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 4e6dcc9e60..77c10b735e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 5656188c48..924cc2b757 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index e09c491bdf..94bec0b486 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 1666f42b73..111f202a7e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index cc730d2aa3..e69261ef63 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index 0e69e22578..7b70741ef9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index 2a71b9706b..48d2976c68 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index c94c2b04b9..0aabab14a3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 50b56ae841..42d8daba03 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index 5a8564f0ee..fa424c4e4a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index dd10c3e3f0..6db09d2164 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index e440c725b9..2beed1988a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index 862e419e7e..5b465030cb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 6d57949df3..464605bf08 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 803ba0a507..bcf4eea35b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 56663adae4..9ad2ee3b4f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 6478d04887..681da4c523 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 88707e1bcf..2db36131cd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c index eb524e19a7..652086ce89 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c index c5582d564e..046fb5655c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c index 99421c554d..e3760142fd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c index b05d570ca4..d8e80bef43 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c index 770162ee60..5dabbd9a30 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c index e8bd4876ec..35be03c0ec 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c index 09cf8d502c..5590857dc8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c index 47df9cbac5..8329ecb662 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c index 26a7b50fae..662c009814 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c index 17f2a514e5..17a4bba9bf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 4a58ad5a72..80422bec6b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index bee9461a4a..0b74781b15 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index cfbe1589ed..2b55794f84 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 6690b7fbc5..42585716a1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index a55e623769..ecc042a93e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c index ab8a4f9523..02c75bbaf5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c index ddccfe10d8..86534b4b33 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c index 5a6cdc0ec6..59afe496e6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c index c55d849689..e0e9c06088 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c index 510daeb28c..c88ce13e18 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 8c16d5c483..c97585adc0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 9283d2d660..0140bbcf50 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 6ad2a8c4e1..f2ecede525 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 84de5c02fa..34fe2a3714 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 8870abe114..24fc1a0ff9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 1d38e53cc6..dfdcbe424b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index 9f992bf220..a5df390d68 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index b03397a3bd..39c769a470 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index f8add6c515..0cb4333284 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index 4264fc94a4..61cb2912d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c index 81821a1166..a4e5a84365 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c index 38a986a4bf..02c004d797 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c index 1d33ef6baa..34304fc32d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c index 01312e6352..d15a704666 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c index 52a678aaa6..379f2e6504 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 4802d316a9..be7bb6e578 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index f6819e234c..6673a44eb2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index faf9ce53b2..2bc7583c01 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index 380a4a454a..5189a947bf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index 71460f1288..4244fdee39 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 731c3c43ab..21bf192cd7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 71ec483f9c..30fb395ac2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 6b941f48eb..fbe123ec50 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 30168ae29e..155a200228 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 64dc2b4aef..62c99cf8d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index d5f3346b02..141f61f824 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 2e3e255fbf..b9c8f05375 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 22836d5df9..84b37d2bd9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 6d1d4705f7..8547907a36 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c index f778570900..c096e05f1b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c index 1b354f3543..6c52337bce 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c index e7e5b27696..638ef0abb5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c index 3efb862dac..515cac9eba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 2b3f34e4ae..b62a36499e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index c42edbd966..e436715676 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index 018952c156..c7fa1728ea 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index e4896d9bc1..38314a5e37 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index 82381b12a1..495a32a634 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index a76f0003de..552dedd8a7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c index 00e2e4d8bc..95c1bf4946 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c index 7bd46a3159..83148ea866 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c index c2fa121e3e..b8d25867b2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c index b56a73d8e5..1b908815ef 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c index 5dffdcd13a..e4e8ba52b2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c index eb84028588..55b463e8e7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c index 2219811420..680a0df90e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c index c42d446699..565215b1b4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c index 8f0dbea164..ded5f63a03 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c index 59230a7af8..3b2c311863 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index d59adf4b9a..0aac09cdbf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 96e951e47f..022cb3335e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 67b60b5fee..e4baf4cf91 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 305551f2d2..fcfe02cc63 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 94ecbfd7f8..59d91c053d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 15436673e2..0b70695a78 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index b0f5066e98..4e13180e65 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index 5af27df8a8..39fa7d1982 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index 7b2c2b7abd..ad8da6d537 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index 9757139ce5..5eb7b89618 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 4588517f7d..24b01bae5f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index 295f5be73f..00fcc3d713 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index 5dcaa42185..87a4a22d04 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index 93df321d6c..7df06226d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index 7156eb3000..e6b7ee77c8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 65dcd12145..b896d64294 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 4f7ed2cf06..0479c74ff0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 36f9117e94..cbae5f02b5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index f7ddba907c..1ac2bd8322 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 3b3c9c17db..b89b6eafcf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.c index 5055ed655c..bd2e022fe8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS sparc64_hpc_ace_double kernel generator. */ -#ifndef nb_kernel_sparc64_hpc_ace_double_h -#define nb_kernel_sparc64_hpc_ace_double_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_sparc64_hpc_ace_double; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_sparc64_hpc_ace_double; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_sparc64_hpc_ace_double_size = sizeof(kernellist_sparc64_hpc_ace_double)/sizeof(kernellist_sparc64_hpc_ace_double[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.h index 67ace2f0e7..a18c885757 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_sparc64_hpc_ace_double_h #define nb_kernel_sparc64_hpc_ace_double_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre index 422e6a20a3..2fe3d39492 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "gromacs/legacyheaders/vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" /* #endif */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/kernelutil_x86_sse2_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/kernelutil_x86_sse2_double.h index 35c2f1e9a9..4885d6df1a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/kernelutil_x86_sse2_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/kernelutil_x86_sse2_double.h @@ -35,9 +35,9 @@ #ifndef _kernelutil_x86_sse2_double_h_ #define _kernelutil_x86_sse2_double_h_ -#include - +#include "config.h" +#include #include diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/make_nb_kernel_sse2_double.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/make_nb_kernel_sse2_double.py index cbe9ab78d0..661ade730b 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/make_nb_kernel_sse2_double.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/make_nb_kernel_sse2_double.py @@ -91,7 +91,7 @@ Arch = 'sse2_double' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_double.c index 8812dbb18f..63a2604c58 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_double.c index c4604ff1ac..f7f093aba5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_double.c index 9060d4332f..de4611e6fb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_double.c index 518aa69f58..fa4d616f68 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_double.c index 14a8fed7b8..3997922505 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_double.c index 46a5a5dca5..d3a9f7a104 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_double.c index 0810dced56..7f9dca6ac2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_double.c index ef6a63ef9d..b25c39117c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_double.c index c33d96bc6a..4f1be0faa7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_double.c index db5fae621a..62b0772c5f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_double.c index 674ce0af3b..6b791863fe 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_double.c index ca74086c09..79fdfab184 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_double.c index e6e86fce2d..b9cdf0beb6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_double.c index 2a912db4dd..36fbbbb831 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_double.c index 9842b3da93..6911f50868 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_double.c index 7ed18dc6c2..4eba9275a8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_double.c index 62f3caf4ef..0723259f6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_double.c index 9ca81f960c..d632a13bf9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_double.c index 7ada0d0df5..80c450dbb4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_double.c index 752c5e8eb6..6e1da3c192 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_double.c index fe1f2fafd2..d9cdefa143 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_double.c index aa57a7322f..991f25a230 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_double.c index 02d110f516..5fc9db2ba5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_double.c index 423c3ee39b..e6918101bf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_double.c index 457fcfd409..9e2423c18f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_double.c index eda2975ed3..ba462de670 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_double.c index e76d6333cf..5ee6294710 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_double.c index c6e46d9b08..430faf18c1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_double.c index 9eefcd3cc0..95b3a82ceb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_double.c index 27016b8096..5f0f02190f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_double.c index fb8b0baada..183d693824 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_double.c index f156207c8a..c3c86fc614 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_double.c index 437ae4c6de..edb0cd7690 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_double.c index e8b09745c4..9c13e466e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_double.c index a468859a5c..ecacdd118d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_double.c index dfd1df2b01..42e6eeca2f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_double.c index 6c51e1c94a..4b1eaaa273 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_double.c index 607e82f009..7b450945eb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_double.c index a78d4c61fe..6646e46451 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_double.c index 7ebb37f721..66f86fbfeb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_double.c index b05b026adb..a3666e28fb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_double.c index 21ca776880..e9b0d4eac0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_double.c index 9504e11283..a28206aa3d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_double.c index 0494150c7e..3dd418e0ad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_double.c index cfa8f4006a..585487eb10 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_double.c index c2a89e1f94..0d789f78be 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_double.c index e081e211c7..32c76d549f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_double.c index f61fcc38db..5a81b6b110 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_double.c index 914b77ab03..a3b867c6cf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_double.c index c7040fd843..3e5a7c6477 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_double.c index 4969a4a242..c8515d13b8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_double.c index 0fba7a1ccf..aa02641a70 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_double.c index 99408aba46..340a6e869d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_double.c index 601cb2e9e4..26f7c30af6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_double.c index d2da77794e..0523eaa159 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_double.c index 431a57bf4f..8c970cf420 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_double.c index 698aa03506..f3ccb22e27 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_double.c index aa695c79df..8bb40100d3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_double.c index 68e85aa367..b16cf86ce7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_double.c index 2850954b31..2ebd6b3d28 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_double.c index 2f7caa6be1..e70cd1d455 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_double.c index d49d69e3de..b25868bbbf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_double.c index 79c9f96df6..b2d37db580 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_double.c index be827df344..13f189a801 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_double.c index fae7c28911..388a53c2af 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_double.c index c096180cf7..36f85f1a80 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_double.c index 68f1f9d7d2..5471507e14 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_double.c index daa666ce4c..22f757253f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_double.c index db19156659..168564c0e1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_double.c index 70d7c287b1..94be8c4c94 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_double.c index 75ef13cca3..58e425b7f4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_double.c index 5f37b0a5d0..34f3ed2c15 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_double.c index 1289d9d972..001ba67966 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_double.c index ae1a0f7e6e..03779c266c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_double.c index 47ef9a1e79..bdecac3550 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_double.c index 9a2b797587..c58ef6c5d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_double.c index 54c5ef2f9e..83589e20f9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_double.c index 222313e4a7..22fa08bb28 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_double.c index 27e5c525f0..761b35d876 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_double.c index df89eddff3..237ad5e4f0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_double.c index 1719de5164..852a3f3012 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_double.c index d1142948cc..6d000c9d0c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_double.c index 9888e8087f..654c8085bc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_double.c index 6e8d1bc702..1dde2c73ba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_double.c index 6d3a35019e..4698a0b755 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_double.c index 562c79fc43..e05d98f14a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_double.c index 33705c8cdb..988052fece 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_double.c index 32c90b2950..817d907830 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_double.c index 1ff8586e86..d34af153fe 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_double.c index 91b0201e1e..bfc332ef97 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_double.c index 85f3041766..d6fa3d72e5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_double.c index 810625993b..a0e2e952d0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_double.c index e370f0564e..4a76c9a12f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_double.c index 54424803d0..6613880653 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_double.c index efca2149d0..836540639d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_double.c index 71222b0aff..52a7477859 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_double.c index eb3aebadad..1fac8647f8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_double.c index 251486d765..7e54372475 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_double.c index 8d08235351..b339c3774e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_double.c index f1acafed8f..a50084b4bd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_double.c index c0883d976d..0fffbed363 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_double.c index 1a5e4682bf..c64afcaab0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_double.c index 382467dce2..1152b6be2e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_double.c index 580376252c..a7b2d8ac71 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_double.c index 696d541e98..e2acda3db4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_double.c index 534f260ce3..5f1385ac29 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_double.c index e092b553dc..5d878fdc4f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_double.c index 80f282b9da..2cbd1dd78e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_double.c index e8a739d97b..4d905a284b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_double.c index 4710f11b85..7fc34aaebd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_double.c index 464e690925..ba1030630c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_double.c index dbf0fea073..7c405a7d5c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_double.c index 8f9d31ee3b..36d145d8d4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_double.c index e8cefe8a8d..0be6f86c8c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_double.c index 9f0091bc12..190d78d854 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_double.c index eeb517bf13..3ddfa25b2e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_double.c index 37d656078f..43709697e6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_double.c index dd1b9608f4..3b88c1b4d4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_double.c index 19e8a07516..7d81423714 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.c index b997aea7ed..ce36e1c56d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS sse2_double kernel generator. */ -#ifndef nb_kernel_sse2_double_h -#define nb_kernel_sse2_double_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_sse2_double; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_sse2_double; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_sse2_double_size = sizeof(kernellist_sse2_double)/sizeof(kernellist_sse2_double[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.h index 1720d436fc..3d45667bd2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_sse2_double_h #define nb_kernel_sse2_double_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_template_sse2_double.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_template_sse2_double.pre index 955b06d748..da75ea30cc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_template_sse2_double.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_template_sse2_double.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_double.h" #include "kernelutil_x86_sse2_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/kernelutil_x86_sse2_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/kernelutil_x86_sse2_single.h index 820a37031a..3356a780c1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/kernelutil_x86_sse2_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/kernelutil_x86_sse2_single.h @@ -37,6 +37,8 @@ /* We require SSE2 now! */ +#include "config.h" + #include #define gmx_mm_castsi128_ps _mm_castsi128_ps diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/make_nb_kernel_sse2_single.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/make_nb_kernel_sse2_single.py index a323ea6901..e398e3c7ec 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/make_nb_kernel_sse2_single.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/make_nb_kernel_sse2_single.py @@ -91,7 +91,7 @@ Arch = 'sse2_single' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_single.c index 853206e224..944968a0ad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_single.c index b149aa2fa4..b69fb42a99 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_single.c index 5d32452902..f4109e7b52 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_single.c index b1f235427c..fca9e0aca5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_single.c index 12dfa40c1b..d9182b5023 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_single.c index bf2fdde1a1..6b8e6694b5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_single.c index a954a738fe..7cada150ef 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_single.c index 786fe7d97b..6048064eb7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_single.c index c049711823..f92df505d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_single.c index 5e496064cc..5fb31193a5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_single.c index 25c99b4144..a51ce74203 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_single.c index 47d0b6c7b7..e56aba56a3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_single.c index 32b6d8f9de..feff2fc604 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_single.c index f899aa0001..bce8e04dca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_single.c index 21327db303..bec922ca11 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_single.c index 5e2ef2430c..3372771529 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_single.c index 78f743c034..b8fab59079 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_single.c index 3d74ff63a8..751a7d5413 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_single.c index d0686bf46e..bf153478a8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_single.c index d30e9ee57e..f74316e422 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_single.c index b6e78dab0b..939d7cc889 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_single.c index 9cb9e56c79..f1b29dee54 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_single.c index 28f093be42..f9e44170f5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_single.c index 8a45cbe104..3525cc6f35 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_single.c index 20af76d96a..24e086ff26 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_single.c index f9be33ad09..3a591e67d1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_single.c index 404eaede4c..5c3955fe60 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_single.c index 7931f62221..c0133adf4e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_single.c index 047fb9bdec..a274a6359c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_single.c index b7035c4bfe..ceeeb5cba9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_single.c index c57c217d2e..eb5d22c512 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_single.c index 47bf7403e4..879ce0d511 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_single.c index 238c93da8b..eb02d47fa4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_single.c index ae898fbea0..a3b178926e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_single.c index 2bb109c610..13e3bee65c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_single.c index 89302e686a..5ed743adc6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_single.c index 8286e490db..1e494f4b31 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_single.c index 02f6dc6103..929d502a45 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_single.c index d97553b603..fb04ee1bfb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_single.c index 5a90b63c14..b3d0172dd7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_single.c index e372eb0b0b..47375a6824 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_single.c index 7f81f331c7..11b79ec64b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_single.c index 4bf397d644..eb33806fe7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_single.c index 521fb75880..82766940b1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_single.c index 67140cad9a..4bcb1380f6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_single.c index 9cc5a8dc16..c935859b4c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_single.c index 8000a51d0f..ef354cc6ac 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_single.c index 5fdd54de15..d7b9a7a17d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_single.c index 9c8238521e..b0a63e6db7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_single.c index 4e4aab3dc7..c63d7720f4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_single.c index 25f30ba465..555cd4a539 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_single.c index ffc3c2548f..139b8e7c7f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_single.c index 9b800e8263..d7e5020c38 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_single.c index 010ec545de..2dcc45e448 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_single.c index 191b040aaf..379442cc74 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_single.c index bfa897a7e0..3998cbfd3b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_single.c index 1d185854a6..0660012f97 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_single.c index a69f4f295f..1de10558d2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_single.c index 14849c317e..98321a47f2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_single.c index 91e0f8711b..9efdacb650 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_single.c index 999d9b042e..1a077a7156 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_single.c index b01cd4c5de..eb8c17a18e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_single.c index 5427e5dd41..aaded0432a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_single.c index 4a933460f8..35fa010837 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_single.c index bd4a52194f..b142f4124d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_single.c index 72d1955ee3..181a6ccc91 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_single.c index e9bbca794c..104939ec04 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_single.c index 8b5cfaff03..ec72a5baff 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_single.c index bcd18da360..a9cdeea360 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_single.c index e78d38eebd..d15b26af78 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_single.c index d567138f0c..923a5b917a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_single.c index 083aefee08..ec91199223 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_single.c index e4c4e08cc3..d7644a4ea6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_single.c index cd301e9c5c..63fde3c0ea 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_single.c index 6b01187f32..ea2d9975d5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_single.c index 0717da1773..10042fda8f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_single.c index 3130ba44e2..d732129dca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_single.c index 451f96a511..79724c1ef3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_single.c index 3c80b4e2c5..b95d697418 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_single.c index a6c2c6e7c3..836bfeca69 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_single.c index f2b7f698a1..923346a829 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse2_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_single.c index 956e883125..58f43d74ab 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_single.c index 9b1c31f7d0..3311659b28 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_single.c index 7aa5c6afac..665837010c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_single.c index fe3f10de29..640629db5e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_single.c index 33cd05b198..75efe61710 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_single.c index 1e46beb6e1..9a11ef53f3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_single.c index d2214aae85..50196ee77e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_single.c index f4d5549fa6..d738201f61 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_single.c index 466b808ca3..a096c464fd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_single.c index 0c18418edd..acd708d528 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_single.c index c2e86560f5..febb58aa12 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_single.c index 9e61af8102..bb4663ac92 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_single.c index a3e3b4cc9a..96f0deec5b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_single.c index b063a244c4..3324e6e95b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_single.c index 07e22ad09d..3988b53be8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_single.c index 7af182f100..0bebdc8d65 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_single.c index 2ed4fb7881..d70c420ded 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_single.c index 91c7efaa43..85912be6cc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_single.c index 180806d27b..c47f10ff2f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_single.c index 8dd087a7f4..307063b082 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_single.c index f36e788e0b..5b30b0b1d7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_single.c index d18752f4bf..b44941d137 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_single.c index 5d85e946bf..f4c5985c3d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_single.c index 39b37aee6d..121699b128 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_single.c index 06fa5e62da..6829f4f561 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_single.c index fcc35f9a71..86801bc1d6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_single.c index a9e5dad425..7db65db9df 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_single.c index c8f2f1f79a..0eb5f98a9f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_single.c index 7c4af96763..b9528802c9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_single.c index 830fec7c71..b6180869cf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_single.c index dabe5ac417..cd52143eff 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_single.c index 5956e258ff..adad370a92 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_single.c index 03ddc09b7e..bd472c5e3e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_single.c index 2bd86b5bf0..690771e068 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_single.c index 4faaa04749..784f627abe 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_single.c index ca604e40bc..38d449d60a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_single.c index 263f1238ed..eb35a819dd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_single.c index dd3720089a..ac7153fbb3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse2_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.c index 546d1c87bc..3bff2be8b3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS sse2_single kernel generator. */ -#ifndef nb_kernel_sse2_single_h -#define nb_kernel_sse2_single_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_sse2_single; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_sse2_single; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_sse2_single_size = sizeof(kernellist_sse2_single)/sizeof(kernellist_sse2_single[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.h index 331870820c..82b0ca887b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_sse2_single_h #define nb_kernel_sse2_single_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_template_sse2_single.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_template_sse2_single.pre index 6f7f1b3746..d6c90187a4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_template_sse2_single.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_template_sse2_single.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse2_single.h" #include "kernelutil_x86_sse2_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/kernelutil_x86_sse4_1_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/kernelutil_x86_sse4_1_double.h index ccbb62750f..449fe3666e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/kernelutil_x86_sse4_1_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/kernelutil_x86_sse4_1_double.h @@ -35,8 +35,9 @@ #ifndef _kernelutil_x86_sse4_1_double_h_ #define _kernelutil_x86_sse4_1_double_h_ -#include +#include "config.h" +#include #include #define gmx_mm_extract_epi32(x, imm) _mm_extract_epi32((x), (imm)) diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/make_nb_kernel_sse4_1_double.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/make_nb_kernel_sse4_1_double.py index e21524a9ff..21d8185246 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/make_nb_kernel_sse4_1_double.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/make_nb_kernel_sse4_1_double.py @@ -91,7 +91,7 @@ Arch = 'sse4_1_double' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_double.c index fda6370b64..d5082e3690 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_double.c index a8a9e26dac..8e67c2568b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_double.c index 8313e952ad..df651699f7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_double.c index a255bbf293..f6763438b6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_double.c index 4f9ab91c8c..554acbea8d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_double.c index b04fa0ff4c..d87a47ab9e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_double.c index 49e61fb996..f322f37b9e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_double.c index c58caf11f0..f974ebf581 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_double.c index bf18f815fb..ee500cdd8d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_double.c index a59611c51d..fc2b427c28 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_double.c index 0e9d40a732..806d0ed5d5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_double.c index 87090da789..b38f1a374d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_double.c index 3e3204b427..29ac20de5c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_double.c index 0bb5f44459..f5bc6d3946 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_double.c index 45a4e2523d..99b30f4e16 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_double.c index dacd64d9ef..ccee20148d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_double.c index 82efcff86d..ae05ac1c2d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_double.c index ad4867d0e9..fd5a8a8866 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_double.c index e962313380..385b45c31a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_double.c index 322d2baf26..6cd3892216 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_double.c index f412487749..f55b556f35 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_double.c index a641ec2d02..79f3ffa0cb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_double.c index 70827217a2..87232c18d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_double.c index 13a9bc6c7f..662925f185 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_double.c index b52a4624e7..2630c85cac 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_double.c index d76b1f08bf..4c21e1d192 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_double.c index 5fb922f20b..736cfc0dd8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_double.c index bda6401f04..ce93b70270 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_double.c index e9b0aec44a..38004be885 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_double.c index de03eeb756..5c2ddb39c7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_double.c index dd87bac2ab..92ab88e871 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_double.c index ef037e43db..a51df1a66b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_double.c index 631758fcfe..4e4ecc86ae 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_double.c index bf3dc0eb49..8c20eef2f2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_double.c index cc8a50a9de..8f8b43d3a6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_double.c index a6464d6412..48bf43175e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_double.c index a194b53626..0431849f45 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_double.c index 3143ae9a3a..e58d875fde 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_double.c index cdce932aa5..db66778da2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_double.c index 760fb1b7e3..e4e29cb398 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_double.c index f59c181c0c..36e4aff5e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_double.c index 31c91c6164..5adf2f62ed 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_double.c index 34176bcf0e..78ad836241 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_double.c index af96896e80..aaf06d532f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_double.c index deb7c926a7..1c1340c0f8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_double.c index 5f5d67fc68..7208380d21 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_double.c index f0434fac76..9dc8782c41 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_double.c index e180367e98..4974b8ff0a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_double.c index 4a54ed85cb..a3af3e19d5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_double.c index b2ee59cbee..30136172a1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_double.c index 8129d23377..ce3df76b1b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_double.c index 75f1bbaaf9..1da494b522 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_double.c index df0e9635c6..2bcfcd95cf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_double.c index 608cc809ba..80b4c0a4b1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_double.c index ec382b412d..042d9c870d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_double.c index ca48ca5787..f0e1f03d0e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_double.c index f1a75923d1..f877772ed2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_double.c index 5ffd304773..9136ae2f2f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_double.c index 0c995eb6fa..ebef2a29d5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_double.c index 3d7c067fc8..1d6303767d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_double.c index 47c0ea64d0..87f5ba40f2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_double.c index dfc589b424..cc39f25821 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_double.c index 8e3d2140b8..95005506ab 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_double.c index 0ca4887c74..26bd9e3e3b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_double.c index a08a138286..3fee5c3f94 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_double.c index ca5d7eece1..7d6fdecaca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_double.c index 5cd1ce8d05..62481eafc8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_double.c index 3cfcee40c3..2a32c2ba3b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_double.c index 90776521fd..60946b3769 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_double.c index 79250959c5..129cc8f5ba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_double.c index 26c0aaa209..3b7d9b969a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_double.c index e111e60cd7..ff60956e7f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_double.c index d3f5e05824..aacb4d14c9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_double.c index 36217ae9dd..33dd117fd9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_double.c index 3b5c2e79ff..3939909702 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_double.c index 2716bcedf2..32cc891e28 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_double.c index 5ec61fb7cb..22b76eb384 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_double.c index 72685887f1..ad340a4d50 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_double.c index 053a05c317..891cb053a9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_double.c index cb104de388..44ce23f612 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_double.c index d536496afa..6ee522c237 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_double.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_double.c index c53a93f68c..f4858f9f7f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_double.c index 44742f1220..21b2eb7e1f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_double.c index d7023fd33a..aec4a84830 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_double.c index 0b93847e88..215b9ec357 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_double.c index 7ac6e0dfad..5c854bd661 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_double.c index 0fa9ce94b5..8cafa21553 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_double.c index 239991cf5c..9b413fe68c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_double.c index 7aeb8dcf53..a555931a28 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_double.c index 08bf8b37cb..20af2723d7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_double.c index d349dbcd90..733e317ef4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_double.c index ec2cd4d461..6c255ca524 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_double.c index b93a124589..08ef5a5866 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_double.c index 643aed1e9d..71e757dd0f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_double.c index 617ca31edb..320f53ef14 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_double.c index 59f6c93c02..3a7fb48728 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_double.c index 2b4ec8e28b..7e67092a16 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_double.c index bf7513ac61..c017e078e9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_double.c index 474e757525..23a0f28031 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_double.c index cf5e4fd1e8..85140ccfcc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_double.c index b3f25d9d2e..4426bb9375 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_double.c index 8b0a6dd93b..4e59d60578 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_double.c index 4a4d75ef49..7fa1c5bf4e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_double.c index be8860d142..7d44421dad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_double.c index 276776e004..08fbaf536e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_double.c index 9b9152eee9..c072f9ef5c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_double.c index e8b17350e2..a4ffb0ee87 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_double.c index 25038631fa..8b5e748a66 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_double.c index 12882917da..c37481c7f5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_double.c index bf5000880f..8d0600eaca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_double.c index 60004363ce..be462c91b6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_double.c index 7e8ac3c540..d06413122d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_double.c index a607175033..440c7e4fba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_double.c index 2a0bde3aff..9c68223e15 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_double.c index 7f96966076..5802eeb6a9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_double.c index 50b9124cae..591f6ff192 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_double.c index 6229414620..e9c617ca51 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_double.c index f9a3cfda2d..949decb794 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_double.c index eb28094a97..7b4156fb81 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.c index 56d5b777fc..2a7f2fc9f7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS sse4_1_double kernel generator. */ -#ifndef nb_kernel_sse4_1_double_h -#define nb_kernel_sse4_1_double_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_sse4_1_double; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_sse4_1_double; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_sse4_1_double_size = sizeof(kernellist_sse4_1_double)/sizeof(kernellist_sse4_1_double[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.h index 49113b2ab6..4137318841 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_sse4_1_double_h #define nb_kernel_sse4_1_double_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_template_sse4_1_double.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_template_sse4_1_double.pre index c313e80fed..70671c7a61 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_template_sse4_1_double.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_template_sse4_1_double.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_double.h" #include "kernelutil_x86_sse4_1_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/kernelutil_x86_sse4_1_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/kernelutil_x86_sse4_1_single.h index 45f2a7b5f2..7028cef224 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/kernelutil_x86_sse4_1_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/kernelutil_x86_sse4_1_single.h @@ -35,6 +35,8 @@ #ifndef _kernelutil_x86_sse4_1_single_h_ #define _kernelutil_x86_sse4_1_single_h_ +#include "config.h" + #include #undef gmx_restrict diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/make_nb_kernel_sse4_1_single.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/make_nb_kernel_sse4_1_single.py index 450d40e9f8..a376f9c237 100755 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/make_nb_kernel_sse4_1_single.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/make_nb_kernel_sse4_1_single.py @@ -91,7 +91,7 @@ Arch = 'sse4_1_single' # '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. */ @@ -428,8 +428,7 @@ numKernels = 0 fpdecl = open('nb_kernel_' + Arch + '.c','w') fpdecl.write( FileHeader ) -fpdecl.write( '#ifndef nb_kernel_' + Arch + '_h\n' ) -fpdecl.write( '#define nb_kernel_' + Arch + '_h\n\n' ) +fpdecl.write( '#include "gmxpre.h"\n\n' ) fpdecl.write( '#include "../nb_kernel.h"\n\n' ) for KernelElec in ElectrostaticsList: @@ -512,6 +511,5 @@ for decl in kerneldecl[0:-1]: fpdecl.write( kerneldecl[-1] + '\n' ) fpdecl.write( '};\n\n' ) fpdecl.write( 'int\n' ) -fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n\n') -fpdecl.write( '#endif\n') +fpdecl.write( ' kernellist_'+Arch+'_size = sizeof(kernellist_'+Arch+')/sizeof(kernellist_'+Arch+'[0]);\n') fpdecl.close() diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_single.c index 0dde894006..43765245bd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_single.c index 9f05188548..b8e72a607e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_single.c index 50b4b59710..b2e6ccde64 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_single.c index 5f135877fe..e07f8fcba8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_single.c index 08114a675f..ce7eb9f3ad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_single.c index f62a1ea167..6cc9759e42 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_single.c index d5b89f9efe..6400ff6bc2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_single.c index 3b0f1465aa..aa399e7104 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_single.c index 34e25c2a4f..8ad52029ce 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_single.c index 995467b6a2..9f3b5d7b20 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_single.c index 015bbf03eb..2ee9b98a3f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_single.c index d5d81656a5..cc047944de 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_single.c index 769c16b42e..2b86508706 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_single.c index 2786360113..3ffda8d358 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_single.c index ba96babbf5..f85dfcb91c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_single.c index d8c401dc51..5e2ae641c1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_single.c index d37127e7fe..a90fd1e0d3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_single.c index cce787ac64..a247f55e12 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_single.c index cfa9c23cc3..d6d0f12b5e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_single.c index 7fbfd65bff..8b28dc20f3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_single.c index b947708b59..b1f0d5aa60 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_single.c index a2882b798f..6034d6537f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_single.c index 385ae34ed6..f5722d0fea 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_single.c index c9035c010d..04997ef4d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_single.c index 5f8b4b6ad5..db8b18bfd7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_single.c index ca8227218a..74dc97d9da 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_single.c index b49dc64faa..41427b7266 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_single.c index dbf099afe6..ccc1b2a87c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_single.c index d423577635..0f7044f547 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_single.c index 329319b26d..ef9734ff0c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_single.c index 8e94d9c143..24d2053360 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_single.c index 0aaae2811a..e463cc6901 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_single.c index 31ed9d2dcf..dfb43c5a67 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_single.c index 74230d5c86..3221f6515a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_single.c index 15806e7f6a..12b30a2048 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_single.c index 801879aba9..0c6d97b53c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_single.c index ac1f8e4927..de65927f91 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_single.c index 1d6fb501a4..4ff84568ad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_single.c index a37706ccf0..e1c15f338a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_single.c index a9ab3eb4db..5287d17b7c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_single.c index 0e3e1c0568..0fadfe61d0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_single.c index b1b4be7255..fcff5a021d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_single.c index b7ff2dbe40..945094263e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_single.c index d2a5248769..fec8538685 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_single.c index 8f998843a9..4e4c898705 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_single.c index c88b7ece24..153f2b464e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_single.c index 744845b606..7bd4946425 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_single.c index 866d10ec17..f35fac4be1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_single.c index 5c16ed677d..813563ff3d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_single.c index 02be6a2d11..715ba61813 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_single.c index 784e401238..2bb60ec499 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_single.c index 3ffa38a33e..18e77c8f0d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_single.c index b94c40468b..20985718c1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_single.c index ecc4fa986d..e721b74a52 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_single.c index c095e1f523..7e1bb0501e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_single.c index d48932a960..b50f08da8d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_single.c index 469cb62ada..1ff9d9ecba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_single.c index 4c721af444..33ab639938 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_single.c index f2553a88bf..5785d3e9dc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_single.c index 66ae09b204..11e5baeb95 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_single.c index 8aff4f14ce..a826217890 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_single.c index 7f718d372b..45ec13c2ad 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_single.c index 1d9b2b386d..bc43a5c590 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_single.c index c160cde1df..8ef3ba8ff1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_single.c index 8ba0d492c2..76feb5f4d3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_single.c index 17715797e9..8908bcbbeb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_single.c index e7358692f3..6a7d818e66 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_single.c index 0b711d1812..4d2a3285f9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_single.c index 9d3bf4bbda..730983f728 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_single.c index 126227ec07..d98e86cbe0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_single.c index 09b2c8a189..efc3398f80 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_single.c index 1080c7293b..172cfc0321 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_single.c index 5792169ef2..965229819e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_single.c index 72aed21c73..55e4dd3d89 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_single.c index 484b96077f..eddf312fc7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_single.c index e1d94c6e3d..9874ad9f37 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_single.c index e561c4030c..9ca39e2379 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_single.c index 6728516156..c59b96e831 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_single.c index b8e6ed800d..c7966d162a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_single.c index 5fea300170..e08da92bcb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_single.c index 43f1be9b13..0eb8240113 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sse4_1_single.c @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_single.c index 399a19a394..e6e3d62048 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_single.c index d9679e6edf..79ae8ae687 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_single.c index 2eb4848df2..f817b106ce 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_single.c index 1afebfa039..b22eeaa5f9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_single.c index c2cc9e790e..6bd167aeb8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_single.c index f2279e4635..ee8d0db230 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_single.c index 2b69fbdc05..d8412ae8a0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_single.c index 209e44ba34..03f57d3fc8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_single.c index 5691ea3e90..d461b8fe6d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_single.c index da4566ac2b..cf2aa83797 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_single.c index bc8e2cd684..70427d9a6c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_single.c index d13e71f27d..b03544fb23 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_single.c index 826a2f7af3..1b3fae491f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_single.c index fdd483a74b..c13d51e018 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_single.c index 1da9228cbc..ec6752defb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_single.c index 4766c85485..108e9a6db6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_single.c index c1fed33908..d1650146ca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_single.c index b074dbbf26..3ee4362aa1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_single.c index 6a48bd4057..73ca6d784f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_single.c index bb2af8fa65..c058a2416d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_single.c index bb5881f784..9f0a7da559 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_single.c index 36b90fc188..ea92b80ef7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_single.c index be4854fdb5..f7d36faf8c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_single.c index d1c8726f04..3cf7e6f05d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_single.c index d420c1bbbe..74a95ef306 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_single.c index 5291a56ecf..2d476057ba 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_single.c index c39998025b..b280db2beb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_single.c index 6797d52fc8..fb494e0299 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_single.c index 5f9bf92fc2..99cf0847bb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_single.c index b423463176..ade73613a3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_single.c index 4e196decd5..1a82b3244a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_single.c index d1618c5506..a693a9670f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_single.c index 8fd701195e..d53c11fb4d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_single.c index 31b42d4e67..69eff6bd67 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_single.c index ec8d44bd68..d8f13947f9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_single.c index 8b45d77ddd..54bcbc6f80 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_single.c index 9d629b5e09..48abc0115b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_single.c index 232ec1debe..15b9c682f0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_single.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,16 +35,16 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.c index 811107d564..79546e1b1b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.c @@ -35,10 +35,9 @@ /* * Note: this file was generated by the GROMACS sse4_1_single kernel generator. */ -#ifndef nb_kernel_sse4_1_single_h -#define nb_kernel_sse4_1_single_h +#include "gmxpre.h" -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_sse4_1_single; nb_kernel_t nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_sse4_1_single; @@ -525,5 +524,3 @@ nb_kernel_info_t int kernellist_sse4_1_single_size = sizeof(kernellist_sse4_1_single)/sizeof(kernellist_sse4_1_single[0]); - -#endif diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.h index c70ec17440..22160f86a2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef nb_kernel_sse4_1_single_h #define nb_kernel_sse4_1_single_h -#include "../nb_kernel.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" /* List of kernels for this architecture with metadata about them */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_template_sse4_1_single.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_template_sse4_1_single.pre index 669739d531..b055fa9a6f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_template_sse4_1_single.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_template_sse4_1_single.pre @@ -36,16 +36,16 @@ #error This file must be processed with the Gromacs pre-preprocessor /* #endif */ /* #if INCLUDE_HEADER */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "config.h" #include #include "../nb_kernel.h" -#include "types/simple.h" -#include "vec.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/legacyheaders/nrnb.h" #include "gromacs/simd/math_x86_sse4_1_single.h" #include "kernelutil_x86_sse4_1_single.h" diff --git a/src/gromacs/gmxlib/nonbonded/nonbonded.c b/src/gromacs/gmxlib/nonbonded/nonbonded.c index ab68c47db0..c21e3201b2 100644 --- a/src/gromacs/gmxlib/nonbonded/nonbonded.c +++ b/src/gromacs/gmxlib/nonbonded/nonbonded.c @@ -34,70 +34,69 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/nonbonded.h" + +#include "config.h" #include #include #include "thread_mpi/threads.h" -#include "typedefs.h" -#include "txtdump.h" -#include "gromacs/utility/smalloc.h" -#include "ns.h" -#include "vec.h" +#include "gromacs/gmxlib/nonbonded/nb_free_energy.h" +#include "gromacs/gmxlib/nonbonded/nb_generic.h" +#include "gromacs/gmxlib/nonbonded/nb_generic_adress.h" +#include "gromacs/gmxlib/nonbonded/nb_generic_cg.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/listed-forces/bonded.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/math/vec.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/mshift.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/simd/simd.h" - -#include "nb_kernel.h" -#include "nb_free_energy.h" -#include "nb_generic.h" -#include "nb_generic_cg.h" -#include "nb_generic_adress.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* Different default (c) and SIMD instructions interaction-specific kernels */ -#include "nb_kernel_c/nb_kernel_c.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_c.h" #if (defined GMX_SIMD_X86_SSE2) && !(defined GMX_DOUBLE) -# include "nb_kernel_sse2_single/nb_kernel_sse2_single.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/nb_kernel_sse2_single.h" #endif #if (defined GMX_SIMD_X86_SSE4_1) && !(defined GMX_DOUBLE) -# include "nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/nb_kernel_sse4_1_single.h" #endif #if (defined GMX_SIMD_X86_AVX_128_FMA) && !(defined GMX_DOUBLE) -# include "nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.h" #endif #if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER) && !(defined GMX_DOUBLE) -# include "nb_kernel_avx_256_single/nb_kernel_avx_256_single.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/nb_kernel_avx_256_single.h" #endif #if (defined GMX_SIMD_X86_SSE2 && defined GMX_DOUBLE) -# include "nb_kernel_sse2_double/nb_kernel_sse2_double.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/nb_kernel_sse2_double.h" #endif #if (defined GMX_SIMD_X86_SSE4_1 && defined GMX_DOUBLE) -# include "nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.h" #endif #if (defined GMX_SIMD_X86_AVX_128_FMA && defined GMX_DOUBLE) -# include "nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.h" #endif #if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER && defined GMX_DOUBLE) -# include "nb_kernel_avx_256_double/nb_kernel_avx_256_double.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_avx_256_double.h" #endif #if (defined GMX_SIMD_SPARC64_HPC_ACE && defined GMX_DOUBLE) -# include "nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.h" +# include "gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_sparc64_hpc_ace_double.h" #endif @@ -396,7 +395,7 @@ void do_nonbonded(t_forcerec *fr, nlist = nblists->nlist_sr; f = f_shortrange; } - else if (range == 1) + else { /* Long-range */ if (!(flags & GMX_NONBONDED_DO_LR)) @@ -657,6 +656,8 @@ do_nonbonded_listed(int ftype, int nbonds, if (r2 >= fr->tab14.r*fr->tab14.r) { + /* This check isn't race free. But it doesn't matter because if a race occurs the only + * disadvantage is that the warning is printed twice */ if (warned_rlimit == FALSE) { nb_listed_warning_rlimit(x, ai, aj, global_atom_index, sqrt(r2), fr->tab14.r); diff --git a/src/gromacs/gmxlib/nrnb.c b/src/gromacs/gmxlib/nrnb.c index 4df2fb9f79..f77bd43a80 100644 --- a/src/gromacs/gmxlib/nrnb.c +++ b/src/gromacs/gmxlib/nrnb.c @@ -34,17 +34,16 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/nrnb.h" +#include #include -#include "types/commrec.h" -#include "sysstuff.h" -#include "names.h" -#include "macros.h" -#include "nrnb.h" -#include "main.h" + +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/utility/smalloc.h" typedef struct { diff --git a/src/gromacs/gmxlib/oenv.cpp b/src/gromacs/gmxlib/oenv.cpp index 01eda5251e..89201b8064 100644 --- a/src/gromacs/gmxlib/oenv.cpp +++ b/src/gromacs/gmxlib/oenv.cpp @@ -34,12 +34,13 @@ * 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 "oenv.h" +#include "gmxpre.h" -#include "gromacs/utility/smalloc.h" +#include "gromacs/legacyheaders/oenv.h" -#include "gromacs/utility/programcontext.h" #include "gromacs/utility/exceptions.h" +#include "gromacs/utility/programcontext.h" +#include "gromacs/utility/smalloc.h" struct output_env { @@ -50,7 +51,6 @@ struct output_env view = FALSE; xvg_format = exvgNONE; verbosity = 0; - debug_level = 0; } const gmx::ProgramContextInterface &programContext; @@ -63,8 +63,6 @@ struct output_env xvg_format_t xvg_format; /* The level of verbosity for this program */ int verbosity; - /* the debug level */ - int debug_level; }; /* The source code in this file should be thread-safe. @@ -95,7 +93,7 @@ static const char *time_units_xvgr[] = { void output_env_init(output_env_t *oenvp, const gmx::ProgramContextInterface &context, time_unit_t tmu, gmx_bool view, xvg_format_t xvg_format, - int verbosity, int debug_level) + int verbosity) { try { @@ -105,7 +103,6 @@ void output_env_init(output_env_t *oenvp, oenv->view = view; oenv->xvg_format = xvg_format; oenv->verbosity = verbosity; - oenv->debug_level = debug_level; } GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; } @@ -131,11 +128,6 @@ int output_env_get_verbosity(const output_env_t oenv) return oenv->verbosity; } -int output_env_get_debug_level(const output_env_t oenv) -{ - return oenv->debug_level; -} - const char *output_env_get_time_unit(const output_env_t oenv) { return time_units_str[oenv->time_unit]; @@ -202,42 +194,21 @@ xvg_format_t output_env_get_xvg_format(const output_env_t oenv) return oenv->xvg_format; } -const char *output_env_get_program_name(const output_env_t oenv) -{ - const char *programName = NULL; - - try - { - programName = oenv->programContext.fullBinaryPath(); - } - GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; - - return programName; -} - -const char *output_env_get_short_program_name(const output_env_t oenv) +const char *output_env_get_program_display_name(const output_env_t oenv) { - const char *programName = NULL; + const char *displayName = NULL; try { - // TODO: Use the display name once it doesn't break anything. - programName = oenv->programContext.programName(); + displayName = oenv->programContext.displayName(); } GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; - return programName; + return displayName; } -const char *output_env_get_cmd_line(const output_env_t oenv) +const gmx::ProgramContextInterface & +output_env_get_program_context(const output_env_t oenv) { - const char *commandLine = NULL; - - try - { - commandLine = oenv->programContext.commandLine(); - } - GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; - - return commandLine; + return oenv->programContext; } diff --git a/src/gromacs/gmxlib/orires.c b/src/gromacs/gmxlib/orires.c index 0b1b2e113e..1d15a6a4cc 100644 --- a/src/gromacs/gmxlib/orires.c +++ b/src/gromacs/gmxlib/orires.c @@ -34,24 +34,24 @@ * 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 -#endif +#include "gmxpre.h" -#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/legacyheaders/orires.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/main.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.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/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" void init_orires(FILE *fplog, const gmx_mtop_t *mtop, rvec xref[], diff --git a/src/gromacs/gmxlib/rbin.c b/src/gromacs/gmxlib/rbin.c index 35435d6632..754c648cb2 100644 --- a/src/gromacs/gmxlib/rbin.c +++ b/src/gromacs/gmxlib/rbin.c @@ -35,14 +35,12 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/rbin.h" -#include "typedefs.h" -#include "main.h" -#include "network.h" -#include "rbin.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/utility/smalloc.h" t_bin *mk_bin(void) diff --git a/src/gromacs/gmxlib/readinp.c b/src/gromacs/gmxlib/readinp.c index e7cef773ed..10a2c7cc36 100644 --- a/src/gromacs/gmxlib/readinp.c +++ b/src/gromacs/gmxlib/readinp.c @@ -34,22 +34,22 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/readinp.h" #include #include -#include "typedefs.h" + +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/warninp.h" #include "gromacs/utility/cstringutil.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/utility/fatalerror.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" t_inpfile *read_inpfile(const char *fn, int *ninp, warninp_t wi) @@ -170,8 +170,8 @@ t_inpfile *read_inpfile(const char *fn, int *ninp, inp[nin-1].count = 0; inp[nin-1].bObsolete = FALSE; inp[nin-1].bSet = FALSE; - inp[nin-1].name = strdup(lbuf); - inp[nin-1].value = strdup(rbuf); + inp[nin-1].name = gmx_strdup(lbuf); + inp[nin-1].value = gmx_strdup(rbuf); } else { @@ -186,7 +186,7 @@ t_inpfile *read_inpfile(const char *fn, int *ninp, { /* override */ sfree(inp[found_index].value); - inp[found_index].value = strdup(rbuf); + inp[found_index].value = gmx_strdup(rbuf); sprintf(warn_buf, "Overriding existing parameter \"%s\" with value \"%s\"\n", lbuf, rbuf); @@ -296,7 +296,7 @@ void replace_inp_entry(int ninp, t_inpfile *inp, const char *old_entry, const ch fprintf(stderr, "Replacing old mdp entry '%s' by '%s'\n", inp[i].name, new_entry); sfree(inp[i].name); - inp[i].name = strdup(new_entry); + inp[i].name = gmx_strdup(new_entry); } else { @@ -344,7 +344,7 @@ static int get_einp(int *ninp, t_inpfile **inp, const char *name) notfound = TRUE; i = (*ninp)++; srenew(*inp, (*ninp)); - (*inp)[i].name = strdup(name); + (*inp)[i].name = gmx_strdup(name); (*inp)[i].bSet = TRUE; } (*inp)[i].count = (*inp)[0].inp_count++; @@ -377,7 +377,7 @@ int get_eint(int *ninp, t_inpfile **inp, const char *name, int def, if (ii == -1) { sprintf(buf, "%d", def); - (*inp)[(*ninp)-1].value = strdup(buf); + (*inp)[(*ninp)-1].value = gmx_strdup(buf); return def; } @@ -407,7 +407,7 @@ gmx_int64_t get_eint64(int *ninp, t_inpfile **inp, if (ii == -1) { sprintf(buf, "%"GMX_PRId64, def); - (*inp)[(*ninp)-1].value = strdup(buf); + (*inp)[(*ninp)-1].value = gmx_strdup(buf); return def; } @@ -436,7 +436,7 @@ double get_ereal(int *ninp, t_inpfile **inp, const char *name, double def, if (ii == -1) { sprintf(buf, "%g", def); - (*inp)[(*ninp)-1].value = strdup(buf); + (*inp)[(*ninp)-1].value = gmx_strdup(buf); return def; } @@ -465,7 +465,7 @@ const char *get_estr(int *ninp, t_inpfile **inp, const char *name, const char *d if (def) { sprintf(buf, "%s", def); - (*inp)[(*ninp)-1].value = strdup(buf); + (*inp)[(*ninp)-1].value = gmx_strdup(buf); } else { @@ -491,7 +491,7 @@ int get_eeenum(int *ninp, t_inpfile **inp, const char *name, const char **defs, if (ii == -1) { - (*inp)[(*ninp)-1].value = strdup(defs[0]); + (*inp)[(*ninp)-1].value = gmx_strdup(defs[0]); return 0; } @@ -524,7 +524,7 @@ int get_eeenum(int *ninp, t_inpfile **inp, const char *name, const char **defs, fprintf(stderr, "%s\n", buf); } - (*inp)[ii].value = strdup(defs[0]); + (*inp)[ii].value = gmx_strdup(defs[0]); return 0; } diff --git a/src/gromacs/gmxlib/sighandler.c b/src/gromacs/gmxlib/sighandler.c index 841b43e35e..75ff86caba 100644 --- a/src/gromacs/gmxlib/sighandler.c +++ b/src/gromacs/gmxlib/sighandler.c @@ -3,7 +3,7 @@ * * 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. @@ -34,14 +34,16 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/sighandler.h" + +#include "config.h" -#include "typedefs.h" -#include "gmx_fatal.h" -#include "sighandler.h" +#include +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" const char *gmx_stop_cond_name[] = { diff --git a/src/gromacs/gmxlib/splitter.c b/src/gromacs/gmxlib/splitter.c index 1d98dc2c8d..cb2eb90f6b 100644 --- a/src/gromacs/gmxlib/splitter.c +++ b/src/gromacs/gmxlib/splitter.c @@ -34,18 +34,20 @@ * 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 "splitter.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gromacs/legacyheaders/splitter.h" #include +#include #include -#include "macros.h" + +#include "gromacs/legacyheaders/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; diff --git a/src/gromacs/gmxlib/txtdump.c b/src/gromacs/gmxlib/txtdump.c index 7d94359da5..a70c1c005c 100644 --- a/src/gromacs/gmxlib/txtdump.c +++ b/src/gromacs/gmxlib/txtdump.c @@ -34,21 +34,21 @@ * 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 -#endif +#include "gmxpre.h" /* This file is completely threadsafe - please keep it that way! */ +#include "gromacs/legacyheaders/txtdump.h" + #include -#include "typedefs.h" -#include "types/commrec.h" -#include "names.h" -#include "txtdump.h" -#include "vec.h" -#include "macros.h" - -#include "gmx_fatal.h" +#include + +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" int pr_indent(FILE *fp, int n) @@ -1411,7 +1411,7 @@ void pr_ilist(FILE *fp, int indent, const char *title, j++; for (k = 0; k < interaction_function[ftype].nratoms; k++) { - (void) fprintf(fp, " %u", *(iatoms++)); + (void) fprintf(fp, " %d", *(iatoms++)); } (void) fprintf(fp, "\n"); i += 1+interaction_function[ftype].nratoms; @@ -1554,13 +1554,13 @@ static void low_pr_blocka(FILE *fp, int indent, const char *title, t_blocka *blo 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]); } } @@ -1641,7 +1641,7 @@ void pr_blocka(FILE *fp, int indent, const char *title, t_blocka *block, gmx_boo (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; diff --git a/src/gromacs/gmxlib/typedefs.c b/src/gromacs/gmxlib/typedefs.c index 81eab1b2eb..134f8c0ca5 100644 --- a/src/gromacs/gmxlib/typedefs.c +++ b/src/gromacs/gmxlib/typedefs.c @@ -35,50 +35,21 @@ * 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 -#endif +#include "gmxpre.h" -#include "thread_mpi/threads.h" +#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "symtab.h" -#include "vec.h" -#include "pbc.h" -#include "macros.h" #include + +#include "gromacs/legacyheaders/macros.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; @@ -96,102 +67,6 @@ int gmx_int64_to_int(gmx_int64_t step, const char *warn) 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)); @@ -200,195 +75,6 @@ void init_inputrec(t_inputrec *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) @@ -766,202 +452,6 @@ void preserve_box_shape(t_inputrec *ir, matrix box_rel, matrix b) } } -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) diff --git a/src/gromacs/gmxlib/viewit.c b/src/gromacs/gmxlib/viewit.c index 0384bc921f..c6a3a690bb 100644 --- a/src/gromacs/gmxlib/viewit.c +++ b/src/gromacs/gmxlib/viewit.c @@ -35,18 +35,20 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/viewit.h" + +#include "config.h" +#include #include -#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/legacyheaders/macros.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" static const int can_view_ftp[] = { 0, @@ -58,7 +60,7 @@ static const char* view_program[] = { "ghostview", "display", NULL, "xterm -e rasmol" }; -int can_view(int ftp) +static int can_view(int ftp) { int i; diff --git a/src/gromacs/gmxlib/warninp.c b/src/gromacs/gmxlib/warninp.c index 0e18160c6b..1721a47012 100644 --- a/src/gromacs/gmxlib/warninp.c +++ b/src/gromacs/gmxlib/warninp.c @@ -34,17 +34,16 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/warninp.h" #include -#include "gromacs/utility/smalloc.h" -#include "copyrite.h" +#include "gromacs/legacyheaders/copyrite.h" #include "gromacs/utility/cstringutil.h" -#include "gmx_fatal.h" -#include "warninp.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" typedef struct warninp { gmx_bool bAllowWarnings; diff --git a/src/gromacs/gmxpreprocess/add_par.c b/src/gromacs/gmxpreprocess/add_par.c index 429e78849c..cf471c4641 100644 --- a/src/gromacs/gmxpreprocess/add_par.c +++ b/src/gromacs/gmxpreprocess/add_par.c @@ -35,19 +35,18 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "grompp-impl.h" -#include "macros.h" -#include "toputil.h" -#include "hackblock.h" + +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/hackblock.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/utility/cstringutil.h" -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" static void clear_atom_list(int i0, atom_id a[]) { diff --git a/src/gromacs/gmxpreprocess/add_par.h b/src/gromacs/gmxpreprocess/add_par.h index 71f77d1b6b..92a0d8be4d 100644 --- a/src/gromacs/gmxpreprocess/add_par.h +++ b/src/gromacs/gmxpreprocess/add_par.h @@ -38,8 +38,8 @@ #ifndef GMX_GMXPREPROCESS_ADD_PAR_H #define GMX_GMXPREPROCESS_ADD_PAR_H -#include "typedefs.h" -#include "pdb2top.h" +#include "gromacs/gmxpreprocess/pdb2top.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" diff --git a/src/gromacs/gmxpreprocess/addconf.c b/src/gromacs/gmxpreprocess/addconf.c index 64f1f2853e..7a6e0b0b7f 100644 --- a/src/gromacs/gmxpreprocess/addconf.c +++ b/src/gromacs/gmxpreprocess/addconf.c @@ -34,26 +34,28 @@ * 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 "addconf.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "addconf.h" #include #include -#include "vec.h" -#include "macros.h" + +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/nsgrid.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/topology/topology.h" #include "gromacs/utility/smalloc.h" -#include "types/commrec.h" -#include "force.h" -#include "names.h" -#include "nsgrid.h" -#include "mdatoms.h" -#include "nrnb.h" -#include "ns.h" -#include "mtop_util.h" -#include "chargegroup.h" static real box_margin; diff --git a/src/gromacs/gmxpreprocess/addconf.h b/src/gromacs/gmxpreprocess/addconf.h index eec41344d4..f6009f38ca 100644 --- a/src/gromacs/gmxpreprocess/addconf.h +++ b/src/gromacs/gmxpreprocess/addconf.h @@ -37,7 +37,7 @@ #ifndef GMX_GMXPREPROCESS_ADDCONF_H #define GMX_GMXPREPROCESS_ADDCONF_H -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/calc_verletbuf.c b/src/gromacs/gmxpreprocess/calc_verletbuf.c index dd3a36d8eb..dbdcab9074 100644 --- a/src/gromacs/gmxpreprocess/calc_verletbuf.c +++ b/src/gromacs/gmxpreprocess/calc_verletbuf.c @@ -32,23 +32,24 @@ * 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 -#endif +#include "gmxpre.h" + +#include "calc_verletbuf.h" #include +#include +#include #include -#include -#include "typedefs.h" -#include "physics.h" + +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "macros.h" -#include "vec.h" -#include "coulomb.h" -#include "calc_verletbuf.h" -#include "../mdlib/nbnxn_consts.h" #ifdef GMX_NBNXN_SIMD /* The include below sets the SIMD instruction type (precision+width) @@ -207,7 +208,7 @@ static void get_vsite_masses(const gmx_moltype_t *moltype, 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]]; @@ -413,6 +414,7 @@ static void get_verlet_buffer_atomtypes(const gmx_mtop_t *mtop, add_at(&att, &natt, &prop[a], nmol); } + /* cppcheck-suppress uninitvar Fixed in cppcheck 1.65 */ sfree(vsite_m); sfree(prop); } diff --git a/src/gromacs/gmxpreprocess/calc_verletbuf.h b/src/gromacs/gmxpreprocess/calc_verletbuf.h index 65ef492350..00696edb4a 100644 --- a/src/gromacs/gmxpreprocess/calc_verletbuf.h +++ b/src/gromacs/gmxpreprocess/calc_verletbuf.h @@ -36,7 +36,7 @@ #ifndef GMX_GMXPREPROCESS_CALC_VERLETBUF_H #define GMX_GMXPREPROCESS_CALC_VERLETBUF_H -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxlib/calch.c b/src/gromacs/gmxpreprocess/calch.c similarity index 98% rename from src/gromacs/gmxlib/calch.c rename to src/gromacs/gmxpreprocess/calch.c index 397ab2dba8..d171bbd34b 100644 --- a/src/gromacs/gmxlib/calch.c +++ b/src/gromacs/gmxpreprocess/calch.c @@ -34,17 +34,15 @@ * 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 -#endif +#include "gmxpre.h" -#include "macros.h" #include "calch.h" -#include "gromacs/math/utilities.h" -#include "vec.h" -#include "physics.h" -#include "gmx_fatal.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/units.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #define xAI xa[0] #define xAJ xa[1] diff --git a/src/gromacs/legacyheaders/calch.h b/src/gromacs/gmxpreprocess/calch.h similarity index 93% rename from src/gromacs/legacyheaders/calch.h rename to src/gromacs/gmxpreprocess/calch.h index 7b1fc76d5e..ea6211f4dc 100644 --- a/src/gromacs/legacyheaders/calch.h +++ b/src/gromacs/gmxpreprocess/calch.h @@ -3,7 +3,7 @@ * * 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. @@ -34,11 +34,10 @@ * 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_PREPROCESS_CALCH_H +#define GMX_PREPROCESS_CALCH_H -#ifndef _calch_h -#define _calch_h - -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -69,4 +68,4 @@ void calc_h_pos(int nht, rvec xa[], rvec xh[], int *l); } #endif -#endif /* _calch_h */ +#endif diff --git a/src/gromacs/gmxpreprocess/compute_io.c b/src/gromacs/gmxpreprocess/compute_io.c index 52b62a1047..51a73d1a84 100644 --- a/src/gromacs/gmxpreprocess/compute_io.c +++ b/src/gromacs/gmxpreprocess/compute_io.c @@ -34,13 +34,12 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" static int div_nsteps(int nsteps, int nst) { diff --git a/src/gromacs/gmxpreprocess/compute_io.h b/src/gromacs/gmxpreprocess/compute_io.h index 68e46ad247..c9ff85de96 100644 --- a/src/gromacs/gmxpreprocess/compute_io.h +++ b/src/gromacs/gmxpreprocess/compute_io.h @@ -38,7 +38,7 @@ #ifndef GMX_GMXPREPROCESS_COMPUTE_IO_H #define GMX_GMXPREPROCESS_COMPUTE_IO_H -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/convparm.c b/src/gromacs/gmxpreprocess/convparm.c index fb97126e25..e3bac95963 100644 --- a/src/gromacs/gmxpreprocess/convparm.c +++ b/src/gromacs/gmxpreprocess/convparm.c @@ -35,25 +35,23 @@ * 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 -#endif +#include "gmxpre.h" + +#include "convparm.h" #include #include -#include "sysstuff.h" -#include "physics.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "gmx_fatal.h" -#include "topio.h" -#include "toputil.h" -#include "convparm.h" -#include "names.h" -#include "gpp_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/topio.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" static int round_check(real r, int limit, int ftype, const char *name) { diff --git a/src/gromacs/gmxpreprocess/convparm.h b/src/gromacs/gmxpreprocess/convparm.h index cf8a39bcdf..d8c69a250d 100644 --- a/src/gromacs/gmxpreprocess/convparm.h +++ b/src/gromacs/gmxpreprocess/convparm.h @@ -38,7 +38,8 @@ #ifndef GMX_GMXPREPROCESS_CONVPARM_H #define GMX_GMXPREPROCESS_CONVPARM_H -#include "typedefs.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/fflibutil.cpp b/src/gromacs/gmxpreprocess/fflibutil.cpp index f1cdf02aa3..e87fb8f659 100644 --- a/src/gromacs/gmxpreprocess/fflibutil.cpp +++ b/src/gromacs/gmxpreprocess/fflibutil.cpp @@ -32,31 +32,32 @@ * 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 -#endif +#include "gmxpre.h" + +#include "fflibutil.h" + +#include "config.h" #include #include #include -#include -#include + #include -#include "sysstuff.h" -#include "network.h" -#include "gmx_fatal.h" -#include "gromacs/utility/smalloc.h" +#include +#include #ifdef HAVE_UNISTD_H #include #endif -#include "fflibutil.h" - -#include "gromacs/fileio/futil.h" -#include "gromacs/fileio/path.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/path.h" #include "gromacs/utility/programcontext.h" +#include "gromacs/utility/smalloc.h" const char *fflib_forcefield_dir_ext() { @@ -202,7 +203,7 @@ static int low_fflib_search_file_end(const char *ffdir, sprintf(fn_dir, "%s%c%s", dir, DIR_SEPARATOR, nextname); /* Copy the file name, possibly including the path. */ - fns[n] = strdup(fn_dir); + fns[n] = gmx_strdup(fn_dir); if (ffdir == NULL) { @@ -215,11 +216,11 @@ static int low_fflib_search_file_end(const char *ffdir, srenew(fns_short, n+1); if (strcmp(dir, ".") == 0 || bEnvIsSet) { - fns_short[n] = strdup(fn_dir); + fns_short[n] = gmx_strdup(fn_dir); } else { - fns_short[n] = strdup(nextname); + fns_short[n] = gmx_strdup(nextname); } } n++; @@ -295,7 +296,7 @@ int fflib_search_file_in_dirend(const char *filename, const char *dirend, { /* We have a match */ srenew(dns, n+1); - dns[n] = strdup(f_short[i]); + dns[n] = gmx_strdup(f_short[i]); n++; } } diff --git a/src/gromacs/gmxpreprocess/fflibutil.h b/src/gromacs/gmxpreprocess/fflibutil.h index 4d54ec4005..6703c2b7b0 100644 --- a/src/gromacs/gmxpreprocess/fflibutil.h +++ b/src/gromacs/gmxpreprocess/fflibutil.h @@ -36,12 +36,9 @@ #ifndef GMX_GMXPREPROCESS_FFLIBUTIL_H #define GMX_GMXPREPROCESS_FFLIBUTIL_H -#ifdef HAVE_CONFIG_H -#include -#endif - #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/gen_ad.c b/src/gromacs/gmxpreprocess/gen_ad.c index 4fb527ac0a..61dc0f9cd7 100644 --- a/src/gromacs/gmxpreprocess/gen_ad.c +++ b/src/gromacs/gmxpreprocess/gen_ad.c @@ -35,30 +35,26 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gen_ad.h" #include #include +#include #include -#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 "toputil.h" -#include "topio.h" -#include "gpp_nextnb.h" -#include "symtab.h" -#include "macros.h" -#include "gmx_fatal.h" -#include "pgutil.h" -#include "resall.h" -#include "gen_ad.h" +#include "gromacs/gmxpreprocess/gpp_nextnb.h" +#include "gromacs/gmxpreprocess/pgutil.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/topio.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" #define DIHEDRAL_WAS_SET_IN_RTP 0 static gmx_bool was_dihedral_set_in_rtp(t_param *dih) @@ -210,7 +206,7 @@ static void rm2par(t_param p[], int *np, peq eq) { 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, ""); diff --git a/src/gromacs/gmxpreprocess/gen_ad.h b/src/gromacs/gmxpreprocess/gen_ad.h index 80ae02e989..e8814a5cab 100644 --- a/src/gromacs/gmxpreprocess/gen_ad.h +++ b/src/gromacs/gmxpreprocess/gen_ad.h @@ -38,10 +38,10 @@ #ifndef GMX_GMXPREPROCESS_GEN_AD_H #define GMX_GMXPREPROCESS_GEN_AD_H -#include "typedefs.h" -#include "toputil.h" -#include "gpp_nextnb.h" -#include "resall.h" +#include "gromacs/gmxpreprocess/gpp_nextnb.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/gen_maxwell_velocities.c b/src/gromacs/gmxpreprocess/gen_maxwell_velocities.c index 73326ac08f..02522be85f 100644 --- a/src/gromacs/gmxpreprocess/gen_maxwell_velocities.c +++ b/src/gromacs/gmxpreprocess/gen_maxwell_velocities.c @@ -34,19 +34,18 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gen_maxwell_velocities.h" #include + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/random/random.h" -#include "sysstuff.h" +#include "gromacs/topology/mtop_util.h" #include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "typedefs.h" -#include "vec.h" -#include "gen_maxwell_velocities.h" -#include "mtop_util.h" static void low_mspeed(real tempi, gmx_mtop_t *mtop, rvec v[], gmx_rng_t rng) @@ -107,7 +106,7 @@ void maxwell_speed(real tempi, unsigned int seed, gmx_mtop_t *mtop, rvec v[]) 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); diff --git a/src/gromacs/gmxpreprocess/gen_maxwell_velocities.h b/src/gromacs/gmxpreprocess/gen_maxwell_velocities.h index 9752ca71ce..2679948ced 100644 --- a/src/gromacs/gmxpreprocess/gen_maxwell_velocities.h +++ b/src/gromacs/gmxpreprocess/gen_maxwell_velocities.h @@ -38,7 +38,7 @@ #ifndef GMX_MAXWELL_VELOCITIES #define GMX_MAXWELL_VELOCITIES -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/gen_vsite.c b/src/gromacs/gmxpreprocess/gen_vsite.c index 4afe493cb3..4d0e990044 100644 --- a/src/gromacs/gmxpreprocess/gen_vsite.c +++ b/src/gromacs/gmxpreprocess/gen_vsite.c @@ -34,30 +34,29 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gen_vsite.h" #include #include +#include #include +#include "gromacs/gmxpreprocess/add_par.h" +#include "gromacs/gmxpreprocess/fflibutil.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/residuetypes.h" +#include "gromacs/topology/symtab.h" #include "gromacs/utility/cstringutil.h" -#include "gen_vsite.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "resall.h" -#include "add_par.h" -#include "vec.h" -#include "toputil.h" -#include "physics.h" -#include "index.h" -#include "names.h" -#include "gromacs/fileio/futil.h" -#include "gpp_atomtype.h" -#include "fflibutil.h" -#include "macros.h" - -#include "gmx_fatal.h" #define MAXNAME 32 #define OPENDIR '[' /* starting sign for directive */ @@ -509,7 +508,7 @@ static void print_bonds(FILE *fp, int o2n[], } 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; @@ -547,7 +546,7 @@ static int vsite_nm2type(const char *name, gpp_atomtype_t atype) } 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; @@ -1571,7 +1570,7 @@ void do_vsites(int nrtp, t_restp rtp[], gpp_atomtype_t atype, 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. @@ -2155,7 +2154,7 @@ void do_vsites(int nrtp, t_restp rtp[], gpp_atomtype_t atype, { 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; @@ -2164,7 +2163,7 @@ void do_vsites(int nrtp, t_restp rtp[], gpp_atomtype_t atype, { 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]]; diff --git a/src/gromacs/gmxpreprocess/gen_vsite.h b/src/gromacs/gmxpreprocess/gen_vsite.h index 19f119211b..6a350ef709 100644 --- a/src/gromacs/gmxpreprocess/gen_vsite.h +++ b/src/gromacs/gmxpreprocess/gen_vsite.h @@ -38,10 +38,10 @@ #ifndef GMX_GMXPREPROCESS_GEN_VSITE_H #define GMX_GMXPREPROCESS_GEN_VSITE_H -#include "typedefs.h" -#include "grompp-impl.h" -#include "gpp_atomtype.h" -#include "hackblock.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/hackblock.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" @@ -51,7 +51,7 @@ extern "C" /* 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); diff --git a/src/gromacs/gmxpreprocess/genconf.c b/src/gromacs/gmxpreprocess/genconf.c index 52b7b048b3..9f9a57ce8c 100644 --- a/src/gromacs/gmxpreprocess/genconf.c +++ b/src/gromacs/gmxpreprocess/genconf.c @@ -34,24 +34,24 @@ * 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 "gmxpre.h" + #include "genconf.h" -#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/confio.h" #include "gromacs/fileio/trxio.h" - -#include "gmx_fatal.h" +#include "gromacs/gmxpreprocess/sortwater.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/math/3dtransforms.h" +#include "gromacs/math/utilities.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) @@ -71,27 +71,28 @@ static void rand_rot(int natoms, rvec x[], rvec v[], vec4 xrot[], vec4 vrot[], } 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]); } } diff --git a/src/gromacs/gmxpreprocess/genhydro.c b/src/gromacs/gmxpreprocess/genhydro.c index afcadb43b4..3a85fa1209 100644 --- a/src/gromacs/gmxpreprocess/genhydro.c +++ b/src/gromacs/gmxpreprocess/genhydro.c @@ -34,36 +34,33 @@ * 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 -#endif +#include "gmxpre.h" + +#include "genhydro.h" #include #include -#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 "calch.h" -#include "genhydro.h" -#include "h_db.h" -#include "ter_db.h" -#include "resall.h" -#include "pgutil.h" -#include "network.h" -#include "macros.h" +#include "gromacs/gmxpreprocess/calch.h" +#include "gromacs/gmxpreprocess/h_db.h" +#include "gromacs/gmxpreprocess/pgutil.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/ter_db.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.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" static void copy_atom(t_atoms *atoms1, int a1, t_atoms *atoms2, int a2) { atoms2->atom[a2] = atoms1->atom[a1]; snew(atoms2->atomname[a2], 1); - *atoms2->atomname[a2] = strdup(*atoms1->atomname[a1]); + *atoms2->atomname[a2] = gmx_strdup(*atoms1->atomname[a1]); } static atom_id pdbasearch_atom(const char *name, int resind, t_atoms *pdba, @@ -169,7 +166,7 @@ static t_hackblock *get_hackblocks(t_atoms *pdba, int nah, t_hackblock ah[], { if (hb[rnr].name == NULL) { - hb[rnr].name = strdup(ahptr->name); + hb[rnr].name = gmx_strdup(ahptr->name); } merge_hacks(ahptr, &hb[rnr]); } @@ -234,7 +231,7 @@ static void expand_hackblocks_one(t_hackblock *hbr, char *atomname, { if ( (*abi)[*nabi + k].oname == NULL) { - (*abi)[*nabi + k].nname = strdup(atomname); + (*abi)[*nabi + k].nname = gmx_strdup(atomname); (*abi)[*nabi + k].nname[0] = 'H'; } } @@ -248,7 +245,7 @@ static void expand_hackblocks_one(t_hackblock *hbr, char *atomname, (*abi)[*nabi + k].oname ? (*abi)[*nabi + k].oname : ""); } sfree((*abi)[*nabi + k].nname); - (*abi)[*nabi + k].nname = strdup(hbr->hack[j].nname); + (*abi)[*nabi + k].nname = gmx_strdup(hbr->hack[j].nname); } if (hbr->hack[j].tp == 10 && k == 2) @@ -669,7 +666,7 @@ static int add_h_low(t_atoms **pdbaptr, rvec *xptr[], ab[i][j].nname); } snew(newpdba->atomname[newi], 1); - *newpdba->atomname[newi] = strdup(ab[i][j].nname); + *newpdba->atomname[newi] = gmx_strdup(ab[i][j].nname); if (ab[i][j].oname != NULL && ab[i][j].atom) /* replace */ { /* newpdba->atom[newi].m = ab[i][j].atom->m; */ /* newpdba->atom[newi].q = ab[i][j].atom->q; */ diff --git a/src/gromacs/gmxpreprocess/genhydro.h b/src/gromacs/gmxpreprocess/genhydro.h index ed5b07f37d..9161a33324 100644 --- a/src/gromacs/gmxpreprocess/genhydro.h +++ b/src/gromacs/gmxpreprocess/genhydro.h @@ -39,7 +39,7 @@ #define GMX_GMXPREPROCESS_GENHYDRO_H #include "gromacs/fileio/pdbio.h" -#include "hackblock.h" +#include "gromacs/gmxpreprocess/hackblock.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/gmxcpp.c b/src/gromacs/gmxpreprocess/gmxcpp.c index d9265d4831..42fd453757 100644 --- a/src/gromacs/gmxpreprocess/gmxcpp.c +++ b/src/gromacs/gmxpreprocess/gmxcpp.c @@ -34,25 +34,25 @@ * 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 -#endif +#include "gmxpre.h" -#include +#include "gmxcpp.h" + +#include +#include +#include +#include #include #include -#include #include -#include -#include -#include +#include + +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "gromacs/fileio/futil.h" -#include "macros.h" -#include "gmx_fatal.h" -#include "gmxcpp.h" typedef struct { char *name; @@ -169,7 +169,7 @@ static void add_include(const char *include) { nincl++; srenew(incl, nincl); - incl[nincl-1] = strdup(include); + incl[nincl-1] = gmx_strdup(include); } } @@ -201,7 +201,7 @@ static void add_define(const char *name, const char *value) ndef++; srenew(defs, ndef); i = ndef - 1; - defs[i].name = strdup(name); + defs[i].name = gmx_strdup(name); } else if (defs[i].def) { @@ -213,7 +213,7 @@ static void add_define(const char *name, const char *value) } if (value && strlen(value) > 0) { - defs[i].def = strdup(value); + defs[i].def = gmx_strdup(value); } else { @@ -284,7 +284,7 @@ int cpp_open_file(const char *filenm, gmx_cpp_t *handle, char **cppopts) /* Find the file. First check whether it is in the current directory. */ if (gmx_fexist(filenm)) { - cpp->fn = strdup(filenm); + cpp->fn = gmx_strdup(filenm); } else { @@ -334,7 +334,7 @@ int cpp_open_file(const char *filenm, gmx_cpp_t *handle, char **cppopts) { cpp->path = cpp->fn; *ptr = '\0'; - cpp->fn = strdup(ptr+1); + cpp->fn = gmx_strdup(ptr+1); snew(cpp->cwd, STRLEN); gmx_getcwd(cpp->cwd, STRLEN); @@ -809,5 +809,5 @@ char *cpp_error(gmx_cpp_t *handlep, int status) (handle) ? handle->line_nr : -1, handle->line ? handle->line : ""); - return strdup(buf); + return gmx_strdup(buf); } diff --git a/src/gromacs/gmxpreprocess/gpp_atomtype.c b/src/gromacs/gmxpreprocess/gpp_atomtype.c index 31a39aec15..4a9c932b0f 100644 --- a/src/gromacs/gmxpreprocess/gpp_atomtype.c +++ b/src/gromacs/gmxpreprocess/gpp_atomtype.c @@ -34,24 +34,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gpp_atomtype.h" #include #include +#include "gromacs/gmxpreprocess/topdirs.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/topology/symtab.h" +#include "gromacs/utility/fatalerror.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" typedef struct gpp_atomtype { int nr; /* The number of atomtypes */ @@ -372,7 +367,6 @@ void done_atomtype(gpp_atomtype_t ga) sfree(ga->atomnumber); ga->nr = 0; sfree(ga); - ga = NULL; } static int search_atomtypes(gpp_atomtype_t ga, int *n, int typelist[], diff --git a/src/gromacs/gmxpreprocess/gpp_atomtype.h b/src/gromacs/gmxpreprocess/gpp_atomtype.h index fd435f83d2..9dd46548b3 100644 --- a/src/gromacs/gmxpreprocess/gpp_atomtype.h +++ b/src/gromacs/gmxpreprocess/gpp_atomtype.h @@ -39,8 +39,9 @@ #define GMX_GMXPREPROCESS_GPP_ATOMTYPE_H #include -#include "typedefs.h" -#include "grompp-impl.h" + +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -82,7 +83,7 @@ gpp_atomtype_t init_atomtype(void); 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, @@ -95,7 +96,7 @@ set_atomtype_gbparam(gpp_atomtype_t at, int i, 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, diff --git a/src/gromacs/gmxpreprocess/gpp_bond_atomtype.c b/src/gromacs/gmxpreprocess/gpp_bond_atomtype.c index ae3657e476..6a39e71f88 100644 --- a/src/gromacs/gmxpreprocess/gpp_bond_atomtype.c +++ b/src/gromacs/gmxpreprocess/gpp_bond_atomtype.c @@ -34,17 +34,15 @@ * 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 -#endif +#include "gmxpre.h" -#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/legacyheaders/macros.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 */ diff --git a/src/gromacs/gmxpreprocess/gpp_bond_atomtype.h b/src/gromacs/gmxpreprocess/gpp_bond_atomtype.h index b8e3402867..c901d9b1f0 100644 --- a/src/gromacs/gmxpreprocess/gpp_bond_atomtype.h +++ b/src/gromacs/gmxpreprocess/gpp_bond_atomtype.h @@ -38,12 +38,9 @@ #ifndef GMX_GMXPREPROCESS_GPP_BONDATOMTYPE_H #define GMX_GMXPREPROCESS_GPP_BONDATOMTYPE_H -#ifdef HAVE_CONFIG_H -#include -#endif - #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -64,7 +61,7 @@ t_bond_atomtype init_bond_atomtype(void); 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 */ diff --git a/src/gromacs/gmxpreprocess/gpp_nextnb.c b/src/gromacs/gmxpreprocess/gpp_nextnb.c index b90c822742..ac779b14bd 100644 --- a/src/gromacs/gmxpreprocess/gpp_nextnb.c +++ b/src/gromacs/gmxpreprocess/gpp_nextnb.c @@ -35,17 +35,17 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gpp_nextnb.h" -#include "sysstuff.h" +#include + +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" + /* #define DEBUG_NNB */ -#include "gpp_nextnb.h" -#include "gmx_fatal.h" -#include "toputil.h" typedef struct { int ai, aj; diff --git a/src/gromacs/gmxpreprocess/gpp_nextnb.h b/src/gromacs/gmxpreprocess/gpp_nextnb.h index e06a382417..c5dde3865e 100644 --- a/src/gromacs/gmxpreprocess/gpp_nextnb.h +++ b/src/gromacs/gmxpreprocess/gpp_nextnb.h @@ -38,7 +38,7 @@ #ifndef GMX_GMXPREPROCESS_GPP_NEXTNB_H #define GMX_GMXPREPROCESS_GPP_NEXTNB_H -#include "grompp-impl.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/grompp-impl.h b/src/gromacs/gmxpreprocess/grompp-impl.h index 8e0cef6d7e..6c1093c50f 100644 --- a/src/gromacs/gmxpreprocess/grompp-impl.h +++ b/src/gromacs/gmxpreprocess/grompp-impl.h @@ -38,7 +38,7 @@ #ifndef GMX_GMXPREPROCESS_GROMPP_IMPL_H #define GMX_GMXPREPROCESS_GROMPP_IMPL_H -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -54,6 +54,28 @@ typedef struct { * 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)) */ diff --git a/src/gromacs/gmxpreprocess/grompp.c b/src/gromacs/gmxpreprocess/grompp.c index 04ee47de40..8a7c681315 100644 --- a/src/gromacs/gmxpreprocess/grompp.c +++ b/src/gromacs/gmxpreprocess/grompp.c @@ -34,60 +34,57 @@ * 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 "grompp.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "grompp.h" -#include -#include -#include +#include #include #include -#include +#include +#include + +#include -#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 "splitter.h" -#include "gromacs/gmxpreprocess/sortwater.h" -#include "convparm.h" -#include "gmx_fatal.h" -#include "warninp.h" -#include "index.h" +#include "gromacs/fileio/confio.h" +#include "gromacs/fileio/enxio.h" #include "gromacs/fileio/gmxfio.h" -#include "gromacs/fileio/trnio.h" #include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/trnio.h" #include "gromacs/fileio/trxio.h" -#include "vsite_parm.h" -#include "txtdump.h" -#include "calcgrid.h" -#include "add_par.h" -#include "gromacs/fileio/enxio.h" -#include "perf_est.h" -#include "compute_io.h" -#include "gpp_atomtype.h" -#include "mtop_util.h" -#include "genborn.h" -#include "calc_verletbuf.h" -#include "tomorse.h" +#include "gromacs/gmxpreprocess/add_par.h" +#include "gromacs/gmxpreprocess/calc_verletbuf.h" +#include "gromacs/gmxpreprocess/compute_io.h" +#include "gromacs/gmxpreprocess/convparm.h" +#include "gromacs/gmxpreprocess/gen_maxwell_velocities.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/gmxpreprocess/sortwater.h" +#include "gromacs/gmxpreprocess/tomorse.h" +#include "gromacs/gmxpreprocess/topio.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/gmxpreprocess/vsite_parm.h" #include "gromacs/imd/imd.h" +#include "gromacs/legacyheaders/calcgrid.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/perf_est.h" +#include "gromacs/legacyheaders/splitter.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/warninp.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/random/random.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/futil.h" +#include "gromacs/utility/smalloc.h" static int rm_interactions(int ifunc, int nrmols, t_molinfo mols[]) { @@ -1536,7 +1533,7 @@ int gmx_grompp(int argc, char *argv[]) { efNDX, NULL, NULL, ffOPTRD }, { efTOP, NULL, NULL, ffREAD }, { efTOP, "-pp", "processed", ffOPTWR }, - { efTPX, "-o", NULL, ffWRITE }, + { efTPR, "-o", NULL, ffWRITE }, { efTRN, "-t", NULL, ffOPTRD }, { efEDR, "-e", NULL, ffOPTRD }, /* This group is needed by the VMD viewer as the start configuration for IMD sessions: */ @@ -2085,7 +2082,7 @@ int gmx_grompp(int argc, char *argv[]) } done_warning(wi, FARGS); - write_tpx_state(ftp2fn(efTPX, NFILE, fnm), ir, &state, sys); + write_tpx_state(ftp2fn(efTPR, NFILE, fnm), ir, &state, sys); /* Output IMD group, if bIMD is TRUE */ write_IMDgroup_to_file(ir->bIMD, ir, &state, sys, NFILE, fnm); diff --git a/src/gromacs/gmxpreprocess/h_db.c b/src/gromacs/gmxpreprocess/h_db.c index 25ec285e06..f630ae7876 100644 --- a/src/gromacs/gmxpreprocess/h_db.c +++ b/src/gromacs/gmxpreprocess/h_db.c @@ -35,21 +35,20 @@ * 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 -#endif +#include "gmxpre.h" +#include "h_db.h" + +#include #include + +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/gmxpreprocess/fflibutil.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/cstringutil.h" -#include "sysstuff.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "gromacs/fileio/futil.h" -#include "symtab.h" -#include "h_db.h" -#include "gromacs/fileio/gmxfio.h" -#include "fflibutil.h" -#include "gmx_fatal.h" -#include "macros.h" /* Number of control atoms for each 'add' type. * @@ -110,14 +109,14 @@ void read_ab(char *line, const char *fn, t_hack *hack) } for (i = 0; (i < hack->nctl); i++) { - hack->a[i] = strdup(a[i]); + hack->a[i] = gmx_strdup(a[i]); } for (; i < 4; i++) { hack->a[i] = NULL; } hack->oname = NULL; - hack->nname = strdup(hn); + hack->nname = gmx_strdup(hn); hack->atom = NULL; hack->cgnr = NOTSET; hack->bXSet = FALSE; @@ -163,8 +162,8 @@ static void read_h_db_file(const char *hfn, int *nahptr, t_hackblock **ah) } srenew(aah, nah+1); clear_t_hackblock(&aah[nah]); - aah[nah].name = strdup(buf); - aah[nah].filebase = strdup(filebase); + aah[nah].name = gmx_strdup(buf); + aah[nah].filebase = gmx_strdup(filebase); if (sscanf(line+n, "%d", &nab) == 1) { diff --git a/src/gromacs/gmxpreprocess/h_db.h b/src/gromacs/gmxpreprocess/h_db.h index 604966552b..24f873b6c2 100644 --- a/src/gromacs/gmxpreprocess/h_db.h +++ b/src/gromacs/gmxpreprocess/h_db.h @@ -38,8 +38,9 @@ #ifndef GMX_GMXPREPROCESS_H_DB_H #define GMX_GMXPREPROCESS_H_DB_H -#include "sysstuff.h" -#include "hackblock.h" +#include + +#include "gromacs/gmxpreprocess/hackblock.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/hackblock.c b/src/gromacs/gmxpreprocess/hackblock.c index 0e4e1c1cfa..c30a69851b 100644 --- a/src/gromacs/gmxpreprocess/hackblock.c +++ b/src/gromacs/gmxpreprocess/hackblock.c @@ -35,16 +35,16 @@ * 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 -#endif +#include "gmxpre.h" -#include #include "hackblock.h" + +#include + +#include "gromacs/legacyheaders/names.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "macros.h" -#include "names.h" /* these MUST correspond to the enum in hackblock.h */ const char *btsNames[ebtsNR] = { "bonds", "angles", "dihedrals", "impropers", "exclusions", "cmap" }; @@ -94,7 +94,7 @@ void free_t_restp(int nrtp, t_restp **rtp) free_t_bondeds(&(*rtp)[i].rb[j]); } } - free(*rtp); + sfree(*rtp); } void free_t_hack(int nh, t_hack **h) @@ -167,7 +167,7 @@ void clear_t_hack(t_hack *hack) } } -#define safe_strdup(str) ((str != NULL) ? strdup(str) : NULL) +#define safe_strdup(str) ((str != NULL) ? gmx_strdup(str) : NULL) static void copy_t_rbonded(t_rbonded *s, t_rbonded *d) { diff --git a/src/gromacs/gmxpreprocess/hackblock.h b/src/gromacs/gmxpreprocess/hackblock.h index 4bbbb7d9e5..294dcec86c 100644 --- a/src/gromacs/gmxpreprocess/hackblock.h +++ b/src/gromacs/gmxpreprocess/hackblock.h @@ -38,10 +38,11 @@ #ifndef GMX_GMXPREPROCESS_HACKBLOCK_H #define GMX_GMXPREPROCESS_HACKBLOCK_H -#include "typedefs.h" -#include "../fileio/pdbio.h" -#include "grompp-impl.h" -#include "gpp_atomtype.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/topology/symtab.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/hizzie.c b/src/gromacs/gmxpreprocess/hizzie.c index 4274d77988..0aff84f7a4 100644 --- a/src/gromacs/gmxpreprocess/hizzie.c +++ b/src/gromacs/gmxpreprocess/hizzie.c @@ -35,23 +35,22 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "typedefs.h" + #include "gromacs/fileio/pdbio.h" -#include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "physics.h" -#include "toputil.h" -#include "pdb2top.h" +#include "gromacs/gmxpreprocess/pdb2top.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/block.h" #include "gromacs/utility/cstringutil.h" -#include "macros.h" - -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" static int in_strings(char *key, int nstr, const char **str) { @@ -349,7 +348,7 @@ void set_histp(t_atoms *pdba, rvec *x, real angle, real dist) } snew(pdba->resinfo[hisind].rtp, 1); - *pdba->resinfo[hisind].rtp = strdup(hh[type]); + *pdba->resinfo[hisind].rtp = gmx_strdup(hh[type]); } } } diff --git a/src/gromacs/gmxpreprocess/insert-molecules.cpp b/src/gromacs/gmxpreprocess/insert-molecules.cpp index c60b4d0d03..5818fbbbea 100644 --- a/src/gromacs/gmxpreprocess/insert-molecules.cpp +++ b/src/gromacs/gmxpreprocess/insert-molecules.cpp @@ -34,31 +34,29 @@ * 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 "insert-molecules.h" - -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" +#include "insert-molecules.h" -#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/fileio/confio.h" +#include "gromacs/fileio/xvgr.h" #include "gromacs/gmxlib/conformation-utilities.h" -#include "addconf.h" -#include "read-conformation.h" -#include "pbc.h" -#include "xvgr.h" +#include "gromacs/gmxpreprocess/addconf.h" +#include "gromacs/gmxpreprocess/read-conformation.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.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) { @@ -368,7 +366,7 @@ int gmx_insert_molecules(int argc, char *argv[]) "Avoid momory leaks during neighbor searching with option -ci. May be slow for large systems." }, }; - if (!parse_common_args(&argc, argv, PCA_BE_NICE, NFILE, fnm, asize(pa), pa, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, asize(pa), pa, asize(desc), desc, asize(bugs), bugs, &oenv)) { return 0; diff --git a/src/gromacs/gmxpreprocess/nm2type.c b/src/gromacs/gmxpreprocess/nm2type.c index e9dd3961f1..41882302ac 100644 --- a/src/gromacs/gmxpreprocess/nm2type.c +++ b/src/gromacs/gmxpreprocess/nm2type.c @@ -35,34 +35,27 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nm2type.h" #include +#include "gromacs/fileio/confio.h" +#include "gromacs/gmxpreprocess/fflibutil.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_nextnb.h" +#include "gromacs/gmxpreprocess/pdb2top.h" +#include "gromacs/gmxpreprocess/toppush.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/txtdump.h" #include "gromacs/math/utilities.h" -#include "macros.h" -#include "bondf.h" +#include "gromacs/math/vec.h" #include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.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 "txtdump.h" -#include "readinp.h" -#include "names.h" -#include "toppush.h" -#include "pdb2top.h" -#include "gpp_nextnb.h" -#include "gpp_atomtype.h" -#include "fflibutil.h" - -#include "nm2type.h" - -#include "gmx_fatal.h" static void rd_nm2type_file(const char *fn, int *nnm, t_nm2type **nmp) { @@ -110,7 +103,7 @@ static void rd_nm2type_file(const char *fn, int *nnm, t_nm2type **nmp) { gmx_fatal(FARGS, "Error on line %d of %s", line, libfilename); } - newbuf[i] = strdup(nbbuf); + newbuf[i] = gmx_strdup(nbbuf); strcat(format, "%*s%*s"); } } @@ -118,8 +111,8 @@ static void rd_nm2type_file(const char *fn, int *nnm, t_nm2type **nmp) { newbuf = NULL; } - nm2t[nnnm].elem = strdup(elem); - nm2t[nnnm].type = strdup(type); + nm2t[nnnm].elem = gmx_strdup(elem); + nm2t[nnnm].type = gmx_strdup(type); nm2t[nnnm].q = qq; nm2t[nnnm].m = mm; nm2t[nnnm].nbonds = nb; @@ -201,7 +194,7 @@ static int match_str(const char *atom, const char *template_string) } } -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; diff --git a/src/gromacs/gmxpreprocess/nm2type.h b/src/gromacs/gmxpreprocess/nm2type.h index ab30e26e7e..4f8505ed04 100644 --- a/src/gromacs/gmxpreprocess/nm2type.h +++ b/src/gromacs/gmxpreprocess/nm2type.h @@ -39,6 +39,10 @@ #include +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/topology/atoms.h" + #ifdef __cplusplus extern "C" { #endif @@ -59,7 +63,7 @@ t_nm2type *rd_nm2type(const char *ffdir, int *nnm); 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 diff --git a/src/gromacs/gmxpreprocess/pdb2gmx.c b/src/gromacs/gmxpreprocess/pdb2gmx.c index 3e26de80b6..ac9f6ec083 100644 --- a/src/gromacs/gmxpreprocess/pdb2gmx.c +++ b/src/gromacs/gmxpreprocess/pdb2gmx.c @@ -34,50 +34,46 @@ * 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 "pdb2gmx.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "pdb2gmx.h" #include +#include #include #include -#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/fileio/confio.h" +#include "gromacs/fileio/gmxfio.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 "fflibutil.h" -#include "macros.h" - #include "gromacs/fileio/strdb.h" - -#include "hizzie.h" -#include "specbond.h" -#include "xlate.h" +#include "gromacs/gmxlib/conformation-utilities.h" +#include "gromacs/gmxpreprocess/fflibutil.h" +#include "gromacs/gmxpreprocess/genhydro.h" +#include "gromacs/gmxpreprocess/h_db.h" +#include "gromacs/gmxpreprocess/hizzie.h" +#include "gromacs/gmxpreprocess/pdb2top.h" +#include "gromacs/gmxpreprocess/pgutil.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/specbond.h" +#include "gromacs/gmxpreprocess/ter_db.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/gmxpreprocess/xlate.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.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/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct { char gmx[6]; @@ -515,7 +511,7 @@ void write_posres(char *fn, t_atoms *pdba, real fc) 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) */ { @@ -836,7 +832,8 @@ static int remove_duplicate_atoms(t_atoms *pdba, rvec x[], gmx_bool bVerbose) 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; @@ -1232,7 +1229,7 @@ int gmx_pdb2gmx(int argc, char *argv[]) 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]; @@ -1682,7 +1679,7 @@ int gmx_pdb2gmx(int argc, char *argv[]) chains[i].pdba->atom[j] = pdba_all.atom[pdb_ch[si].start+j]; snew(chains[i].pdba->atomname[j], 1); *chains[i].pdba->atomname[j] = - strdup(*pdba_all.atomname[pdb_ch[si].start+j]); + gmx_strdup(*pdba_all.atomname[pdb_ch[si].start+j]); chains[i].pdba->pdbinfo[j] = pdba_all.pdbinfo[pdb_ch[si].start+j]; copy_rvec(pdbx[pdb_ch[si].start+j], chains[i].x[j]); } @@ -1699,7 +1696,7 @@ int gmx_pdb2gmx(int argc, char *argv[]) { chains[i].pdba->resinfo[j] = pdba_all.resinfo[k+j]; snew(chains[i].pdba->resinfo[j].name, 1); - *chains[i].pdba->resinfo[j].name = strdup(*pdba_all.resinfo[k+j].name); + *chains[i].pdba->resinfo[j].name = gmx_strdup(*pdba_all.resinfo[k+j].name); /* make all chain identifiers equal to that of the chain */ chains[i].pdba->resinfo[j].chainid = pdb_ch[si].chainid; } @@ -2057,7 +2054,7 @@ int gmx_pdb2gmx(int argc, char *argv[]) nincl++; srenew(incls, nincl); - incls[nincl-1] = strdup(itp_fn); + incls[nincl-1] = gmx_strdup(itp_fn); itp_file = gmx_fio_fopen(itp_fn, "w"); } else @@ -2068,12 +2065,12 @@ int gmx_pdb2gmx(int argc, char *argv[]) srenew(mols, nmol+1); if (cc->bAllWat) { - mols[nmol].name = strdup("SOL"); + mols[nmol].name = gmx_strdup("SOL"); mols[nmol].nr = pdba->nres; } else { - mols[nmol].name = strdup(molname); + mols[nmol].name = gmx_strdup(molname); mols[nmol].nr = 1; } nmol++; diff --git a/src/gromacs/gmxpreprocess/pdb2top.cpp b/src/gromacs/gmxpreprocess/pdb2top.cpp index 85eb9c4c9b..8d9de45d32 100644 --- a/src/gromacs/gmxpreprocess/pdb2top.cpp +++ b/src/gromacs/gmxpreprocess/pdb2top.cpp @@ -34,43 +34,39 @@ * 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 -#endif +#include "gmxpre.h" + +#include "pdb2top.h" -#include -#include #include +#include +#include -#include "vec.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "symtab.h" -#include "gromacs/fileio/futil.h" -#include "gmx_fatal.h" -#include "pdb2top.h" -#include "gpp_nextnb.h" -#include "topdirs.h" -#include "toputil.h" -#include "h_db.h" -#include "pgutil.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 "fflibutil.h" -#include "copyrite.h" - +#include "gromacs/fileio/pdbio.h" #include "gromacs/fileio/strdb.h" +#include "gromacs/gmxpreprocess/add_par.h" +#include "gromacs/gmxpreprocess/fflibutil.h" +#include "gromacs/gmxpreprocess/gen_ad.h" +#include "gromacs/gmxpreprocess/gen_vsite.h" +#include "gromacs/gmxpreprocess/gpp_nextnb.h" +#include "gromacs/gmxpreprocess/h_db.h" +#include "gromacs/gmxpreprocess/pgutil.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/topdirs.h" +#include "gromacs/gmxpreprocess/topio.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/residuetypes.h" +#include "gromacs/topology/symtab.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" /* this must correspond to enum in pdb2top.h */ const char *hh[ehisNR] = { "HISD", "HISE", "HISH", "HIS1" }; @@ -175,7 +171,7 @@ choose_ff(const char *ffsel, ptr = strrchr(ffdirs[i], '/'); if (ptr == NULL) { - ffs[i] = strdup(ffdirs[i]); + ffs[i] = gmx_strdup(ffdirs[i]); ffs_dir[i] = low_gmxlibfn(ffdirs[i], FALSE, FALSE); if (ffs_dir[i] == NULL) { @@ -184,8 +180,8 @@ choose_ff(const char *ffsel, } else { - ffs[i] = strdup(ptr+1); - ffs_dir[i] = strdup(ffdirs[i]); + ffs[i] = gmx_strdup(ptr+1); + ffs_dir[i] = gmx_strdup(ffdirs[i]); } ffs_dir[i][strlen(ffs_dir[i])-strlen(ffs[i])-1] = '\0'; /* Remove the extension from the ffdir name */ @@ -257,7 +253,7 @@ choose_ff(const char *ffsel, } else { - desc[i] = strdup(ffs[i]); + desc[i] = gmx_strdup(ffs[i]); } } /* Order force fields from the same dir alphabetically @@ -374,7 +370,7 @@ void choose_watermodel(const char *wmsel, const char *ffdir, } else if (strcmp(wmsel, "select") != 0) { - *watermodel = strdup(wmsel); + *watermodel = gmx_strdup(wmsel); return; } @@ -432,7 +428,7 @@ void choose_watermodel(const char *wmsel, const char *ffdir, } else { - *watermodel = strdup(model[sel]); + *watermodel = gmx_strdup(model[sel]); } for (i = 0; i < nwm; i++) @@ -443,7 +439,7 @@ void choose_watermodel(const char *wmsel, const char *ffdir, } 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; @@ -1003,7 +999,7 @@ void add_atom_to_restp(t_restp *restp, int at_start, const t_hack *hack) } snew( restp->atomname[at_start+1+k], 1); restp->atom [at_start+1+k] = *hack->atom; - *restp->atomname[at_start+1+k] = strdup(buf); + *restp->atomname[at_start+1+k] = gmx_strdup(buf); if (hack->cgnr != NOTSET) { restp->cgnr [at_start+1+k] = hack->cgnr; @@ -1177,7 +1173,7 @@ void get_hackblocks_rtp(t_hackblock **hb, t_restp **restp, } snew( (*restp)[i].atomname[l], 1); (*restp)[i].atom[l] = *(*hb)[i].hack[j].atom; - *(*restp)[i].atomname[l] = strdup((*hb)[i].hack[j].nname); + *(*restp)[i].atomname[l] = gmx_strdup((*hb)[i].hack[j].nname); if ( (*hb)[i].hack[j].cgnr != NOTSET) { (*restp)[i].cgnr [l] = (*hb)[i].hack[j].cgnr; @@ -1334,7 +1330,7 @@ static gmx_bool match_atomnames_with_rtp_atom(t_atoms *pdba, rvec *x, int atind, } /* Rename the atom in pdba */ snew(pdba->atomname[atind], 1); - *pdba->atomname[atind] = strdup(newnm); + *pdba->atomname[atind] = gmx_strdup(newnm); } else if (hbr->hack[j].oname != NULL && hbr->hack[j].nname == NULL && gmx_strcasecmp(oldnm, hbr->hack[j].oname) == 0) @@ -1553,7 +1549,7 @@ void pdb2top(FILE *top_file, char *posre_fn, char *molname, int *vsite_type; int i, nmissat; int bts[ebtsNR]; - gmx_residuetype_t rt; + gmx_residuetype_t*rt; init_plist(plist); gmx_residuetype_init(&rt); diff --git a/src/gromacs/gmxpreprocess/pdb2top.h b/src/gromacs/gmxpreprocess/pdb2top.h index bcefb97505..cfbc800c87 100644 --- a/src/gromacs/gmxpreprocess/pdb2top.h +++ b/src/gromacs/gmxpreprocess/pdb2top.h @@ -38,11 +38,11 @@ #ifndef GMX_GMXPREPROCESS_PDB2TOP_H #define GMX_GMXPREPROCESS_PDB2TOP_H -#include "typedefs.h" -#include "grompp-impl.h" -#include "gpp_atomtype.h" -#include "toputil.h" -#include "hackblock.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/hackblock.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" @@ -112,7 +112,7 @@ void write_top(FILE *out, char *pr, char *molname, 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, diff --git a/src/gromacs/gmxpreprocess/pgutil.c b/src/gromacs/gmxpreprocess/pgutil.c index 76ea6c83b4..ff38d066ac 100644 --- a/src/gromacs/gmxpreprocess/pgutil.c +++ b/src/gromacs/gmxpreprocess/pgutil.c @@ -36,13 +36,14 @@ */ /* This file is completely threadsafe - keep it that way! */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "gromacs/utility/cstringutil.h" +#include "gmxpre.h" + #include "pgutil.h" + #include -#include "gmx_fatal.h" + +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" #define BUFSIZE 1024 static void atom_not_found(int fatal_errno, const char *file, int line, diff --git a/src/gromacs/gmxpreprocess/pgutil.h b/src/gromacs/gmxpreprocess/pgutil.h index 8a5a622fc4..b9ebce727a 100644 --- a/src/gromacs/gmxpreprocess/pgutil.h +++ b/src/gromacs/gmxpreprocess/pgutil.h @@ -38,7 +38,7 @@ #ifndef GMX_GMXPREPROCESS_PGUTIL_H #define GMX_GMXPREPROCESS_PGUTIL_H -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" diff --git a/src/gromacs/gmxpreprocess/protonate.c b/src/gromacs/gmxpreprocess/protonate.c index 38bf7cdc97..4b73ff2760 100644 --- a/src/gromacs/gmxpreprocess/protonate.c +++ b/src/gromacs/gmxpreprocess/protonate.c @@ -34,27 +34,25 @@ * 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 "protonate.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "protonate.h" #include -#include "gromacs/utility/cstringutil.h" -#include "typedefs.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" + #include "gromacs/commandline/pargs.h" #include "gromacs/fileio/confio.h" -#include "genhydro.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "index.h" -#include "vec.h" -#include "hackblock.h" - -#include "gmx_fatal.h" +#include "gromacs/gmxpreprocess/genhydro.h" +#include "gromacs/gmxpreprocess/hackblock.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" int gmx_protonate(int argc, char *argv[]) { diff --git a/src/gromacs/gmxpreprocess/read-conformation.cpp b/src/gromacs/gmxpreprocess/read-conformation.cpp index 64fa909de4..72886e8ced 100644 --- a/src/gromacs/gmxpreprocess/read-conformation.cpp +++ b/src/gromacs/gmxpreprocess/read-conformation.cpp @@ -32,12 +32,16 @@ * 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 "gmxpre.h" + #include "read-conformation.h" #include "gromacs/fileio/confio.h" -#include "atomprop.h" -#include "types/simple.h" -#include "types/atoms.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.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, diff --git a/src/gromacs/gmxpreprocess/read-conformation.h b/src/gromacs/gmxpreprocess/read-conformation.h index 13386af2ee..deaae9d8bc 100644 --- a/src/gromacs/gmxpreprocess/read-conformation.h +++ b/src/gromacs/gmxpreprocess/read-conformation.h @@ -35,21 +35,22 @@ #ifndef GMX_GMXPREPROCESS_READ_CONFORMATION_H #define GMX_GMXPREPROCESS_READ_CONFORMATION_H -#include "types/simple.h" -#include "types/atoms.h" -#include "atomprop.h" +#include "gromacs/legacyheaders/types/simple.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. @@ -57,7 +58,7 @@ real *makeExclusionDistances(const t_atoms *a, gmx_atomprop_t aps, * 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 diff --git a/src/gromacs/gmxpreprocess/readadress.c b/src/gromacs/gmxpreprocess/readadress.c index 7f36684844..a95374cda8 100644 --- a/src/gromacs/gmxpreprocess/readadress.c +++ b/src/gromacs/gmxpreprocess/readadress.c @@ -33,13 +33,16 @@ * 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 "gmxpre.h" + +#include #include +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/legacyheaders/names.h" #include "gromacs/utility/cstringutil.h" -#include "readir.h" -#include "names.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" #define MAXPTR 254 diff --git a/src/gromacs/gmxpreprocess/readir.c b/src/gromacs/gmxpreprocess/readir.c index 763b6d8e5d..8f55b6c660 100644 --- a/src/gromacs/gmxpreprocess/readir.c +++ b/src/gromacs/gmxpreprocess/readir.c @@ -34,35 +34,34 @@ * 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 -#endif +#include "gmxpre.h" + +#include "readir.h" #include -#include #include -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "physics.h" -#include "names.h" -#include "gmx_fatal.h" -#include "macros.h" -#include "index.h" -#include "symtab.h" +#include + +#include "gromacs/gmxpreprocess/calc_verletbuf.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/inputrec.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/warninp.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/index.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/topology/symtab.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 "chargegroup.h" -#include "inputrec.h" -#include "calc_verletbuf.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" #define MAXPTR 254 #define NOGID 255 @@ -1426,7 +1425,7 @@ int str_nelem(const char *str, int maxptr, char *ptr[]) int np = 0; char *copy0, *copy; - copy0 = strdup(str); + copy0 = gmx_strdup(str); copy = copy0; ltrim(copy); while (*copy != '\0') @@ -1681,7 +1680,7 @@ static void do_wall_params(t_inputrec *ir, } for (i = 0; i < ir->nwall; i++) { - opts->wall_atomtype[i] = strdup(names[i]); + opts->wall_atomtype[i] = gmx_strdup(names[i]); } if (ir->wall_type == ewt93 || ir->wall_type == ewt104) @@ -2344,7 +2343,7 @@ void get_ir(const char *mdparin, const char *mdparout, { if (ir->efep != efepNO) { - opts->couple_moltype = strdup(is->couple_moltype); + opts->couple_moltype = gmx_strdup(is->couple_moltype); if (opts->couple_lam0 == opts->couple_lam1) { warning(wi, "The lambda=0 and lambda=1 states for coupling are identical"); @@ -2936,7 +2935,7 @@ static void decode_cos(char *s, t_cosines *cosine) double a, phi; int i; - t = strdup(s); + t = gmx_strdup(s); trim(t); cosine->n = 0; @@ -3117,7 +3116,7 @@ static void make_swap_groups( 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); @@ -3824,7 +3823,15 @@ static gmx_bool absolute_reference(t_inputrec *ir, gmx_mtop_t *sys, case efbposresSPHERE: AbsRef[XX] = AbsRef[YY] = AbsRef[ZZ] = 1; break; + case efbposresCYLINDERX: + AbsRef[YY] = AbsRef[ZZ] = 1; + break; + case efbposresCYLINDERY: + AbsRef[XX] = AbsRef[ZZ] = 1; + break; case efbposresCYLINDER: + /* efbposres is a synonym for efbposresCYLINDERZ for backwards compatibility */ + case efbposresCYLINDERZ: AbsRef[XX] = AbsRef[YY] = 1; break; case efbposresX: /* d=XX */ diff --git a/src/gromacs/gmxpreprocess/readir.h b/src/gromacs/gmxpreprocess/readir.h index e3fe4e6be3..e20453e200 100644 --- a/src/gromacs/gmxpreprocess/readir.h +++ b/src/gromacs/gmxpreprocess/readir.h @@ -38,9 +38,9 @@ #ifndef GMX_GMXPREPROCESS_READIR_H #define GMX_GMXPREPROCESS_READIR_H -#include "typedefs.h" -#include "readinp.h" -#include "grompp-impl.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/readpull.c b/src/gromacs/gmxpreprocess/readpull.c index aebd0d9e67..2e78022c5b 100644 --- a/src/gromacs/gmxpreprocess/readpull.c +++ b/src/gromacs/gmxpreprocess/readpull.c @@ -34,30 +34,24 @@ * 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 -#endif +#include "gmxpre.h" -#include #include +#include +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pulling/pull.h" #include "gromacs/utility/cstringutil.h" -#include "sysstuff.h" -#include "princ.h" -#include "gromacs/fileio/futil.h" -#include "vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "names.h" -#include "gmx_fatal.h" -#include "macros.h" -#include "index.h" -#include "symtab.h" -#include "readinp.h" -#include "readir.h" -#include "mdatoms.h" -#include "pbc.h" -#include "gromacs/pulling/pull.h" static char pulldim[STRLEN]; diff --git a/src/gromacs/gmxpreprocess/readrot.c b/src/gromacs/gmxpreprocess/readrot.c index cc25957b1a..f6289af803 100644 --- a/src/gromacs/gmxpreprocess/readrot.c +++ b/src/gromacs/gmxpreprocess/readrot.c @@ -34,19 +34,16 @@ * 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 -#endif +#include "gmxpre.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" -#include "readir.h" -#include "names.h" -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/trnio.h" -#include "txtdump.h" - -#include "gmx_fatal.h" +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static char *RotStr = {"Enforced rotation:"}; diff --git a/src/gromacs/gmxpreprocess/resall.c b/src/gromacs/gmxpreprocess/resall.c index a95fb1b27c..fe75e0cc65 100644 --- a/src/gromacs/gmxpreprocess/resall.c +++ b/src/gromacs/gmxpreprocess/resall.c @@ -34,25 +34,23 @@ * 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 -#endif +#include "gmxpre.h" + +#include "resall.h" #include +#include #include -#include "sysstuff.h" +#include "gromacs/fileio/strdb.h" +#include "gromacs/gmxpreprocess/fflibutil.h" +#include "gromacs/gmxpreprocess/pgutil.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/topology/symtab.h" #include "gromacs/utility/cstringutil.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/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" gpp_atomtype_t read_atype(const char *ffdir, t_symtab *tab) { @@ -195,7 +193,7 @@ gmx_bool read_bondeds(int bt, FILE *in, char *line, t_restp *rtp) { if (sscanf(line+n, "%s%n", str, &ni) == 1) { - rtp->rb[bt].b[rtp->rb[bt].nb].a[j] = strdup(str); + rtp->rb[bt].b[rtp->rb[bt].nb].a[j] = gmx_strdup(str); } else { @@ -212,7 +210,7 @@ gmx_bool read_bondeds(int bt, FILE *in, char *line, t_restp *rtp) n++; } rtrim(line+n); - rtp->rb[bt].b[rtp->rb[bt].nb].s = strdup(line+n); + rtp->rb[bt].b[rtp->rb[bt].nb].s = gmx_strdup(line+n); rtp->rb[bt].nb++; } /* give back unused memory */ @@ -452,8 +450,8 @@ void read_resall(char *rrdb, int *nrtpptr, t_restp **rtp, { gmx_fatal(FARGS, "in .rtp file at line:\n%s\n", line); } - rrtp[nrtp].resname = strdup(header); - rrtp[nrtp].filebase = strdup(filebase); + rrtp[nrtp].resname = gmx_strdup(header); + rrtp[nrtp].filebase = gmx_strdup(filebase); get_a_line(in, line, STRLEN); bError = FALSE; diff --git a/src/gromacs/gmxpreprocess/resall.h b/src/gromacs/gmxpreprocess/resall.h index 3f101f5d5d..487ed643e2 100644 --- a/src/gromacs/gmxpreprocess/resall.h +++ b/src/gromacs/gmxpreprocess/resall.h @@ -38,10 +38,10 @@ #ifndef GMX_GMXPREPROCESS_RESALL_H #define GMX_GMXPREPROCESS_RESALL_H -#include "typedefs.h" -#include "hackblock.h" -#include "gpp_atomtype.h" -#include "grompp-impl.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/hackblock.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -58,11 +58,11 @@ t_restp *get_restp(const char *rtpname, int nrtp, t_restp rtp[]); * 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 */ diff --git a/src/gromacs/gmxpreprocess/solvate.cpp b/src/gromacs/gmxpreprocess/solvate.cpp index 27623f165e..5cfbe5d03e 100644 --- a/src/gromacs/gmxpreprocess/solvate.cpp +++ b/src/gromacs/gmxpreprocess/solvate.cpp @@ -34,31 +34,27 @@ * 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 "solvate.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "solvate.h" #include -#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 "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/confio.h" #include "gromacs/fileio/pdbio.h" -#include "pbc.h" +#include "gromacs/gmxlib/conformation-utilities.h" +#include "gromacs/gmxpreprocess/addconf.h" +#include "gromacs/gmxpreprocess/read-conformation.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.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" #ifdef DEBUG static void print_stat(rvec *x, int natoms, matrix box) @@ -117,8 +113,10 @@ static void sort_molecule(t_atoms **atoms_solvt, rvec *x, rvec *v, real *r) 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; } @@ -721,7 +719,7 @@ int gmx_solvate(int argc, char *argv[]) "Keep velocities from input solute and solvent" }, }; - if (!parse_common_args(&argc, argv, PCA_BE_NICE, NFILE, fnm, asize(pa), pa, + if (!parse_common_args(&argc, argv, 0, NFILE, fnm, asize(pa), pa, asize(desc), desc, asize(bugs), bugs, &oenv)) { return 0; diff --git a/src/gromacs/gmxpreprocess/sortwater.c b/src/gromacs/gmxpreprocess/sortwater.c index 63834a9258..73c8b5472d 100644 --- a/src/gromacs/gmxpreprocess/sortwater.c +++ b/src/gromacs/gmxpreprocess/sortwater.c @@ -34,15 +34,16 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" +#include "sortwater.h" + +#include + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.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; diff --git a/src/gromacs/gmxpreprocess/sortwater.h b/src/gromacs/gmxpreprocess/sortwater.h index 670e199334..fc9e704712 100644 --- a/src/gromacs/gmxpreprocess/sortwater.h +++ b/src/gromacs/gmxpreprocess/sortwater.h @@ -38,7 +38,7 @@ #ifndef _sortwater_h #define _sortwater_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/random/random.h" #ifdef __cplusplus diff --git a/src/gromacs/gmxpreprocess/specbond.c b/src/gromacs/gmxpreprocess/specbond.c index e14d21a9dc..2d1bfcf261 100644 --- a/src/gromacs/gmxpreprocess/specbond.c +++ b/src/gromacs/gmxpreprocess/specbond.c @@ -34,23 +34,22 @@ * 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 -#endif +#include "gmxpre.h" + +#include "specbond.h" #include #include #include -#include "typedefs.h" #include "gromacs/fileio/pdbio.h" #include "gromacs/fileio/strdb.h" +#include "gromacs/gmxpreprocess/pdb2top.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" #include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" -#include "specbond.h" -#include "pdb2top.h" -#include "vec.h" -#include "macros.h" gmx_bool yesno(void) { @@ -92,12 +91,12 @@ t_specbond *get_specbonds(int *nspecbond) } else { - sb[n].res1 = strdup(r1buf); - sb[n].res2 = strdup(r2buf); - sb[n].newres1 = strdup(nr1buf); - sb[n].newres2 = strdup(nr2buf); - sb[n].atom1 = strdup(a1buf); - sb[n].atom2 = strdup(a2buf); + sb[n].res1 = gmx_strdup(r1buf); + sb[n].res2 = gmx_strdup(r2buf); + sb[n].newres1 = gmx_strdup(nr1buf); + sb[n].newres2 = gmx_strdup(nr2buf); + sb[n].atom1 = gmx_strdup(a1buf); + sb[n].atom2 = gmx_strdup(a2buf); sb[n].nbond1 = nb1; sb[n].nbond2 = nb2; sb[n].length = length; @@ -219,7 +218,7 @@ static void rename_1res(t_atoms *pdba, int resind, char *newres, gmx_bool bVerbo } /* this used to free *resname, which messes up the symtab! */ snew(pdba->resinfo[resind].rtp, 1); - *pdba->resinfo[resind].rtp = strdup(newres); + *pdba->resinfo[resind].rtp = gmx_strdup(newres); } int mk_specbonds(t_atoms *pdba, rvec x[], gmx_bool bInteractive, @@ -348,8 +347,8 @@ int mk_specbonds(t_atoms *pdba, rvec x[], gmx_bool bInteractive, /* Store the residue numbers in the bonds array */ bonds[nbonds].res1 = specp[i]; bonds[nbonds].res2 = specp[j]; - bonds[nbonds].a1 = strdup(*pdba->atomname[ai]); - bonds[nbonds].a2 = strdup(*pdba->atomname[aj]); + bonds[nbonds].a1 = gmx_strdup(*pdba->atomname[ai]); + bonds[nbonds].a2 = gmx_strdup(*pdba->atomname[aj]); /* rename residues */ if (bSwap) { diff --git a/src/gromacs/gmxpreprocess/specbond.h b/src/gromacs/gmxpreprocess/specbond.h index cd37ca9af3..4c8eedc307 100644 --- a/src/gromacs/gmxpreprocess/specbond.h +++ b/src/gromacs/gmxpreprocess/specbond.h @@ -38,7 +38,7 @@ #ifndef GMX_GMXPREPROCESS_SPECBOND_H #define GMX_GMXPREPROCESS_SPECBOND_H -#include "pdb2top.h" +#include "gromacs/gmxpreprocess/pdb2top.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/ter_db.c b/src/gromacs/gmxpreprocess/ter_db.c index 09758f8e3b..df0722c368 100644 --- a/src/gromacs/gmxpreprocess/ter_db.c +++ b/src/gromacs/gmxpreprocess/ter_db.c @@ -34,28 +34,24 @@ * 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 -#endif +#include "gmxpre.h" + +#include "ter_db.h" #include #include -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "symtab.h" -#include "gromacs/fileio/futil.h" -#include "resall.h" -#include "h_db.h" -#include "gromacs/utility/cstringutil.h" -#include "gmx_fatal.h" -#include "ter_db.h" -#include "toputil.h" #include "gromacs/fileio/gmxfio.h" -#include "fflibutil.h" - #include "gromacs/fileio/strdb.h" +#include "gromacs/gmxpreprocess/fflibutil.h" +#include "gromacs/gmxpreprocess/h_db.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* use bonded types definitions in hackblock.h */ #define ekwRepl ebtsNR+1 @@ -122,7 +118,7 @@ static void read_atom(char *line, gmx_bool bAdd, { if (nr == 4) { - *nname = strdup(buf[i++]); + *nname = gmx_strdup(buf[i++]); } else { @@ -292,8 +288,8 @@ static void read_ter_db_file(char *fn, srenew(tb, maxnb); } clear_t_hackblock(&tb[nb]); - tb[nb].name = strdup(header); - tb[nb].filebase = strdup(filebase); + tb[nb].name = gmx_strdup(header); + tb[nb].filebase = gmx_strdup(filebase); } } else @@ -331,7 +327,7 @@ static void read_ter_db_file(char *fn, gmx_fatal(FARGS, "Reading Termini Database '%s': " "expected atom name on line\n%s", fn, line); } - tb[nb].hack[nh].oname = strdup(buf); + tb[nb].hack[nh].oname = gmx_strdup(buf); /* we only replace or delete one atom at a time */ tb[nb].hack[nh].nr = 1; } @@ -355,7 +351,7 @@ static void read_ter_db_file(char *fn, { if (tb[nb].hack[nh].oname != NULL) { - tb[nb].hack[nh].nname = strdup(tb[nb].hack[nh].oname); + tb[nb].hack[nh].nname = gmx_strdup(tb[nb].hack[nh].oname); } else { @@ -373,7 +369,7 @@ static void read_ter_db_file(char *fn, { if (sscanf(line+n, "%s%n", buf, &ni) == 1) { - tb[nb].rb[kwnr].b[tb[nb].rb[kwnr].nb].a[j] = strdup(buf); + tb[nb].rb[kwnr].b[tb[nb].rb[kwnr].nb].a[j] = gmx_strdup(buf); } else { @@ -387,7 +383,7 @@ static void read_ter_db_file(char *fn, } strcpy(buf, ""); sscanf(line+n, "%s", buf); - tb[nb].rb[kwnr].b[tb[nb].rb[kwnr].nb].s = strdup(buf); + tb[nb].rb[kwnr].b[tb[nb].rb[kwnr].nb].s = gmx_strdup(buf); tb[nb].rb[kwnr].nb++; } else diff --git a/src/gromacs/gmxpreprocess/ter_db.h b/src/gromacs/gmxpreprocess/ter_db.h index 3f859699af..45477d6207 100644 --- a/src/gromacs/gmxpreprocess/ter_db.h +++ b/src/gromacs/gmxpreprocess/ter_db.h @@ -38,9 +38,8 @@ #ifndef GMX_GMXPREPROCESS_TER_DB_H #define GMX_GMXPREPROCESS_TER_DB_H -#include "sysstuff.h" -#include "hackblock.h" -#include "grompp-impl.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/hackblock.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/tests/insert-molecules.cpp b/src/gromacs/gmxpreprocess/tests/insert-molecules.cpp index 2f535f8241..b33d211ed4 100644 --- a/src/gromacs/gmxpreprocess/tests/insert-molecules.cpp +++ b/src/gromacs/gmxpreprocess/tests/insert-molecules.cpp @@ -39,10 +39,14 @@ * \author Mark Abraham */ -#include "../insert-molecules.h" -#include "testutils/integrationtests.h" +#include "gmxpre.h" + +#include "gromacs/gmxpreprocess/insert-molecules.h" + +#include "gromacs/utility/futil.h" + #include "testutils/cmdlinetest.h" -#include "gromacs/fileio/futil.h" +#include "testutils/integrationtests.h" namespace { diff --git a/src/gromacs/gmxpreprocess/tests/solvate.cpp b/src/gromacs/gmxpreprocess/tests/solvate.cpp index 71202b62ec..86be31d271 100644 --- a/src/gromacs/gmxpreprocess/tests/solvate.cpp +++ b/src/gromacs/gmxpreprocess/tests/solvate.cpp @@ -39,10 +39,14 @@ * \author Mark Abraham */ -#include "../solvate.h" -#include "testutils/integrationtests.h" +#include "gmxpre.h" + +#include "gromacs/gmxpreprocess/solvate.h" + +#include "gromacs/utility/futil.h" + #include "testutils/cmdlinetest.h" -#include "gromacs/fileio/futil.h" +#include "testutils/integrationtests.h" namespace { diff --git a/src/gromacs/gmxpreprocess/tomorse.c b/src/gromacs/gmxpreprocess/tomorse.c index 5bcf84f737..f1781e9043 100644 --- a/src/gromacs/gmxpreprocess/tomorse.c +++ b/src/gromacs/gmxpreprocess/tomorse.c @@ -35,26 +35,23 @@ * 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 -#endif +#include "gmxpre.h" + +#include "tomorse.h" #include #include #include #include -#include "typedefs.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/utility/cstringutil.h" -#include "grompp-impl.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "toputil.h" -#include "gmx_fatal.h" -#include "gpp_atomtype.h" -#include "macros.h" - -#include "tomorse.h" typedef struct { char *ai, *aj; @@ -87,8 +84,8 @@ static t_2morse *read_dissociation_energies(int *n2morse) srenew(t2m, maxn2m); } /* Copy the values */ - t2m[n2m].ai = strdup(ai); - t2m[n2m].aj = strdup(aj); + t2m[n2m].ai = gmx_strdup(ai); + t2m[n2m].aj = gmx_strdup(aj); t2m[n2m].e_diss = e_diss; /* Increment counter */ n2m++; @@ -283,6 +280,7 @@ void convert_harmonics(int nrmols, t_molinfo mols[], gpp_atomtype_t atype) 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); diff --git a/src/gromacs/gmxpreprocess/tomorse.h b/src/gromacs/gmxpreprocess/tomorse.h index b96e8a02f5..6a39ea6fd8 100644 --- a/src/gromacs/gmxpreprocess/tomorse.h +++ b/src/gromacs/gmxpreprocess/tomorse.h @@ -38,12 +38,11 @@ #ifndef GMX_GMXPREPROCESS_TOMORSE_H #define GMX_GMXPREPROCESS_TOMORSE_H -#ifdef HAVE_CONFIG_H -#include -#endif - #include -#include "typedefs.h" + +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/topdirs.c b/src/gromacs/gmxpreprocess/topdirs.c index 212bf1ea6f..1c42dfab2d 100644 --- a/src/gromacs/gmxpreprocess/topdirs.c +++ b/src/gromacs/gmxpreprocess/topdirs.c @@ -34,19 +34,17 @@ * 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 -#endif +#include "gmxpre.h" + +#include "topdirs.h" -#include #include +#include -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/cstringutil.h" -#include "gmx_fatal.h" -#include "topdirs.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* Must correspond to the directive enum in grompp-impl.h */ static const char *directive_names[d_maxdir+1] = { diff --git a/src/gromacs/gmxpreprocess/topdirs.h b/src/gromacs/gmxpreprocess/topdirs.h index f619c8a4ea..fa62531eeb 100644 --- a/src/gromacs/gmxpreprocess/topdirs.h +++ b/src/gromacs/gmxpreprocess/topdirs.h @@ -38,7 +38,7 @@ #ifndef GMX_GMXPREPROCESS_TOPDIRS_H #define GMX_GMXPREPROCESS_TOPDIRS_H -#include "grompp-impl.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/topio.c b/src/gromacs/gmxpreprocess/topio.c index 00addd9453..e09518e8b2 100644 --- a/src/gromacs/gmxpreprocess/topio.c +++ b/src/gromacs/gmxpreprocess/topio.c @@ -34,45 +34,45 @@ * 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 -#endif +#include "gmxpre.h" +#include "topio.h" + +#include +#include +#include #include -#include #include +#include #include -#include -#include -#include -#include "gromacs/fileio/futil.h" -#include "sysstuff.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" +#include + #include "gromacs/fileio/gmxfio.h" -#include "txtdump.h" -#include "physics.h" -#include "macros.h" -#include "names.h" -#include "gromacs/utility/cstringutil.h" -#include "symtab.h" -#include "gmx_fatal.h" -#include "warninp.h" -#include "vsite_parm.h" - -#include "grompp-impl.h" -#include "toputil.h" -#include "toppush.h" -#include "topdirs.h" -#include "gpp_nextnb.h" -#include "topio.h" -#include "topshake.h" -#include "gmxcpp.h" -#include "gpp_bond_atomtype.h" -#include "genborn.h" +#include "gromacs/gmxpreprocess/gmxcpp.h" +#include "gromacs/gmxpreprocess/gpp_bond_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_nextnb.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/topdirs.h" +#include "gromacs/gmxpreprocess/toppush.h" +#include "gromacs/gmxpreprocess/topshake.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/gmxpreprocess/vsite_parm.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/warninp.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/symtab.h" +#include "gromacs/topology/topology.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define OPENDIR '[' /* starting sign for directive */ #define CLOSEDIR ']' /* ending sign for directive */ @@ -336,7 +336,7 @@ static char ** cpp_opts(const char *define, const char *include, else { srenew(cppopts, ++ncppopts); - cppopts[ncppopts-1] = strdup(buf); + cppopts[ncppopts-1] = gmx_strdup(buf); } sfree(buf); ptr = rptr; @@ -639,7 +639,7 @@ static char **read_topol(const char *infile, const char *outfile, set_warning_line(wi, cpp_cur_file(&handle), cpp_cur_linenr(&handle)); - pline = strdup(line); + pline = gmx_strdup(line); /* Strip trailing '\' from pline, if it exists */ sl = strlen(pline); @@ -657,7 +657,7 @@ static char **read_topol(const char *infile, const char *outfile, /* Since we depend on the '\' being present to continue to read, we copy line * to a tmp string, strip the '\' from that string, and cat it to pline */ - tmp_line = strdup(line); + tmp_line = gmx_strdup(line); sl = strlen(tmp_line); if ((sl > 0) && (tmp_line[sl-1] == CONTINUE)) @@ -696,7 +696,7 @@ static char **read_topol(const char *infile, const char *outfile, * without the brackets into dirstr, then * skip spaces and tabs on either side of directive */ - dirstr = strdup((pline+1)); + dirstr = gmx_strdup((pline+1)); if ((dummy2 = strchr (dirstr, CLOSEDIR)) != NULL) { (*dummy2) = 0; @@ -995,7 +995,7 @@ static char **read_topol(const char *infile, const char *outfile, break; } default: - fprintf (stderr, "case: %d\n", d); + fprintf (stderr, "case: %d\n", (int)d); gmx_incons("unknown directive"); } } @@ -1360,7 +1360,6 @@ static void generate_qmexcl_moltype(gmx_moltype_t *molt, unsigned char *grpnr, 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]) || diff --git a/src/gromacs/gmxpreprocess/topio.h b/src/gromacs/gmxpreprocess/topio.h index 03b8966bcf..e03b102aa4 100644 --- a/src/gromacs/gmxpreprocess/topio.h +++ b/src/gromacs/gmxpreprocess/topio.h @@ -38,10 +38,10 @@ #ifndef GMX_GMXPREPROCESS_TOPIO_H #define GMX_GMXPREPROCESS_TOPIO_H -#include "typedefs.h" -#include "readir.h" -#include "grompp-impl.h" -#include "gpp_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -55,7 +55,7 @@ char **do_top(gmx_bool bVerbose, 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, diff --git a/src/gromacs/gmxpreprocess/toppush.c b/src/gromacs/gmxpreprocess/toppush.c index fab21dda51..8272b7787e 100644 --- a/src/gromacs/gmxpreprocess/toppush.c +++ b/src/gromacs/gmxpreprocess/toppush.c @@ -34,28 +34,27 @@ * 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 -#endif +#include "gmxpre.h" +#include "toppush.h" + +#include #include #include -#include - -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" +#include + +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_bond_atomtype.h" +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/gmxpreprocess/topdirs.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/warninp.h" +#include "gromacs/topology/symtab.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/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) diff --git a/src/gromacs/gmxpreprocess/toppush.h b/src/gromacs/gmxpreprocess/toppush.h index d28a4c5f25..1e14c57bc7 100644 --- a/src/gromacs/gmxpreprocess/toppush.h +++ b/src/gromacs/gmxpreprocess/toppush.h @@ -38,11 +38,11 @@ #ifndef GMX_GMXPREPROCESS_TOPPUSH_H #define GMX_GMXPREPROCESS_TOPPUSH_H -#include "typedefs.h" -#include "toputil.h" -#include "gpp_atomtype.h" -#include "gpp_bond_atomtype.h" -#include "warninp.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_bond_atomtype.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/warninp.h" #ifdef __cplusplus extern "C" { @@ -60,7 +60,7 @@ void generate_nbparams(int comb, int funct, t_params plist[], 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); @@ -86,13 +86,13 @@ push_gb_params(gpp_atomtype_t atype, 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, @@ -112,7 +112,7 @@ void push_mol(int nrmols, t_molinfo mols[], char *pline, 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); @@ -127,7 +127,7 @@ void b_to_b2(t_blocka *b, t_block2 *b2); 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. diff --git a/src/gromacs/gmxpreprocess/topshake.c b/src/gromacs/gmxpreprocess/topshake.c index fa00694a6e..bd2662df2a 100644 --- a/src/gromacs/gmxpreprocess/topshake.c +++ b/src/gromacs/gmxpreprocess/topshake.c @@ -35,24 +35,21 @@ * 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 -#endif +#include "gmxpre.h" + +#include "topshake.h" #include #include -#include "sysstuff.h" -#include "physics.h" -#include "macros.h" -#include "readir.h" -#include "typedefs.h" -#include "topshake.h" -#include "toppush.h" -#include "toputil.h" -#include "topdirs.h" +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/gmxpreprocess/topdirs.h" +#include "gromacs/gmxpreprocess/toppush.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" static void copy_bond (t_params *pr, int to, int from) /* copies an entry in a bond list to another position. diff --git a/src/gromacs/gmxpreprocess/topshake.h b/src/gromacs/gmxpreprocess/topshake.h index 2844b9f4dd..15e09da662 100644 --- a/src/gromacs/gmxpreprocess/topshake.h +++ b/src/gromacs/gmxpreprocess/topshake.h @@ -38,7 +38,7 @@ #ifndef GMX_GMXPREPROCESS_TOPSHAKE_H #define GMX_GMXPREPROCESS_TOPSHAKE_H -#include "topio.h" +#include "gromacs/gmxpreprocess/topio.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/toputil.c b/src/gromacs/gmxpreprocess/toputil.c index 3cf53cd7d9..ff567c8ea2 100644 --- a/src/gromacs/gmxpreprocess/toputil.c +++ b/src/gromacs/gmxpreprocess/toputil.c @@ -34,22 +34,21 @@ * 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 -#endif +#include "gmxpre.h" + +#include "toputil.h" #include #include #include +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/topdirs.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/symtab.h" +#include "gromacs/utility/fatalerror.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" /* UTILITIES */ diff --git a/src/gromacs/gmxpreprocess/toputil.h b/src/gromacs/gmxpreprocess/toputil.h index fd4259440b..d7d040effe 100644 --- a/src/gromacs/gmxpreprocess/toputil.h +++ b/src/gromacs/gmxpreprocess/toputil.h @@ -38,8 +38,8 @@ #ifndef GMX_GMXPREPROCESS_TOPUTIL_H #define GMX_GMXPREPROCESS_TOPUTIL_H -#include "grompp-impl.h" -#include "gpp_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/vsite_parm.c b/src/gromacs/gmxpreprocess/vsite_parm.c index 87b7763c38..5a1088711a 100644 --- a/src/gromacs/gmxpreprocess/vsite_parm.c +++ b/src/gromacs/gmxpreprocess/vsite_parm.c @@ -34,27 +34,25 @@ * 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 -#endif +#include "gmxpre.h" + +#include "vsite_parm.h" -#include -#include #include +#include +#include #include -#include "vsite_parm.h" -#include "gromacs/utility/smalloc.h" -#include "resall.h" -#include "add_par.h" -#include "vec.h" -#include "toputil.h" -#include "physics.h" -#include "index.h" -#include "names.h" -#include "gmx_fatal.h" + +#include "gromacs/gmxpreprocess/add_par.h" +#include "gromacs/gmxpreprocess/resall.h" +#include "gromacs/gmxpreprocess/toputil.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/utility/cstringutil.h" -#include "physics.h" -#include "macros.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" typedef struct { t_iatom a[4]; @@ -291,7 +289,7 @@ static void print_bad(FILE *fp, fprintf(fp, "bonds:"); for (i = 0; i < nrbond; i++) { - fprintf(fp, " %u-%u (%g)", + fprintf(fp, " %d-%d (%g)", bonds[i].AI+1, bonds[i].AJ+1, bonds[i].c); } fprintf(fp, "\n"); @@ -301,7 +299,7 @@ static void print_bad(FILE *fp, fprintf(fp, "angles:"); for (i = 0; i < nrang; i++) { - fprintf(fp, " %u-%u-%u (%g)", + fprintf(fp, " %d-%d-%d (%g)", angles[i].AI+1, angles[i].AJ+1, angles[i].AK+1, angles[i].c); } @@ -312,7 +310,7 @@ static void print_bad(FILE *fp, fprintf(fp, "idihs:"); for (i = 0; i < nridih; i++) { - fprintf(fp, " %u-%u-%u-%u (%g)", + fprintf(fp, " %d-%d-%d-%d (%g)", idihs[i].AI+1, idihs[i].AJ+1, idihs[i].AK+1, idihs[i].AL+1, idihs[i].c); } @@ -424,7 +422,7 @@ static gmx_bool calc_vsite3_param(gpp_atomtype_t atype, int i; for (i = 0; i < 4; i++) { - fprintf(debug, "atom %u type %s ", + fprintf(debug, "atom %d type %s ", param->a[i]+1, get_atomtype_name_AB(&at->atom[param->a[i]], atype)); } @@ -495,7 +493,7 @@ static gmx_bool calc_vsite3_param(gpp_atomtype_t atype, if (debug) { - fprintf(debug, "params for vsite3 %u: %g %g\n", + fprintf(debug, "params for vsite3 %d: %g %g\n", param->AI+1, param->C0, param->C1); } @@ -529,7 +527,7 @@ static gmx_bool calc_vsite3fd_param(t_param *param, if (debug) { - fprintf(debug, "params for vsite3fd %u: %g %g\n", + fprintf(debug, "params for vsite3fd %d: %g %g\n", param->AI+1, param->C0, param->C1); } return bError; @@ -564,7 +562,7 @@ static gmx_bool calc_vsite3fad_param(t_param *param, if (debug) { - fprintf(debug, "params for vsite3fad %u: %g %g\n", + fprintf(debug, "params for vsite3fad %d: %g %g\n", param->AI+1, param->C0, param->C1); } return bError; @@ -591,7 +589,7 @@ static gmx_bool calc_vsite3out_param(gpp_atomtype_t atype, int i; for (i = 0; i < 4; i++) { - fprintf(debug, "atom %u type %s ", + fprintf(debug, "atom %d type %s ", param->a[i]+1, get_atomtype_name_AB(&at->atom[param->a[i]], atype)); } fprintf(debug, "\n"); @@ -676,7 +674,7 @@ static gmx_bool calc_vsite3out_param(gpp_atomtype_t atype, } if (debug) { - fprintf(debug, "params for vsite3out %u: %g %g %g\n", + fprintf(debug, "params for vsite3out %d: %g %g %g\n", param->AI+1, param->C0, param->C1, param->C2); } return bError; @@ -734,7 +732,7 @@ static gmx_bool calc_vsite4fd_param(t_param *param, param->C2 = -bij; if (debug) { - fprintf(debug, "params for vsite4fd %u: %g %g %g\n", + fprintf(debug, "params for vsite4fd %d: %g %g %g\n", param->AI+1, param->C0, param->C1, param->C2); } } @@ -797,7 +795,7 @@ calc_vsite4fdn_param(t_param *param, if (debug) { - fprintf(debug, "params for vsite4fdn %u: %g %g %g\n", + fprintf(debug, "params for vsite4fdn %d: %g %g %g\n", param->AI+1, param->C0, param->C1, param->C2); } } @@ -868,7 +866,7 @@ int set_vsites(gmx_bool bVerbose, t_atoms *atoms, gpp_atomtype_t atype, if (debug) { fprintf(debug, "Found %d bonds, %d angles and %d idihs " - "for virtual site %u (%s)\n", nrbond, nrang, nridih, + "for virtual site %d (%s)\n", nrbond, nrang, nridih, plist[ftype].param[i].AI+1, interaction_function[ftype].longname); print_bad(debug, nrbond, bonds, nrang, angles, nridih, idihs); @@ -1000,7 +998,7 @@ static void check_vsite_constraints(t_params *plist, atom = ps->param[i].a[k]; if (vsite_type[atom] != NOTSET) { - fprintf(stderr, "ERROR: Cannot have constraint (%u-%u) with virtual site (%u)\n", + fprintf(stderr, "ERROR: Cannot have constraint (%d-%d) with virtual site (%d)\n", ps->param[i].AI+1, ps->param[i].AJ+1, atom+1); n++; } @@ -1042,7 +1040,7 @@ static void clean_vsite_bonds(t_params *plist, t_pindex pindex[], nvsite = 0; if (debug) { - fprintf(debug, "constr %u %u:", ps->param[i].AI+1, ps->param[i].AJ+1); + fprintf(debug, "constr %d %d:", ps->param[i].AI+1, ps->param[i].AJ+1); } for (k = 0; (k < 2) && !bKeep && !bRemove; k++) { @@ -1439,10 +1437,10 @@ static void clean_vsite_dihs(t_params *plist, t_pindex pindex[], } if (debug) { - fprintf(debug, "dih w. vsite: %u %u %u %u\n", + fprintf(debug, "dih w. vsite: %d %d %d %d\n", ps->param[i].AI+1, ps->param[i].AJ+1, ps->param[i].AK+1, ps->param[i].AL+1); - fprintf(debug, "vsite %u from: %u %u %u\n", + fprintf(debug, "vsite %d from: %d %d %d\n", atom+1, vsiteatoms[0]+1, vsiteatoms[1]+1, vsiteatoms[2]+1); } } @@ -1501,7 +1499,7 @@ static void clean_vsite_dihs(t_params *plist, t_pindex pindex[], bKeep = TRUE; if (debug) { - fprintf(debug, "unused atom in dih: %u\n", atom+1); + fprintf(debug, "unused atom in dih: %d\n", atom+1); } } } diff --git a/src/gromacs/gmxpreprocess/vsite_parm.h b/src/gromacs/gmxpreprocess/vsite_parm.h index cbb3bea960..3001e74bc0 100644 --- a/src/gromacs/gmxpreprocess/vsite_parm.h +++ b/src/gromacs/gmxpreprocess/vsite_parm.h @@ -38,9 +38,9 @@ #ifndef GMX_GMXPREPROCESS_VSITE_PARM_H #define GMX_GMXPREPROCESS_VSITE_PARM_H -#include "typedefs.h" -#include "grompp-impl.h" -#include "gpp_atomtype.h" +#include "gromacs/gmxpreprocess/gpp_atomtype.h" +#include "gromacs/gmxpreprocess/grompp-impl.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxpreprocess/x2top.c b/src/gromacs/gmxpreprocess/x2top.c index 5a0c27af1b..b7b3f7235f 100644 --- a/src/gromacs/gmxpreprocess/x2top.c +++ b/src/gromacs/gmxpreprocess/x2top.c @@ -34,40 +34,35 @@ * 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 "x2top.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "x2top.h" #include -#include "copyrite.h" -#include "gromacs/math/utilities.h" -#include "macros.h" -#include "bondf.h" +#include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/confio.h" #include "gromacs/fileio/gmxfio.h" +#include "gromacs/gmxpreprocess/gen_ad.h" +#include "gromacs/gmxpreprocess/gpp_nextnb.h" +#include "gromacs/gmxpreprocess/hackblock.h" +#include "gromacs/gmxpreprocess/nm2type.h" +#include "gromacs/gmxpreprocess/pdb2top.h" +#include "gromacs/gmxpreprocess/toppush.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/listed-forces/bonded.h" +#include "gromacs/math/units.h" +#include "gromacs/math/utilities.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" -#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 "txtdump.h" -#include "readinp.h" -#include "names.h" -#include "toppush.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" char atp[7] = "HCNOSX"; #define NATP (asize(atp)-1) @@ -542,7 +537,7 @@ int gmx_x2top(int argc, char *argv[]) bOPLS = (strcmp(forcefield, "oplsaa") == 0); - mymol.name = strdup(molnm); + mymol.name = gmx_strdup(molnm); mymol.nr = 1; /* Init parameter lists */ @@ -635,10 +630,10 @@ int gmx_x2top(int argc, char *argv[]) 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()); + output_env_get_program_display_name(oenv)); printf(" Please verify atomtypes and charges by comparison to other\n"); printf(" topologies.\n"); diff --git a/src/gromacs/gmxpreprocess/xlate.c b/src/gromacs/gmxpreprocess/xlate.c index 4391a33b7a..c4d2c7cfe2 100644 --- a/src/gromacs/gmxpreprocess/xlate.c +++ b/src/gromacs/gmxpreprocess/xlate.c @@ -34,24 +34,23 @@ * 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 -#endif +#include "gmxpre.h" + +#include "xlate.h" #include #include -#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/gmxpreprocess/fflibutil.h" +#include "gromacs/gmxpreprocess/hackblock.h" +#include "gromacs/legacyheaders/typedefs.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; @@ -91,12 +90,12 @@ static void get_xlatoms(const char *fn, FILE *fp, } srenew(xl, n+1); - xl[n].filebase = strdup(filebase); + xl[n].filebase = gmx_strdup(filebase); /* Use wildcards... */ if (strcmp(rbuf, "*") != 0) { - xl[n].res = strdup(rbuf); + xl[n].res = gmx_strdup(rbuf); } else { @@ -109,8 +108,8 @@ static void get_xlatoms(const char *fn, FILE *fp, *_ptr = ' '; } - xl[n].atom = strdup(abuf); - xl[n].replace = strdup(repbuf); + xl[n].atom = gmx_strdup(abuf); + xl[n].replace = gmx_strdup(repbuf); n++; } @@ -137,7 +136,7 @@ static void done_xlatom(int nxlate, t_xlate_atom *xlatom) 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; @@ -238,7 +237,7 @@ void rename_atoms(const char *xlfile, const char *ffdir, /* Don't free the old atomname, * since it might be in the symtab. */ - ptr0 = strdup(xlatom[i].replace); + ptr0 = gmx_strdup(xlatom[i].replace); if (bVerbose) { printf("Renaming atom '%s' in residue %d %s to '%s'\n", diff --git a/src/gromacs/gmxpreprocess/xlate.h b/src/gromacs/gmxpreprocess/xlate.h index 425c076bcb..aa1c61006d 100644 --- a/src/gromacs/gmxpreprocess/xlate.h +++ b/src/gromacs/gmxpreprocess/xlate.h @@ -38,18 +38,23 @@ #ifndef GMX_GMXPREPROCESS_XLATE_H #define GMX_GMXPREPROCESS_XLATE_H -#include "index.h" +#include "gromacs/gmxpreprocess/hackblock.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 diff --git a/src/gromacs/gromacs-config-version.cmake.cmakein b/src/gromacs/gromacs-config-version.cmake.cmakein new file mode 100644 index 0000000000..c405ebb0a7 --- /dev/null +++ b/src/gromacs/gromacs-config-version.cmake.cmakein @@ -0,0 +1,45 @@ +# +# 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. + +set(PACKAGE_VERSION "@GMX_VERSION@") + +if ("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + # TODO: Check that major and minor version match. + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() diff --git a/src/gromacs/gromacs-config.cmake.cmakein b/src/gromacs/gromacs-config.cmake.cmakein new file mode 100644 index 0000000000..c7dfb0d8f7 --- /dev/null +++ b/src/gromacs/gromacs-config.cmake.cmakein @@ -0,0 +1,131 @@ +# +# 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. + +set(_gmx_cmake_dir ${CMAKE_CURRENT_LIST_DIR}) +get_filename_component(_gmx_root_dir "${_gmx_cmake_dir}" PATH) +get_filename_component(_gmx_root_dir "${_gmx_root_dir}" PATH) +get_filename_component(_gmx_root_dir "${_gmx_root_dir}" PATH) + +# Find the exported targets (file name depends on whether shared or static +# libraries were built to allow both to coexist in the same prefix), and +# import them. +set(_gmx_import_file ${_gmx_cmake_dir}/libgromacs.cmake) +if (GROMACS_PREFER_STATIC OR NOT EXISTS ${_gmx_import_file}) + set(_gmx_import_file_static ${_gmx_cmake_dir}/libgromacs_static.cmake) + if (EXISTS ${_gmx_import_file_static}) + set(_gmx_import_file ${_gmx_import_file_static}) + endif() + unset(_gmx_import_file_static) +endif() +if (NOT EXISTS ${_gmx_import_file}) + message(FATAL_ERROR + "The GROMACS installation at ${_gmx_root_dir} does not contain " + "libgromacs.cmake or libgromacs_static.cmake to define the imported " + "targets.") +endif() +include(${_gmx_import_file}) +unset(_gmx_import_file) + +set(GROMACS_INCLUDE_DIRS) +set(_include_dirs "@INSTALLED_HEADER_INCLUDE_DIRS@") +foreach (_dir ${_include_dirs}) + if (IS_ABSOLUTE ${_dir}) + list(APPEND GROMACS_INCLUDE_DIRS ${_dir}) + else() + list(APPEND GROMACS_INCLUDE_DIRS ${_gmx_root_dir}/${_dir}) + endif() +endforeach() +set(GROMACS_LIBRARIES libgromacs) +set(GROMACS_DEFINITIONS @INSTALLED_HEADER_DEFINITIONS@) +set(GROMACS_IS_DOUBLE @GMX_DOUBLE@) +if (DEFINED GROMACS_SUFFIX AND NOT "${GROMACS_SUFFIX}" STREQUAL "@GMX_LIBS_SUFFIX@") + message(FATAL_ERROR "GROMACS_SUFFIX is set inconsistently, expected '@GMX_LIBS_SUFFIX@'") +endif() +set(GROMACS_SUFFIX "@GMX_LIBS_SUFFIX@") +set(GROMACS_CXX_COMPILER "@GROMACS_CXX_COMPILER@") +set(GROMACS_CXX_COMPILER_ID "@CMAKE_CXX_COMPILER_ID@") +set(GROMACS_CXX_COMPILER_VERSION "@CMAKE_CXX_COMPILER_VERSION@") + +# Produce a message, since find_package() prints nothing on success. +include(FindPackageMessage) +# The version info is set by CMake when it determines whether this file +# is suitable (by calling the version file, which sets PACKAGE_VERSION). +# TODO: Make also the full version string available from somewhere. +set(_gmx_info "${GROMACS_VERSION}") +if (GROMACS_SUFFIX) + set(_gmx_info "${_gmx_info} (suffix: ${GROMACS_SUFFIX})") +endif() +find_package_message(GROMACS "Found GROMACS: ${_gmx_info}" "${CMAKE_CURRENT_LIST_FILE}") + +unset(_gmx_cmake_dir) +unset(_gmx_root_dir) +unset(_gmx_info) + +##################################################################### +# Macros for use in calling code + +# This does not work as a function if called as gromacs_check_double(GMX_DOUBLE) +# (i.e., with the parameter value equal to the formal parameter name) because +# of scoping rules. +macro (gromacs_check_double GMX_DOUBLE) + if (${GMX_DOUBLE} AND NOT GROMACS_IS_DOUBLE) + message(FATAL_ERROR + "The found GROMACS installation is compiled in mixed precision, " + "but double-precision compilation was requested with ${GMX_DOUBLE}=${${GMX_DOUBLE}}") + elseif (NOT ${GMX_DOUBLE} AND GROMACS_IS_DOUBLE) + message(FATAL_ERROR + "The found GROMACS installation is compiled in double precision, " + "but mixed-precision compilation was requested with ${GMX_DOUBLE}=${${GMX_DOUBLE}}") + endif() +endmacro() + +function (gromacs_check_compiler LANG) + if (NOT LANG STREQUAL CXX) + message(FATAL_ERROR + "gromacs_check_compiler(CXX) is currently the only supported call") + endif() + # Deal with possible symlinks (it is fine if one of the used compilers was + # a symlink to another one). + get_filename_component(_cmake_compiler_realpath ${CMAKE_${LANG}_COMPILER} REALPATH) + if (NOT "${_cmake_compiler_realpath}" STREQUAL "${GROMACS_${LANG}_COMPILER}" OR + NOT "${CMAKE_${LANG}_COMPILER_ID}" STREQUAL "${GROMACS_${LANG}_COMPILER_ID}" OR + NOT "${CMAKE_${LANG}_COMPILER_VERSION}" STREQUAL "${GROMACS_${LANG}_COMPILER_VERSION}") + message(WARNING + "You are compiling with a different C++ compiler than what was used " + "to compile GROMACS. This may lead to linking or runtime problems. " + "GROMACS was compiled with " + "${GROMACS_${LANG}_COMPILER_ID} ${GROMACS_${LANG}_COMPILER_VERSION} " + "(${GROMACS_${LANG}_COMPILER}).") + endif() +endfunction() diff --git a/src/gromacs/imd/imd.c b/src/gromacs/imd/imd.c index 2e8cbcece8..7c608c7bd5 100644 --- a/src/gromacs/imd/imd.c +++ b/src/gromacs/imd/imd.c @@ -45,12 +45,13 @@ * * \ingroup module_imd */ +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "imd.h" +#include "config.h" +#include #include #ifdef GMX_NATIVE_WINDOWS @@ -59,21 +60,21 @@ #include #endif -#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 "names.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/imd/imdsocket.h" +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/sighandler.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/groupcoord.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/timing/wallcycle.h" - -#include "gmx_fatal.h" +#include "gromacs/topology/mtop_util.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 diff --git a/src/gromacs/imd/imd.h b/src/gromacs/imd/imd.h index ea6685c406..01aa585425 100644 --- a/src/gromacs/imd/imd.h +++ b/src/gromacs/imd/imd.h @@ -60,8 +60,11 @@ #ifndef GMX_IMD_IMD_H #define GMX_IMD_IMD_H -#include "typedefs.h" -#include "../fileio/filenm.h" +#include "config.h" + +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/timing/wallcycle.h" #ifdef GMX_NATIVE_WINDOWS #include diff --git a/src/gromacs/imd/imdsocket.c b/src/gromacs/imd/imdsocket.c index 6febf83e55..ef70405d93 100644 --- a/src/gromacs/imd/imdsocket.c +++ b/src/gromacs/imd/imdsocket.c @@ -46,17 +46,18 @@ * \ingroup module_imd */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "imdsocket.h" +#include "config.h" +#include #include -#include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "imdsocket.h" -#include "imd.h" +#include "gromacs/imd/imd.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" #ifdef GMX_NATIVE_WINDOWS #ifdef GMX_HAVE_WINSOCK @@ -78,7 +79,6 @@ extern int imdsock_winsockinit() #endif #else /* On UNIX, we can use nice errors from errno.h */ -#include #include #endif @@ -132,7 +132,7 @@ extern IMDSocket* imdsock_create() extern int imdsock_bind(IMDSocket *sock, int port) { - int ret = -1; + int ret; #ifdef GMX_IMD @@ -142,6 +142,8 @@ extern int imdsock_bind(IMDSocket *sock, int port) /* Try to bind to address and port ...*/ ret = bind(sock->sockfd, (struct sockaddr *) &sock->address, sizeof(sock->address)); +#else + ret = -1; #endif if (ret) @@ -155,12 +157,14 @@ extern int imdsock_bind(IMDSocket *sock, int port) 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) @@ -174,7 +178,7 @@ extern int imd_sock_listen(IMDSocket *sock) extern IMDSocket* imdsock_accept(IMDSocket *sock) { - int ret = -1; + int ret; #ifdef GMX_IMD socklen_t length; @@ -206,7 +210,7 @@ extern IMDSocket* imdsock_accept(IMDSocket *sock) extern int imdsock_getport(IMDSocket *sock, int *port) { - int ret = -1; + int ret; #ifdef GMX_IMD struct sockaddr_in sin; socklen_t len; diff --git a/src/gromacs/imd/imdsocket.h b/src/gromacs/imd/imdsocket.h index 5903db3cac..4effb0c76a 100644 --- a/src/gromacs/imd/imdsocket.h +++ b/src/gromacs/imd/imdsocket.h @@ -51,6 +51,8 @@ #ifndef GMX_IMD_IMDSOCKET_H #define GMX_IMD_IMDSOCKET_H +#include "config.h" + /* Check if we can/should use winsock or standard UNIX sockets. */ #ifdef GMX_NATIVE_WINDOWS #ifdef GMX_HAVE_WINSOCK @@ -58,8 +60,8 @@ #define GMX_IMD #endif #else -#include #include +#include #define GMX_IMD #endif diff --git a/src/gromacs/legacyheaders/CMakeLists.txt b/src/gromacs/legacyheaders/CMakeLists.txt index 586797fab9..aea277ee6f 100644 --- a/src/gromacs/legacyheaders/CMakeLists.txt +++ b/src/gromacs/legacyheaders/CMakeLists.txt @@ -35,7 +35,7 @@ # includes: Nothing to build, just installation file(GLOB ROOT_LEGACY_HEADERS *.h) file(GLOB ROOT_LEGACY_HEADERS_PRIVATE thread_mpi.h tmpi.h gmx_hash.h - gmx_ga2la.h gpu_utils.h pmalloc_cuda.h nbnxn_cuda_data_mgmt.h) + gmx_ga2la.h gpu_utils.h pmalloc_cuda.h) file(GLOB TYPES_LEGACY_HEADERS types/*.h) file(GLOB TYPES_LEGACY_HEADERS_PRIVATE types/commrec.h) list(REMOVE_ITEM ROOT_LEGACY_HEADERS ${ROOT_LEGACY_HEADERS_PRIVATE}) diff --git a/src/gromacs/legacyheaders/types/symtab.h b/src/gromacs/legacyheaders/bonded-threading.h similarity index 78% rename from src/gromacs/legacyheaders/types/symtab.h rename to src/gromacs/legacyheaders/bonded-threading.h index 19d4d04fd0..e08765fa1f 100644 --- a/src/gromacs/legacyheaders/types/symtab.h +++ b/src/gromacs/legacyheaders/bonded-threading.h @@ -3,7 +3,7 @@ * * 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. @@ -34,25 +34,22 @@ * 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_LEGACYHEADERS_BONDED_THREADING_H +#define GMX_LEGACYHEADERS_BONDED_THREADING_H + +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { #endif -typedef struct symbuf { - int bufsize; - char **buf; - struct symbuf *next; -} t_symbuf; - -typedef struct -{ - int nr; - t_symbuf *symbuf; -} t_symtab; +/* Divided the bonded interactions over the threads, count=fr->nthreads + * and set up the bonded thread-force buffer reduction. + * This should be called each time the bonded setup changes; + * i.e. at start-up without domain decomposition and at DD. + */ +void setup_bonded_threading(t_forcerec *fr, t_idef *idef); #ifdef __cplusplus } diff --git a/src/gromacs/legacyheaders/calcgrid.h b/src/gromacs/legacyheaders/calcgrid.h index 91ecbe659c..251b9e3d57 100644 --- a/src/gromacs/legacyheaders/calcgrid.h +++ b/src/gromacs/legacyheaders/calcgrid.h @@ -3,7 +3,7 @@ * * 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. @@ -34,8 +34,13 @@ * 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 + +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { @@ -52,3 +57,5 @@ real calc_grid(FILE *fp, #ifdef __cplusplus } #endif + +#endif diff --git a/src/gromacs/legacyheaders/calcmu.h b/src/gromacs/legacyheaders/calcmu.h index 40f73b0b6b..c9ed792d7b 100644 --- a/src/gromacs/legacyheaders/calcmu.h +++ b/src/gromacs/legacyheaders/calcmu.h @@ -3,7 +3,7 @@ * * 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. @@ -34,13 +34,13 @@ * 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 -#include "typedefs.h" -#include "network.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/chargegroup.h b/src/gromacs/legacyheaders/chargegroup.h index 2fab5bc79c..26c81b081b 100644 --- a/src/gromacs/legacyheaders/chargegroup.h +++ b/src/gromacs/legacyheaders/chargegroup.h @@ -3,7 +3,7 @@ * * 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. @@ -38,28 +38,33 @@ #ifndef _chargegroup_h #define _chargegroup_h -#include "sysstuff.h" -#include "typedefs.h" +#include + +#include "gromacs/math/vectypes.h" +#include "gromacs/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 diff --git a/src/gromacs/legacyheaders/checkpoint.h b/src/gromacs/legacyheaders/checkpoint.h index 0db48d6527..78f329dc23 100644 --- a/src/gromacs/legacyheaders/checkpoint.h +++ b/src/gromacs/legacyheaders/checkpoint.h @@ -39,9 +39,9 @@ #define _checkpoint_h -#include "typedefs.h" -#include "../fileio/gmxfio.h" -#include "../fileio/filenm.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/constr.h b/src/gromacs/legacyheaders/constr.h index 074b1bc416..9d01ba8ccc 100644 --- a/src/gromacs/legacyheaders/constr.h +++ b/src/gromacs/legacyheaders/constr.h @@ -37,12 +37,15 @@ #ifndef _constr_h #define _constr_h -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { #endif +struct t_pbc; + enum { econqCoord, /* Constrain coordinates (mass weighted) */ @@ -97,23 +100,23 @@ gmx_settledata_t settle_init(real mO, real mH, real invmO, real invmH, 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, @@ -262,7 +265,7 @@ constrain_lincs(FILE *log, gmx_bool bLog, gmx_bool bEner, 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, diff --git a/src/gromacs/legacyheaders/coulomb.h b/src/gromacs/legacyheaders/coulomb.h index 7d086ddb42..0b1f630408 100644 --- a/src/gromacs/legacyheaders/coulomb.h +++ b/src/gromacs/legacyheaders/coulomb.h @@ -39,7 +39,8 @@ #define _coulomb_h #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/disre.h b/src/gromacs/legacyheaders/disre.h index 2b8cfab10c..3dd0c5ffda 100644 --- a/src/gromacs/legacyheaders/disre.h +++ b/src/gromacs/legacyheaders/disre.h @@ -38,13 +38,16 @@ #ifndef _disre_h #define _disre_h -#include "sysstuff.h" -#include "typedefs.h" +#include + +#include "gromacs/legacyheaders/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); @@ -57,7 +60,7 @@ void init_disres(FILE *fplog, const gmx_mtop_t *mtop, */ 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 diff --git a/src/gromacs/legacyheaders/domdec.h b/src/gromacs/legacyheaders/domdec.h index 240a7901cc..c44c7bf840 100644 --- a/src/gromacs/legacyheaders/domdec.h +++ b/src/gromacs/legacyheaders/domdec.h @@ -36,9 +36,10 @@ #ifndef _domdec_h #define _domdec_h -#include "typedefs.h" -#include "vsite.h" -#include "genborn.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/domdec_network.h b/src/gromacs/legacyheaders/domdec_network.h index 84e6b2e556..5700800764 100644 --- a/src/gromacs/legacyheaders/domdec_network.h +++ b/src/gromacs/legacyheaders/domdec_network.h @@ -36,7 +36,7 @@ #ifndef _domdec_network_h #define _domdec_network_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/ebin.h b/src/gromacs/legacyheaders/ebin.h index b468a3bc6b..f0bd0e7914 100644 --- a/src/gromacs/legacyheaders/ebin.h +++ b/src/gromacs/legacyheaders/ebin.h @@ -3,7 +3,7 @@ * * 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. @@ -38,9 +38,11 @@ #ifndef _ebin_h #define _ebin_h -#include "sysstuff.h" -#include "typedefs.h" -#include "../fileio/enxio.h" +#include + +#include "gromacs/fileio/enxio.h" +#include "gromacs/legacyheaders/types/energy.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/force.h b/src/gromacs/legacyheaders/force.h index e053a0de33..c93e720824 100644 --- a/src/gromacs/legacyheaders/force.h +++ b/src/gromacs/legacyheaders/force.h @@ -39,32 +39,32 @@ #define _force_h -#include "typedefs.h" -#include "types/force_flags.h" -#include "pbc.h" -#include "network.h" -#include "tgroup.h" -#include "vsite.h" -#include "genborn.h" - +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/legacyheaders/types/force_flags.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus extern "C" { #endif -void gmx_print_sepdvdl(FILE *fplog, const char *s, real v, real dvdlambda); +struct t_graph; +struct t_pbc; void calc_vir(int nxf, rvec x[], rvec f[], tensor vir, gmx_bool bScrewPBC, matrix box); /* 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) @@ -146,9 +146,9 @@ gmx_bool nbnxn_acceleration_supported(FILE *fplog, * message to fplog/stderr. */ -gmx_bool uses_simple_tables(int cutoff_scheme, - nonbonded_verlet_t *nbv, - int group); +gmx_bool uses_simple_tables(int cutoff_scheme, + struct nonbonded_verlet_t *nbv, + int group); /* Returns whether simple tables (i.e. not for use with GPUs) are used * with the type of kernel indicated. */ @@ -225,7 +225,7 @@ extern void do_force(FILE *log, t_commrec *cr, 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, @@ -253,9 +253,7 @@ void ns(FILE *fplog, gmx_bool bDoLongRangeNS); /* Call the neighborsearcher */ -extern void do_force_lowlevel(FILE *fplog, - gmx_int64_t step, - t_forcerec *fr, +extern void do_force_lowlevel(t_forcerec *fr, t_inputrec *ir, t_idef *idef, t_commrec *cr, @@ -270,18 +268,20 @@ extern void do_force_lowlevel(FILE *fplog, t_fcdata *fcd, gmx_localtop_t *top, gmx_genborn_t *born, - t_atomtypes *atype, gmx_bool bBornRadii, matrix box, t_lambda *fepvals, real *lambda, - t_graph *graph, + struct t_graph *graph, t_blocka *excl, rvec mu_tot[2], int flags, float *cycles_pme); /* Call all the force routines */ +void free_gpu_resources(const t_forcerec *fr, + const t_commrec *cr); + #ifdef __cplusplus } #endif diff --git a/src/gromacs/legacyheaders/genborn.h b/src/gromacs/legacyheaders/genborn.h index 99e2d51513..a23ed2ced0 100644 --- a/src/gromacs/legacyheaders/genborn.h +++ b/src/gromacs/legacyheaders/genborn.h @@ -39,7 +39,7 @@ #ifndef _genborn_h #define _genborn_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -55,6 +55,8 @@ extern "C" { #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, @@ -70,7 +72,8 @@ int calc_gb_rad(t_commrec *cr, t_forcerec *fr, t_inputrec *ir, gmx_localtop_t *t /* 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); @@ -79,13 +82,13 @@ real gb_bonds_tab(rvec x[], rvec f[], rvec fshift[], real *charge, real *p_gbtab 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); diff --git a/src/gromacs/legacyheaders/gmx_cpuid.h b/src/gromacs/legacyheaders/gmx_cpuid.h index d595c51a37..eba7ba3352 100644 --- a/src/gromacs/legacyheaders/gmx_cpuid.h +++ b/src/gromacs/legacyheaders/gmx_cpuid.h @@ -55,6 +55,7 @@ enum gmx_cpuid_vendor GMX_CPUID_VENDOR_AMD, GMX_CPUID_VENDOR_FUJITSU, GMX_CPUID_VENDOR_IBM, + GMX_CPUID_VENDOR_ARM, GMX_CPUID_NVENDORS }; @@ -111,6 +112,11 @@ enum gmx_cpuid_feature GMX_CPUID_FEATURE_X86_TDT, /* TSC deadline timer */ GMX_CPUID_FEATURE_X86_X2APIC, /* Extended xAPIC Support */ GMX_CPUID_FEATURE_X86_XOP, /* AMD extended instructions, only AMD for now */ + GMX_CPUID_FEATURE_ARM_NEON, /* 32-bit ARM NEON */ + GMX_CPUID_FEATURE_ARM_NEON_ASIMD, /* 64-bit ARM AArch64 Advanced SIMD */ + GMX_CPUID_FEATURE_IBM_QPX, /* IBM QPX SIMD (BlueGene/Q and later) */ + GMX_CPUID_FEATURE_IBM_VMX, /* IBM VMX SIMD (Altivec on Power6 and later) */ + GMX_CPUID_FEATURE_IBM_VSX, /* IBM VSX SIMD (Power7 and later) */ GMX_CPUID_NFEATURES }; @@ -132,6 +138,10 @@ enum gmx_cpuid_simd GMX_CPUID_SIMD_X86_AVX2_256, GMX_CPUID_SIMD_SPARC64_HPC_ACE, GMX_CPUID_SIMD_IBM_QPX, + GMX_CPUID_SIMD_IBM_VMX, + GMX_CPUID_SIMD_IBM_VSX, + GMX_CPUID_SIMD_ARM_NEON, + GMX_CPUID_SIMD_ARM_NEON_ASIMD, GMX_CPUID_NSIMD }; diff --git a/src/gromacs/legacyheaders/gmx_detect_hardware.h b/src/gromacs/legacyheaders/gmx_detect_hardware.h index 0e63803138..b426ba4acb 100644 --- a/src/gromacs/legacyheaders/gmx_detect_hardware.h +++ b/src/gromacs/legacyheaders/gmx_detect_hardware.h @@ -36,7 +36,7 @@ #ifndef GMX_HARDWARE_DETECT_H #define GMX_HARDWARE_DETECT_H -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/gmx_ga2la.h b/src/gromacs/legacyheaders/gmx_ga2la.h index e5820421df..aa141c1404 100644 --- a/src/gromacs/legacyheaders/gmx_ga2la.h +++ b/src/gromacs/legacyheaders/gmx_ga2la.h @@ -37,8 +37,8 @@ #ifndef _gmx_ga2la_h #define _gmx_ga2la_h -#include "typedefs.h" -#include "types/commrec.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/utility/basedefinitions.h" #include "gromacs/utility/smalloc.h" #ifdef __cplusplus diff --git a/src/gromacs/legacyheaders/gmx_hash.h b/src/gromacs/legacyheaders/gmx_hash.h index a241ee0def..5d5a852616 100644 --- a/src/gromacs/legacyheaders/gmx_hash.h +++ b/src/gromacs/legacyheaders/gmx_hash.h @@ -35,9 +35,11 @@ #ifndef _gmx_hash_h #define _gmx_hash_h -#include "typedefs.h" +#include + +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/gmx_omp_nthreads.h b/src/gromacs/legacyheaders/gmx_omp_nthreads.h index f4010010db..1b7380fdb6 100644 --- a/src/gromacs/legacyheaders/gmx_omp_nthreads.h +++ b/src/gromacs/legacyheaders/gmx_omp_nthreads.h @@ -33,11 +33,12 @@ * 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 -#include "typedefs.h" + +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { @@ -46,7 +47,9 @@ 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 @@ -56,24 +59,31 @@ typedef enum module_nth 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); @@ -84,4 +94,4 @@ void gmx_omp_nthreads_read_env(int *nthreads_omp, } #endif -#endif /* GMX_OMP_NTHREADS */ +#endif diff --git a/src/gromacs/legacyheaders/gmx_thread_affinity.h b/src/gromacs/legacyheaders/gmx_thread_affinity.h index 2ee5cfd4e3..d2a2ce2b55 100644 --- a/src/gromacs/legacyheaders/gmx_thread_affinity.h +++ b/src/gromacs/legacyheaders/gmx_thread_affinity.h @@ -34,7 +34,11 @@ */ #ifndef GMX_THREAD_AFFINITY_H_ #define GMX_THREAD_AFFINITY_H_ -#include "typedefs.h" + +#include + +#include "gromacs/legacyheaders/types/hw_info.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { @@ -43,14 +47,16 @@ 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. @@ -61,9 +67,11 @@ gmx_set_thread_affinity(FILE *fplog, * 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); diff --git a/src/gromacs/legacyheaders/gpu_utils.h b/src/gromacs/legacyheaders/gpu_utils.h index e296073049..08f596f404 100644 --- a/src/gromacs/legacyheaders/gpu_utils.h +++ b/src/gromacs/legacyheaders/gpu_utils.h @@ -38,19 +38,19 @@ #ifndef _GPU_UTILS_H_ #define _GPU_UTILS_H_ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" -#include "types/simple.h" -#include "types/hw_info.h" +#include "gromacs/legacyheaders/types/hw_info.h" +#include "gromacs/legacyheaders/types/simple.h" #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 @@ -59,15 +59,6 @@ extern "C" { #endif -FUNC_QUALIFIER -int do_quick_memtest(int gmx_unused dev_id) FUNC_TERM_INT - -FUNC_QUALIFIER -int do_full_memtest(int gmx_unused dev_id) FUNC_TERM_INT - -FUNC_QUALIFIER -int do_timed_memtest(int gmx_unused dev_id, int gmx_unused time_limit) FUNC_TERM_INT - FUNC_QUALIFIER int detect_cuda_gpus(gmx_gpu_info_t gmx_unused *gpu_info, char gmx_unused *err_str) FUNC_TERM_INT @@ -104,7 +95,7 @@ FUNC_QUALIFIER 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 } diff --git a/src/gromacs/legacyheaders/inputrec.h b/src/gromacs/legacyheaders/inputrec.h index 9bebf01934..0b743c4643 100644 --- a/src/gromacs/legacyheaders/inputrec.h +++ b/src/gromacs/legacyheaders/inputrec.h @@ -35,7 +35,7 @@ #ifndef GMX_INPUTREC_H #define GMX_INPUTREC_H -#include "types/inputrec.h" +#include "gromacs/legacyheaders/types/inputrec.h" #ifdef __cplusplus extern "C" diff --git a/src/gromacs/legacyheaders/macros.h b/src/gromacs/legacyheaders/macros.h index 0d02e7f53b..4d7a04763a 100644 --- a/src/gromacs/legacyheaders/macros.h +++ b/src/gromacs/legacyheaders/macros.h @@ -3,7 +3,7 @@ * * 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. @@ -38,26 +38,10 @@ #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 #ifndef min #define min(a, b) (((a) < (b)) ? (a) : (b) ) diff --git a/src/gromacs/legacyheaders/main.h b/src/gromacs/legacyheaders/main.h index 58356f6a6a..43329b9d9a 100644 --- a/src/gromacs/legacyheaders/main.h +++ b/src/gromacs/legacyheaders/main.h @@ -40,22 +40,17 @@ #include -#include "typedefs.h" -#include "network.h" -#include "../fileio/filenm.h" + +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus 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**); + gmx_bool bAppendFiles, FILE**); /* Open the log file, if necessary (nprocs > 1) the logfile name is * communicated around the ring. */ diff --git a/src/gromacs/legacyheaders/md_logging.h b/src/gromacs/legacyheaders/md_logging.h index 9a074b381f..d610c3d573 100644 --- a/src/gromacs/legacyheaders/md_logging.h +++ b/src/gromacs/legacyheaders/md_logging.h @@ -39,13 +39,14 @@ #define _md_logging_h #include -#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. @@ -53,7 +54,7 @@ void md_print_info(const t_commrec *cr, FILE *fplog, * 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 diff --git a/src/gromacs/legacyheaders/md_support.h b/src/gromacs/legacyheaders/md_support.h index 3561cce533..66f832310e 100644 --- a/src/gromacs/legacyheaders/md_support.h +++ b/src/gromacs/legacyheaders/md_support.h @@ -3,7 +3,7 @@ * * 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. @@ -38,10 +38,11 @@ #ifndef _md_support_h #define _md_support_h -#include "typedefs.h" -#include "types/globsig.h" -#include "sim_util.h" -#include "vcm.h" +#include "gromacs/legacyheaders/sim_util.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vcm.h" +#include "gromacs/legacyheaders/types/globsig.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/mdatoms.h b/src/gromacs/legacyheaders/mdatoms.h index 748c04fe62..18d10ffb1f 100644 --- a/src/gromacs/legacyheaders/mdatoms.h +++ b/src/gromacs/legacyheaders/mdatoms.h @@ -38,15 +38,22 @@ #ifndef _mdatoms_h #define _mdatoms_h -#include "typedefs.h" +#include + +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/mdatom.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/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); diff --git a/src/gromacs/legacyheaders/mdebin.h b/src/gromacs/legacyheaders/mdebin.h index 4516a07367..ef089de0ae 100644 --- a/src/gromacs/legacyheaders/mdebin.h +++ b/src/gromacs/legacyheaders/mdebin.h @@ -3,7 +3,7 @@ * * 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. @@ -38,11 +38,12 @@ #ifndef _mdebin_h #define _mdebin_h -#include "typedefs.h" -#include "sysstuff.h" -#include "ebin.h" -#include "../fileio/enxio.h" -#include "types/state.h" +#include + +#include "gromacs/fileio/enxio.h" +#include "gromacs/legacyheaders/ebin.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/state.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/mdrun.h b/src/gromacs/legacyheaders/mdrun.h index e8cb420bd9..754a3796c3 100644 --- a/src/gromacs/legacyheaders/mdrun.h +++ b/src/gromacs/legacyheaders/mdrun.h @@ -40,18 +40,19 @@ #include #include -#include "typedefs.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 "update.h" -#include "types/membedt.h" -#include "types/globsig.h" + +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/sim_util.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/legacyheaders/vcm.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/legacyheaders/types/globsig.h" +#include "gromacs/legacyheaders/types/membedt.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus extern "C" { @@ -60,7 +61,6 @@ extern "C" { #define MD_POLARISE (1<<2) #define MD_RERUN (1<<4) #define MD_RERUN_VSITE (1<<5) -#define MD_SEPPOT (1<<7) #define MD_DDBONDCHECK (1<<10) #define MD_DDBONDCOMM (1<<11) #define MD_CONFOUT (1<<12) diff --git a/src/gromacs/legacyheaders/mvdata.h b/src/gromacs/legacyheaders/mvdata.h index 083e4fc6bc..d78d8d4e42 100644 --- a/src/gromacs/legacyheaders/mvdata.h +++ b/src/gromacs/legacyheaders/mvdata.h @@ -38,18 +38,22 @@ #ifndef _mvdata_h #define _mvdata_h -#include "typedefs.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/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. */ diff --git a/src/gromacs/legacyheaders/names.h b/src/gromacs/legacyheaders/names.h index 424d69114d..9f5039786c 100644 --- a/src/gromacs/legacyheaders/names.h +++ b/src/gromacs/legacyheaders/names.h @@ -39,7 +39,7 @@ #define _names_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/network.h b/src/gromacs/legacyheaders/network.h index 8db571ea9c..0824c6576a 100644 --- a/src/gromacs/legacyheaders/network.h +++ b/src/gromacs/legacyheaders/network.h @@ -45,87 +45,69 @@ #include -#include "types/simple.h" -#include "typedefs.h" -#include "main.h" -#include "gmx_fatal.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/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 @@ -134,6 +116,24 @@ void gmx_abort(int nodeid, int nnodes, int errorno); #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) diff --git a/src/gromacs/legacyheaders/nonbonded.h b/src/gromacs/legacyheaders/nonbonded.h index d05b3e5d7e..c985396e59 100644 --- a/src/gromacs/legacyheaders/nonbonded.h +++ b/src/gromacs/legacyheaders/nonbonded.h @@ -38,11 +38,10 @@ #ifndef _nonbonded_h #define _nonbonded_h -#include "typedefs.h" -#include "pbc.h" -#include "network.h" -#include "tgroup.h" -#include "genborn.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { @@ -51,6 +50,8 @@ extern "C" { } /* fixes auto-indentation problems */ #endif +struct t_graph; +struct t_pbc; void @@ -87,7 +88,8 @@ do_nonbonded(t_forcerec *fr, */ 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); diff --git a/src/gromacs/legacyheaders/nrnb.h b/src/gromacs/legacyheaders/nrnb.h index 464a57b4ea..263c1f7e90 100644 --- a/src/gromacs/legacyheaders/nrnb.h +++ b/src/gromacs/legacyheaders/nrnb.h @@ -38,7 +38,7 @@ #ifndef _nrnb_h #define _nrnb_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/ns.h b/src/gromacs/legacyheaders/ns.h index dafbfa9f6e..26582e5d43 100644 --- a/src/gromacs/legacyheaders/ns.h +++ b/src/gromacs/legacyheaders/ns.h @@ -39,12 +39,10 @@ #define _ns_h #include -#include "sysstuff.h" -#include "typedefs.h" -#include "pbc.h" -#include "tgroup.h" -#include "network.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/nsgrid.h b/src/gromacs/legacyheaders/nsgrid.h index 833d034bf9..728e887654 100644 --- a/src/gromacs/legacyheaders/nsgrid.h +++ b/src/gromacs/legacyheaders/nsgrid.h @@ -35,22 +35,28 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { #endif -#define GRID_STDDEV_FAC sqrt(3) -#define NSGRID_STDDEV_FAC 2.0 -/* - * GRID_STDDEV_FAC * stddev is used to estimate the interaction density. - * sqrt(3) gives a uniform load for a rectangular block of cg's. - * For a sphere it is not a bad approximation for 4x1x1 up to 4x2x2. +/*! \brief Used when estimating the interaction density. + * + * GRID_STDDEV_FAC * stddev estimates the interaction density. The + * value sqrt(3) == 1.73205080757 gives a uniform load for a + * rectangular 3D block of charge groups. For a sphere, it is not a + * bad approximation for 4x1x1 up to 4x2x2. * - * The extent of the neighborsearch grid is a bit larger than sqrt(3) + * \todo It would be nicer to use sqrt(3) here, when all code that + * includes this file is in C++, which will let us cope with the + * std::sqrt on Windows. */ +static const real GRID_STDDEV_FAC = 1.73205080757; + +/*! \brief The extent of the neighborsearch grid is a bit larger than sqrt(3) * to account for less dense regions at the edges of the system. */ +static const real NSGRID_STDDEV_FAC = 2.0; #define NSGRID_SIGNAL_MOVED_FAC 4 /* A cell index of NSGRID_SIGNAL_MOVED_FAC*ncells signals diff --git a/src/gromacs/legacyheaders/oenv.h b/src/gromacs/legacyheaders/oenv.h index c8fdf66b7a..ade929e081 100644 --- a/src/gromacs/legacyheaders/oenv.h +++ b/src/gromacs/legacyheaders/oenv.h @@ -38,8 +38,8 @@ #ifndef _oenv_h #define _oenv_h -#include "types/simple.h" -#include "types/oenv.h" +#include "gromacs/legacyheaders/types/oenv.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { @@ -80,9 +80,6 @@ void output_env_done(output_env_t oenv); int output_env_get_verbosity(const output_env_t oenv); /* return the verbosity */ -int output_env_get_debug_level(const output_env_t oenv); -/* return the debug level */ - const char *output_env_get_time_unit(const output_env_t oenv); /* return time unit (e.g. ps or ns) */ @@ -110,14 +107,10 @@ gmx_bool output_env_get_view(const output_env_t oenv); xvg_format_t output_env_get_xvg_format(const output_env_t oenv); /* Returns enum (see above) for xvg output formatting */ -const char *output_env_get_program_name(const output_env_t oenv); -/* return the program name */ - -const char *output_env_get_cmd_line(const output_env_t oenv); -/* return the command line */ - -const char *output_env_get_short_program_name(const output_env_t oenv); -/* get the short version (without path component) of the program name */ +/*! \brief + * Returns display name for the currently running program. + */ +const char *output_env_get_program_display_name(const output_env_t oenv); #ifdef __cplusplus } @@ -130,11 +123,18 @@ class ProgramContextInterface; void output_env_init(output_env_t *oenvp, const gmx::ProgramContextInterface &context, time_unit_t tmu, gmx_bool view, xvg_format_t xvg_format, - int verbosity, int debug_level); + int verbosity); /* initialize an output_env structure, setting the command line, the default time value a gmx_boolean view that is set to TRUE when the user requests direct viewing of graphs, the graph formatting type, the verbosity, and debug level */ + +/*! \brief + * Returns gmx::ProgramContextInterface from an output_env structure. + */ +const gmx::ProgramContextInterface & +output_env_get_program_context(const output_env_t oenv); + #endif #endif diff --git a/src/gromacs/legacyheaders/orires.h b/src/gromacs/legacyheaders/orires.h index deb1bfe7f1..ddf1475b3a 100644 --- a/src/gromacs/legacyheaders/orires.h +++ b/src/gromacs/legacyheaders/orires.h @@ -38,13 +38,16 @@ #ifndef _orires_h #define _orires_h -#include "sysstuff.h" -#include "typedefs.h" +#include + +#include "gromacs/legacyheaders/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, @@ -57,7 +60,7 @@ void init_orires(FILE *fplog, const gmx_mtop_t *mtop, 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. diff --git a/src/gromacs/legacyheaders/perf_est.h b/src/gromacs/legacyheaders/perf_est.h index 35d1ca3c7b..67b54dc46f 100644 --- a/src/gromacs/legacyheaders/perf_est.h +++ b/src/gromacs/legacyheaders/perf_est.h @@ -3,7 +3,7 @@ * * 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. @@ -37,18 +37,22 @@ #ifndef _perf_est_h #define _perf_est_h -#include "typedefs.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/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. diff --git a/src/gromacs/legacyheaders/pmalloc_cuda.h b/src/gromacs/legacyheaders/pmalloc_cuda.h index d00179a4ad..d45890802c 100644 --- a/src/gromacs/legacyheaders/pmalloc_cuda.h +++ b/src/gromacs/legacyheaders/pmalloc_cuda.h @@ -36,12 +36,11 @@ #ifndef PMALLOC_CUDA_H #define PMALLOC_CUDA_H -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #include -#include "types/simple.h" + +#include "gromacs/legacyheaders/types/simple.h" #ifdef GMX_GPU #define FUNC_TERM ; @@ -53,13 +52,13 @@ 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 diff --git a/src/gromacs/legacyheaders/pme.h b/src/gromacs/legacyheaders/pme.h index da0b4a1c5d..f71f6f51b2 100644 --- a/src/gromacs/legacyheaders/pme.h +++ b/src/gromacs/legacyheaders/pme.h @@ -39,10 +39,12 @@ #define _pme_h #include -#include "typedefs.h" -#include "../math/gmxcomplex.h" -#include "../timing/walltime_accounting.h" -#include "../legacyheaders/network.h" + +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/gmxcomplex.h" +#include "gromacs/timing/wallcycle.h" +#include "gromacs/timing/walltime_accounting.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/qmmm.h b/src/gromacs/legacyheaders/qmmm.h index bc31efd1b1..d3b5839f86 100644 --- a/src/gromacs/legacyheaders/qmmm.h +++ b/src/gromacs/legacyheaders/qmmm.h @@ -3,7 +3,7 @@ * * 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. @@ -38,10 +38,9 @@ #ifndef _QMMM_h #define _QMMM_h -#include "typedefs.h" -#include "pbc.h" -#include "network.h" -#include "tgroup.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/rbin.h b/src/gromacs/legacyheaders/rbin.h index 72f5b4ce1c..fb0f7d6433 100644 --- a/src/gromacs/legacyheaders/rbin.h +++ b/src/gromacs/legacyheaders/rbin.h @@ -3,7 +3,7 @@ * * 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. @@ -38,14 +38,14 @@ #ifndef _rbin_h #define _rbin_h -#include "sysstuff.h" -#include "typedefs.h" -#include "network.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { #endif +struct t_commrec; + typedef struct { int nreal; int maxreal; @@ -65,7 +65,7 @@ int add_binr(t_bin *b, int nr, real r[]); 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[]); diff --git a/src/gromacs/legacyheaders/readinp.h b/src/gromacs/legacyheaders/readinp.h index 1c910ac01a..29b7a65bae 100644 --- a/src/gromacs/legacyheaders/readinp.h +++ b/src/gromacs/legacyheaders/readinp.h @@ -40,8 +40,8 @@ #include -#include "typedefs.h" -#include "warninp.h" +#include "gromacs/legacyheaders/warninp.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/shellfc.h b/src/gromacs/legacyheaders/shellfc.h index 0c1126e8e5..47f0d994c9 100644 --- a/src/gromacs/legacyheaders/shellfc.h +++ b/src/gromacs/legacyheaders/shellfc.h @@ -35,13 +35,16 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#include "typedefs.h" -#include "vsite.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus 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. */ @@ -64,7 +67,7 @@ int relax_shell_flexcon(FILE *log, t_commrec *cr, gmx_bool bVerbose, 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, diff --git a/src/gromacs/legacyheaders/sighandler.h b/src/gromacs/legacyheaders/sighandler.h index 03a6f6e9da..b2531a67e9 100644 --- a/src/gromacs/legacyheaders/sighandler.h +++ b/src/gromacs/legacyheaders/sighandler.h @@ -3,7 +3,7 @@ * * 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. @@ -40,7 +40,7 @@ #include -#include "typedefs.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/sim_util.h b/src/gromacs/legacyheaders/sim_util.h index e5eb468588..b1c89b790a 100644 --- a/src/gromacs/legacyheaders/sim_util.h +++ b/src/gromacs/legacyheaders/sim_util.h @@ -38,22 +38,25 @@ #ifndef _sim_util_h #define _sim_util_h -#include "typedefs.h" -#include "mdebin.h" -#include "update.h" -#include "vcm.h" -#include "../fileio/enxio.h" -#include "../fileio/mdoutf.h" -#include "../timing/walltime_accounting.h" +#include "gromacs/fileio/enxio.h" +#include "gromacs/fileio/mdoutf.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/legacyheaders/vcm.h" +#include "gromacs/timing/wallcycle.h" +#include "gromacs/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[]); @@ -106,13 +109,13 @@ void finish_run(FILE *log, t_commrec *cr, t_inputrec *inputrec, t_nrnb nrnb[], gmx_wallcycle_t wcycle, gmx_walltime_accounting_t walltime_accounting, - wallclock_gpu_t *gputimes, + struct nonbonded_verlet_t *nbv, gmx_bool bWriteStat); void calc_enervirdiff(FILE *fplog, int eDispCorr, t_forcerec *fr); -void calc_dispcorr(FILE *fplog, t_inputrec *ir, t_forcerec *fr, - gmx_int64_t step, int natoms, +void calc_dispcorr(t_inputrec *ir, t_forcerec *fr, + int natoms, matrix box, real lambda, tensor pres, tensor virial, real *prescorr, real *enercorr, real *dvdlcorr); @@ -137,6 +140,8 @@ void init_md(FILE *fplog, gmx_wallcycle_t wcycle); /* Routine in sim_util.c */ +gmx_bool use_GPU(const struct nonbonded_verlet_t *nbv); + #ifdef __cplusplus } #endif diff --git a/src/gromacs/legacyheaders/splitter.h b/src/gromacs/legacyheaders/splitter.h index 4453714bf5..7db0fcf5ac 100644 --- a/src/gromacs/legacyheaders/splitter.h +++ b/src/gromacs/legacyheaders/splitter.h @@ -38,15 +38,19 @@ #ifndef _splitter_h #define _splitter_h -#include "typedefs.h" -#include "types/inputrec.h" +#include + +#include "gromacs/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. diff --git a/src/gromacs/legacyheaders/tables.h b/src/gromacs/legacyheaders/tables.h index 6f8695aea9..a33250f446 100644 --- a/src/gromacs/legacyheaders/tables.h +++ b/src/gromacs/legacyheaders/tables.h @@ -35,8 +35,8 @@ #ifndef _tables_h #define _tables_h -#include "types/simple.h" -#include "types/interaction_const.h" +#include "gromacs/legacyheaders/types/interaction_const.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/tgroup.h b/src/gromacs/legacyheaders/tgroup.h index f106f92fd6..64cc730fae 100644 --- a/src/gromacs/legacyheaders/tgroup.h +++ b/src/gromacs/legacyheaders/tgroup.h @@ -3,7 +3,7 @@ * * 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. @@ -38,8 +38,8 @@ #ifndef _tgroup_h #define _tgroup_h -#include "typedefs.h" -#include "network.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/txtdump.h b/src/gromacs/legacyheaders/txtdump.h index ecf99a019f..c8a3a086b8 100644 --- a/src/gromacs/legacyheaders/txtdump.h +++ b/src/gromacs/legacyheaders/txtdump.h @@ -3,7 +3,7 @@ * * 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. @@ -40,8 +40,9 @@ #include -#include "typedefs.h" -#include "../fileio/tpxio.h" + +#include "gromacs/fileio/tpxio.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/typedefs.h b/src/gromacs/legacyheaders/typedefs.h index eb0b30b563..ad79e254bd 100644 --- a/src/gromacs/legacyheaders/typedefs.h +++ b/src/gromacs/legacyheaders/typedefs.h @@ -43,68 +43,31 @@ #define NOTSET -12345 #include -#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 "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/nsgrid.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 "gromacs/fileio/trx.h" +#include "gromacs/legacyheaders/types/commrec_fwd.h" +#include "gromacs/legacyheaders/types/constr.h" +#include "gromacs/legacyheaders/types/energy.h" +#include "gromacs/legacyheaders/types/enums.h" +#include "gromacs/legacyheaders/types/fcdata.h" +#include "gromacs/legacyheaders/types/forcerec.h" +#include "gromacs/legacyheaders/types/group.h" +#include "gromacs/legacyheaders/types/ifunc.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/mdatom.h" +#include "gromacs/legacyheaders/types/nblist.h" +#include "gromacs/legacyheaders/types/nrnb.h" +#include "gromacs/legacyheaders/types/nsgrid.h" +#include "gromacs/legacyheaders/types/oenv.h" +#include "gromacs/legacyheaders/types/shellfc.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/legacyheaders/types/state.h" +#include "gromacs/topology/topology.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 @@ -113,23 +76,9 @@ int gmx_int64_to_int(gmx_int64_t step, const char *warn); * "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); @@ -139,16 +88,6 @@ t_state *serial_init_local_state(t_state *state_global); 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); @@ -158,55 +97,9 @@ void set_box_rel(t_inputrec *ir, 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 diff --git a/src/gromacs/legacyheaders/types/commrec.h b/src/gromacs/legacyheaders/types/commrec.h index eaad7b4ead..4486c847b6 100644 --- a/src/gromacs/legacyheaders/types/commrec.h +++ b/src/gromacs/legacyheaders/types/commrec.h @@ -37,9 +37,8 @@ #ifndef _commrec_h #define _commrec_h -#include "../../utility/gmxmpi.h" -#include "../typedefs.h" -#include "idef.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/gmxmpi.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/gmxlib/dlb.h b/src/gromacs/legacyheaders/types/commrec_fwd.h similarity index 80% rename from src/gromacs/gmxlib/dlb.h rename to src/gromacs/legacyheaders/types/commrec_fwd.h index b730bd1473..2a0d88b20d 100644 --- a/src/gromacs/gmxlib/dlb.h +++ b/src/gromacs/legacyheaders/types/commrec_fwd.h @@ -1,9 +1,7 @@ /* * 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. @@ -35,12 +33,13 @@ * 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 diff --git a/src/gromacs/legacyheaders/types/energy.h b/src/gromacs/legacyheaders/types/energy.h index 8fce52bb48..f11a130f48 100644 --- a/src/gromacs/legacyheaders/types/energy.h +++ b/src/gromacs/legacyheaders/types/energy.h @@ -3,7 +3,7 @@ * * 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. @@ -35,7 +35,10 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#include "simple.h" +#ifndef GMX_TYPES_ENERGY_H +#define GMX_TYPES_ENERGY_H + +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { @@ -50,3 +53,5 @@ typedef struct { #ifdef __cplusplus } #endif + +#endif diff --git a/src/gromacs/legacyheaders/types/enums.h b/src/gromacs/legacyheaders/types/enums.h index 4b1161a4fa..8756469d3d 100644 --- a/src/gromacs/legacyheaders/types/enums.h +++ b/src/gromacs/legacyheaders/types/enums.h @@ -346,7 +346,7 @@ enum { /* flat-bottom posres geometries */ enum { efbposresZERO, efbposresSPHERE, efbposresCYLINDER, efbposresX, efbposresY, efbposresZ, - efbposresNR + efbposresCYLINDERX, efbposresCYLINDERY, efbposresCYLINDERZ, efbposresNR }; enum { diff --git a/src/gromacs/legacyheaders/types/fcdata.h b/src/gromacs/legacyheaders/types/fcdata.h index 2c9d605e27..9188a3bb6e 100644 --- a/src/gromacs/legacyheaders/types/fcdata.h +++ b/src/gromacs/legacyheaders/types/fcdata.h @@ -3,7 +3,7 @@ * * 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. @@ -41,6 +41,8 @@ extern "C" { #endif +#include "gromacs/math/vectypes.h" + typedef real rvec5[5]; /* Distance restraining stuff */ @@ -98,6 +100,12 @@ typedef struct { 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 diff --git a/src/gromacs/legacyheaders/types/force_flags.h b/src/gromacs/legacyheaders/types/force_flags.h index 51c9382fa5..b8fd1743cb 100644 --- a/src/gromacs/legacyheaders/types/force_flags.h +++ b/src/gromacs/legacyheaders/types/force_flags.h @@ -3,7 +3,7 @@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2012, 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. @@ -54,8 +54,8 @@ extern "C" { #define GMX_FORCE_NS (1<<2) /* Update long-range neighborlists */ #define GMX_FORCE_LRNS (1<<3) -/* Calculate bonded energies/forces */ -#define GMX_FORCE_BONDED (1<<4) +/* Calculate listed energies/forces (e.g. bonds, restraints, 1-4, FEP non-bonded) */ +#define GMX_FORCE_LISTED (1<<4) /* Store long-range forces in a separate array */ #define GMX_FORCE_SEPLRF (1<<5) /* Calculate non-bonded energies/forces */ @@ -72,7 +72,7 @@ extern "C" { #define GMX_FORCE_DO_LR (1<<11) /* Normally one want all energy terms and forces */ -#define GMX_FORCE_ALLFORCES (GMX_FORCE_BONDED | GMX_FORCE_NONBONDED | GMX_FORCE_FORCES) +#define GMX_FORCE_ALLFORCES (GMX_FORCE_LISTED | GMX_FORCE_NONBONDED | GMX_FORCE_FORCES) #ifdef __cplusplus diff --git a/src/gromacs/legacyheaders/types/forcerec.h b/src/gromacs/legacyheaders/types/forcerec.h index 71ffd993e1..f3f1302d59 100644 --- a/src/gromacs/legacyheaders/types/forcerec.h +++ b/src/gromacs/legacyheaders/types/forcerec.h @@ -35,13 +35,16 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#include "ns.h" -#include "genborn.h" -#include "qmmmrec.h" -#include "idef.h" -#include "nb_verlet.h" -#include "interaction_const.h" -#include "hw_info.h" +#ifndef GMX_LEGACYHEADERS_TYPES_FORCEREC_H +#define GMX_LEGACYHEADERS_TYPES_FORCEREC_H + +#include "gromacs/legacyheaders/types/enums.h" +#include "gromacs/legacyheaders/types/genborn.h" +#include "gromacs/legacyheaders/types/hw_info.h" +#include "gromacs/legacyheaders/types/interaction_const.h" +#include "gromacs/legacyheaders/types/ns.h" +#include "gromacs/legacyheaders/types/qmmmrec.h" +#include "gromacs/topology/idef.h" #ifdef __cplusplus extern "C" { @@ -52,8 +55,7 @@ extern "C" { /* Abstract type for PME that is defined only in the routine that use them. */ typedef struct gmx_pme *gmx_pme_t; - - +struct nonbonded_verlet_t; /* Structure describing the data in a single table */ typedef struct @@ -295,7 +297,6 @@ typedef struct { real sc_r_power; real sc_sigma6_def; real sc_sigma6_min; - gmx_bool bSepDVDL; /* NS Stuff */ int eeltype; @@ -315,13 +316,13 @@ typedef struct { rvec *shift_vec; /* The neighborlists including tables */ - int nnblists; - int *gid2nblists; - t_nblists *nblists; + int nnblists; + int *gid2nblists; + t_nblists *nblists; - int cutoff_scheme; /* group- or Verlet-style cutoff */ - gmx_bool bNonbonded; /* true if nonbonded calculations are *not* turned off */ - nonbonded_verlet_t *nbv; + int cutoff_scheme; /* group- or Verlet-style cutoff */ + gmx_bool bNonbonded; /* true if nonbonded calculations are *not* turned off */ + struct nonbonded_verlet_t *nbv; /* The wall tables (if used) */ int nwall; @@ -499,3 +500,4 @@ typedef struct { #ifdef __cplusplus } #endif +#endif diff --git a/src/gromacs/legacyheaders/types/genborn.h b/src/gromacs/legacyheaders/types/genborn.h index 6edf3d75e8..d7acafe011 100644 --- a/src/gromacs/legacyheaders/types/genborn.h +++ b/src/gromacs/legacyheaders/types/genborn.h @@ -3,7 +3,7 @@ * * 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. @@ -35,12 +35,14 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#ifndef GMX_LEGACYHEADERS_TYPES_GENBORN_H +#define GMX_LEGACYHEADERS_TYPES_GENBORN_H #ifdef __cplusplus extern "C" { #endif -#include "simple.h" +#include "gromacs/legacyheaders/types/simple.h" typedef struct { @@ -113,3 +115,4 @@ gmx_genborn_t; #ifdef __cplusplus } #endif +#endif diff --git a/src/gromacs/legacyheaders/types/graph.h b/src/gromacs/legacyheaders/types/graph.h deleted file mode 100644 index 67cc57a5d6..0000000000 --- a/src/gromacs/legacyheaders/types/graph.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * 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 */ diff --git a/src/gromacs/legacyheaders/types/group.h b/src/gromacs/legacyheaders/types/group.h index 89decf94a2..035b12b215 100644 --- a/src/gromacs/legacyheaders/types/group.h +++ b/src/gromacs/legacyheaders/types/group.h @@ -3,7 +3,7 @@ * * 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. @@ -36,7 +36,7 @@ */ -#include "simple.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/types/hw_info.h b/src/gromacs/legacyheaders/types/hw_info.h index d8f51a89fc..13715add38 100644 --- a/src/gromacs/legacyheaders/types/hw_info.h +++ b/src/gromacs/legacyheaders/types/hw_info.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -36,9 +36,9 @@ #ifndef HWINFO_H #define HWINFO_H -#include "simple.h" -#include "nbnxn_cuda_types_ext.h" -#include "../gmx_cpuid.h" +#include "gromacs/legacyheaders/gmx_cpuid.h" +#include "gromacs/legacyheaders/types/nbnxn_cuda_types_ext.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/types/ifunc.h b/src/gromacs/legacyheaders/types/ifunc.h index 7e3cc7cad0..25d13c6f58 100644 --- a/src/gromacs/legacyheaders/types/ifunc.h +++ b/src/gromacs/legacyheaders/types/ifunc.h @@ -3,7 +3,7 @@ * * 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. @@ -39,21 +39,21 @@ #ifndef _ifunc_h #define _ifunc_h -#include "idef.h" -#include "mdatom.h" -#include "fcdata.h" -#include "graph.h" -#include "pbc.h" +#include "gromacs/legacyheaders/types/fcdata.h" +#include "gromacs/legacyheaders/types/mdatom.h" +#include "gromacs/topology/idef.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); diff --git a/src/gromacs/legacyheaders/types/inputrec.h b/src/gromacs/legacyheaders/types/inputrec.h index 10fa0da0d3..26af01e0ef 100644 --- a/src/gromacs/legacyheaders/types/inputrec.h +++ b/src/gromacs/legacyheaders/types/inputrec.h @@ -37,11 +37,11 @@ #ifndef _inputrec_h_ #define _inputrec_h_ +#include -#include "simple.h" -#include "enums.h" -#include "../sysstuff.h" -#include "../../swap/enums.h" +#include "gromacs/legacyheaders/types/enums.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/swap/enums.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/types/interaction_const.h b/src/gromacs/legacyheaders/types/interaction_const.h index 1f1a50ae63..319d6c2a61 100644 --- a/src/gromacs/legacyheaders/types/interaction_const.h +++ b/src/gromacs/legacyheaders/types/interaction_const.h @@ -33,8 +33,10 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifndef _INTERACTION_CONST_ -#define _INTERACTION_CONST_ +#ifndef GMX_LEGACYHEADERS_INTERACTION_CONST_H +#define GMX_LEGACYHEADERS_INTERACTION_CONST_H + +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { @@ -133,4 +135,4 @@ typedef struct { } #endif -#endif /* _INTERACTION_CONST_ */ +#endif diff --git a/src/gromacs/legacyheaders/types/matrix.h b/src/gromacs/legacyheaders/types/matrix.h deleted file mode 100644 index 9a9aec7a8a..0000000000 --- a/src/gromacs/legacyheaders/types/matrix.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * 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) 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. - * - * 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_LEGACYHEADERS_TYPES_MATRIX_H -#define GMX_LEGACYHEADERS_TYPES_MATRIX_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "simple.h" - -typedef struct { - real r, g, b; -} t_rgb; - -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(?) - */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/gromacs/legacyheaders/types/mdatom.h b/src/gromacs/legacyheaders/types/mdatom.h index 08a2ff5490..34179fa88b 100644 --- a/src/gromacs/legacyheaders/types/mdatom.h +++ b/src/gromacs/legacyheaders/types/mdatom.h @@ -38,7 +38,7 @@ #ifndef _mdatom_h #define _mdatom_h -#include "simple.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/types/nrnb.h b/src/gromacs/legacyheaders/types/nrnb.h index f0a8fb9e17..af83fa4214 100644 --- a/src/gromacs/legacyheaders/types/nrnb.h +++ b/src/gromacs/legacyheaders/types/nrnb.h @@ -133,8 +133,6 @@ typedef struct t_nrnb; -typedef struct gmx_wallcycle *gmx_wallcycle_t; - #ifdef __cplusplus } #endif diff --git a/src/gromacs/legacyheaders/types/ns.h b/src/gromacs/legacyheaders/types/ns.h index 0a01994a21..e141407525 100644 --- a/src/gromacs/legacyheaders/types/ns.h +++ b/src/gromacs/legacyheaders/types/ns.h @@ -3,7 +3,7 @@ * * 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. @@ -35,8 +35,11 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#include "nsgrid.h" -#include "nblist.h" +#ifndef GMX_LEGACYHEADERS_TYPES_NS_H +#define GMX_LEGACYHEADERS_TYPES_NS_H + +#include "gromacs/legacyheaders/types/nblist.h" +#include "gromacs/legacyheaders/types/nsgrid.h" #ifdef __cplusplus extern "C" { @@ -82,3 +85,4 @@ typedef struct { #ifdef __cplusplus } #endif +#endif diff --git a/src/gromacs/legacyheaders/types/nsgrid.h b/src/gromacs/legacyheaders/types/nsgrid.h index 9bcf048eab..90c6d11d47 100644 --- a/src/gromacs/legacyheaders/types/nsgrid.h +++ b/src/gromacs/legacyheaders/types/nsgrid.h @@ -3,7 +3,7 @@ * * 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. @@ -38,7 +38,7 @@ #define _nsgrid_h -#include "simple.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/types/qmmmrec.h b/src/gromacs/legacyheaders/types/qmmmrec.h index ac8d18536d..7bbd8806e0 100644 --- a/src/gromacs/legacyheaders/types/qmmmrec.h +++ b/src/gromacs/legacyheaders/types/qmmmrec.h @@ -3,7 +3,7 @@ * * 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. @@ -35,8 +35,10 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#ifndef GMX_LEGACYHEADERS_TYPES_QMMMREC_H +#define GMX_LEGACYHEADERS_TYPES_QMMMREC_H -#include "simple.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { @@ -109,3 +111,4 @@ typedef struct { #ifdef __cplusplus } #endif +#endif diff --git a/src/gromacs/legacyheaders/sysstuff.h b/src/gromacs/legacyheaders/types/rgb.h similarity index 87% rename from src/gromacs/legacyheaders/sysstuff.h rename to src/gromacs/legacyheaders/types/rgb.h index 7eeb69738c..f754da9231 100644 --- a/src/gromacs/legacyheaders/sysstuff.h +++ b/src/gromacs/legacyheaders/types/rgb.h @@ -3,7 +3,7 @@ * * 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. @@ -34,17 +34,13 @@ * 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 "gromacs/utility/real.h" -#ifndef _386_ -#include -#endif -#include -#include -#include -#include -#include +typedef struct { + real r, g, b; +} t_rgb; -#endif /* _sysstuff_h */ +#endif diff --git a/src/gromacs/legacyheaders/types/simple.h b/src/gromacs/legacyheaders/types/simple.h index de1ebdcb77..ec8e23a860 100644 --- a/src/gromacs/legacyheaders/types/simple.h +++ b/src/gromacs/legacyheaders/types/simple.h @@ -34,236 +34,14 @@ * 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 -#define __STDC_LIMIT_MACROS -#include -#ifndef _MSC_VER -#define __STDC_FORMAT_MACROS -#include -#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 "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/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 - -#ifdef __PGI -/* The portland group x86 C/C++ compilers do not treat negative zero initializers - * correctly, but "optimizes" them to positive zero, so we implement it explicitly. - * These constructs are optimized to simple loads at compile time. If you want to - * use them on other compilers those have to support gcc preprocessor extensions. - * Note: These initializers might be sensitive to the endianness (which can - * be different for byte and word order), so check that it works for your platform - * and add a separate section if necessary before adding to the ifdef above. - */ -# define GMX_DOUBLE_NEGZERO ({ const union { int di[2]; double d; } _gmx_dzero = {0, -2147483648}; _gmx_dzero.d; }) -# define GMX_FLOAT_NEGZERO ({ const union { int fi; float f; } _gmx_fzero = {-2147483648}; _gmx_fzero.f; }) -#else -/*! \brief Negative zero in double */ -# define GMX_DOUBLE_NEGZERO (-0.0) - -/*! \brief Negative zero in float */ -# define GMX_FLOAT_NEGZERO (-0.0f) -#endif - - -/* 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_NEGZERO GMX_DOUBLE_NEGZERO -#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_NEGZERO GMX_FLOAT_NEGZERO -#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(__PGI) -/* Portland group compilers */ -# 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 diff --git a/src/gromacs/legacyheaders/types/state.h b/src/gromacs/legacyheaders/types/state.h index 3418ab189b..05b9135fe2 100644 --- a/src/gromacs/legacyheaders/types/state.h +++ b/src/gromacs/legacyheaders/types/state.h @@ -38,8 +38,8 @@ #define _state_h_ -#include "simple.h" -#include "../../swap/enums.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/swap/enums.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/legacyheaders/update.h b/src/gromacs/legacyheaders/update.h index e589e725d1..ce3e00d722 100644 --- a/src/gromacs/legacyheaders/update.h +++ b/src/gromacs/legacyheaders/update.h @@ -38,17 +38,17 @@ #ifndef _update_h #define _update_h -#include "typedefs.h" -#include "mshift.h" -#include "tgroup.h" -#include "network.h" -#include "vec.h" - +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus extern "C" { #endif +struct t_graph; + /* Abstract type for stochastic dynamics */ typedef struct gmx_update *gmx_update_t; @@ -116,7 +116,7 @@ void update_constraints(FILE *fplog, 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, diff --git a/src/gromacs/legacyheaders/vcm.h b/src/gromacs/legacyheaders/vcm.h index affebb924f..aaab02a806 100644 --- a/src/gromacs/legacyheaders/vcm.h +++ b/src/gromacs/legacyheaders/vcm.h @@ -3,7 +3,7 @@ * * 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. @@ -38,13 +38,19 @@ #ifndef _vcm_h #define _vcm_h -#include "sysstuff.h" -#include "typedefs.h" +#include + +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/mdatom.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { #endif +struct gmx_groups_t; typedef struct { int nr; /* Number of groups */ @@ -61,7 +67,7 @@ typedef struct { 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, diff --git a/src/gromacs/legacyheaders/viewit.h b/src/gromacs/legacyheaders/viewit.h index 04fad52e55..e63616706a 100644 --- a/src/gromacs/legacyheaders/viewit.h +++ b/src/gromacs/legacyheaders/viewit.h @@ -38,14 +38,13 @@ #ifndef _viewit_h #define _viewit_h -#include "typedefs.h" -#include "../fileio/filenm.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/types/oenv.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 diff --git a/src/gromacs/legacyheaders/vsite.h b/src/gromacs/legacyheaders/vsite.h index d6b453e3b2..6cbecbe391 100644 --- a/src/gromacs/legacyheaders/vsite.h +++ b/src/gromacs/legacyheaders/vsite.h @@ -39,7 +39,9 @@ #define _vsite_h #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/pbcutil/ishift.h" #ifdef __cplusplus extern "C" { @@ -64,6 +66,8 @@ typedef struct { 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[], @@ -91,7 +95,7 @@ void spread_vsite_f(gmx_vsite_t *vsite, 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. diff --git a/src/gromacs/legacyheaders/warninp.h b/src/gromacs/legacyheaders/warninp.h index be7c8a71cf..cd3f32c84a 100644 --- a/src/gromacs/legacyheaders/warninp.h +++ b/src/gromacs/legacyheaders/warninp.h @@ -3,7 +3,7 @@ * * 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. @@ -38,7 +38,7 @@ #ifndef _warninp_h #define _warninp_h -#include "typedefs.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/libgromacs.pc.cmakein b/src/gromacs/libgromacs.pc.cmakein index c88b1cb20a..a3dc979e09 100644 --- a/src/gromacs/libgromacs.pc.cmakein +++ b/src/gromacs/libgromacs.pc.cmakein @@ -1,12 +1,11 @@ libdir=@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@ -includedir=@CMAKE_INSTALL_PREFIX@/@INCL_INSTALL_DIR@ Name: libgromacs@GMX_LIBS_SUFFIX@ Description: Gromacs library URL: http://www.gromacs.org -Version: @PROJECT_VERSION@ +Version: @GMX_VERSION_STRING@ Requires: @PKG_FFT@ @PKG_XML@ Libs.private: @CMAKE_THREAD_LIBS_INIT@ @PKG_DL_LIBS@ @OpenMP_LINKER_FLAGS@ Libs: -L${libdir} -lgromacs@GMX_LIBS_SUFFIX@ @PKG_FFT_LIBS@ -lm -Cflags: -I${includedir} @PKG_CFLAGS@ +Cflags: @PKG_CFLAGS@ diff --git a/src/gromacs/linearalgebra/CMakeLists.txt b/src/gromacs/linearalgebra/CMakeLists.txt index 6a8cc19255..b6f14b265b 100644 --- a/src/gromacs/linearalgebra/CMakeLists.txt +++ b/src/gromacs/linearalgebra/CMakeLists.txt @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2012,2013, by the GROMACS development team, led by +# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -51,6 +51,5 @@ set(LIBGROMACS_SOURCES set(LINEARALGEBRA_PUBLIC_HEADERS eigensolver.h matrix.h - mtxio.h sparsematrix.h) gmx_install_headers(linearalgebra ${LINEARALGEBRA_PUBLIC_HEADERS}) diff --git a/src/gromacs/linearalgebra/eigensolver.c b/src/gromacs/linearalgebra/eigensolver.c index a0221be3c7..7d3f0d8754 100644 --- a/src/gromacs/linearalgebra/eigensolver.c +++ b/src/gromacs/linearalgebra/eigensolver.c @@ -34,16 +34,17 @@ * 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 "eigensolver.h" +#include "gmxpre.h" -#include "gromacs/legacyheaders/types/simple.h" -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "eigensolver.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" #include "gmx_arpack.h" +#include "gmx_lapack.h" void eigensolver(real * a, diff --git a/src/gromacs/linearalgebra/eigensolver.h b/src/gromacs/linearalgebra/eigensolver.h index 38f880bddf..0c2b97d92d 100644 --- a/src/gromacs/linearalgebra/eigensolver.h +++ b/src/gromacs/linearalgebra/eigensolver.h @@ -37,9 +37,8 @@ #ifndef GMX_LINEARALGEBRA_EIGENSOLVER_H #define GMX_LINEARALGEBRA_EIGENSOLVER_H -#include "../legacyheaders/types/simple.h" - -#include "sparsematrix.h" +#include "gromacs/linearalgebra/sparsematrix.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/linearalgebra/gmx_arpack.c b/src/gromacs/linearalgebra/gmx_arpack.c index 31894a1c9d..287f0da282 100644 --- a/src/gromacs/linearalgebra/gmx_arpack.c +++ b/src/gromacs/linearalgebra/gmx_arpack.c @@ -2,7 +2,7 @@ * 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. @@ -33,13 +33,19 @@ * 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 "gmxpre.h" + +#include "gmx_arpack.h" + #include #include -#include "gromacs/legacyheaders/types/simple.h" -#include "gmx_arpack.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" + #include "gmx_blas.h" #include "gmx_lapack.h" + static void F77_FUNC(dstqrb, DSTQRB) (int * n, double * d__, diff --git a/src/gromacs/linearalgebra/gmx_arpack.h b/src/gromacs/linearalgebra/gmx_arpack.h index 1c4fe34384..dcf556fe0c 100644 --- a/src/gromacs/linearalgebra/gmx_arpack.h +++ b/src/gromacs/linearalgebra/gmx_arpack.h @@ -2,7 +2,7 @@ * 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. @@ -50,9 +50,7 @@ #ifndef GMX_ARPACK_H #define GMX_ARPACK_H -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #ifdef __cplusplus extern "C" { #endif diff --git a/src/gromacs/linearalgebra/gmx_blas.h b/src/gromacs/linearalgebra/gmx_blas.h index 4da2847e69..991cf8b2e6 100644 --- a/src/gromacs/linearalgebra/gmx_blas.h +++ b/src/gromacs/linearalgebra/gmx_blas.h @@ -3,7 +3,7 @@ * * 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. @@ -57,15 +57,14 @@ /*! \cond */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif -/* Suppress Cygwin compiler warnings from using newlib version of - * ctype.h */ -#ifdef GMX_CYGWIN -#undef toupper -#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" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/linearalgebra/gmx_blas/dgemm.c b/src/gromacs/linearalgebra/gmx_blas/dgemm.c index 5aa2340e0e..31e7139c5d 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dgemm.c +++ b/src/gromacs/linearalgebra/gmx_blas/dgemm.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" diff --git a/src/gromacs/linearalgebra/gmx_blas/dgemv.c b/src/gromacs/linearalgebra/gmx_blas/dgemv.c index 782d3dcff0..124c778626 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dgemv.c +++ b/src/gromacs/linearalgebra/gmx_blas/dgemv.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" diff --git a/src/gromacs/linearalgebra/gmx_blas/dger.c b/src/gromacs/linearalgebra/gmx_blas/dger.c index 6b3b3a4d60..926b53e480 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dger.c +++ b/src/gromacs/linearalgebra/gmx_blas/dger.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" diff --git a/src/gromacs/linearalgebra/gmx_blas/dnrm2.c b/src/gromacs/linearalgebra/gmx_blas/dnrm2.c index 45d93784be..251d810c17 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dnrm2.c +++ b/src/gromacs/linearalgebra/gmx_blas/dnrm2.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" double diff --git a/src/gromacs/linearalgebra/gmx_blas/dsymv.c b/src/gromacs/linearalgebra/gmx_blas/dsymv.c index 0fa6d0fc8b..1e0b0244ae 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dsymv.c +++ b/src/gromacs/linearalgebra/gmx_blas/dsymv.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/dsyr2.c b/src/gromacs/linearalgebra/gmx_blas/dsyr2.c index 4c5290fcb6..508f3b29b7 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dsyr2.c +++ b/src/gromacs/linearalgebra/gmx_blas/dsyr2.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" diff --git a/src/gromacs/linearalgebra/gmx_blas/dsyr2k.c b/src/gromacs/linearalgebra/gmx_blas/dsyr2k.c index 7fe83d9279..e863f5b56c 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dsyr2k.c +++ b/src/gromacs/linearalgebra/gmx_blas/dsyr2k.c @@ -2,7 +2,7 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/dtrmm.c b/src/gromacs/linearalgebra/gmx_blas/dtrmm.c index 71c43bc744..d6ca04250c 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dtrmm.c +++ b/src/gromacs/linearalgebra/gmx_blas/dtrmm.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" diff --git a/src/gromacs/linearalgebra/gmx_blas/dtrmv.c b/src/gromacs/linearalgebra/gmx_blas/dtrmv.c index 959015f80a..bb3909a8a3 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dtrmv.c +++ b/src/gromacs/linearalgebra/gmx_blas/dtrmv.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/dtrsm.c b/src/gromacs/linearalgebra/gmx_blas/dtrsm.c index 45d04987b7..52b89b7bf0 100644 --- a/src/gromacs/linearalgebra/gmx_blas/dtrsm.c +++ b/src/gromacs/linearalgebra/gmx_blas/dtrsm.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/sgemm.c b/src/gromacs/linearalgebra/gmx_blas/sgemm.c index 7b4bb05a62..1904f20207 100644 --- a/src/gromacs/linearalgebra/gmx_blas/sgemm.c +++ b/src/gromacs/linearalgebra/gmx_blas/sgemm.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/sgemv.c b/src/gromacs/linearalgebra/gmx_blas/sgemv.c index b9a3b5a588..1447cd291a 100644 --- a/src/gromacs/linearalgebra/gmx_blas/sgemv.c +++ b/src/gromacs/linearalgebra/gmx_blas/sgemv.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/sger.c b/src/gromacs/linearalgebra/gmx_blas/sger.c index ca7e558069..71947e7222 100644 --- a/src/gromacs/linearalgebra/gmx_blas/sger.c +++ b/src/gromacs/linearalgebra/gmx_blas/sger.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/snrm2.c b/src/gromacs/linearalgebra/gmx_blas/snrm2.c index eaa5cd5921..bbe11bc76e 100644 --- a/src/gromacs/linearalgebra/gmx_blas/snrm2.c +++ b/src/gromacs/linearalgebra/gmx_blas/snrm2.c @@ -1,7 +1,7 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" float diff --git a/src/gromacs/linearalgebra/gmx_blas/ssymv.c b/src/gromacs/linearalgebra/gmx_blas/ssymv.c index 8f245dd177..579ead06c7 100644 --- a/src/gromacs/linearalgebra/gmx_blas/ssymv.c +++ b/src/gromacs/linearalgebra/gmx_blas/ssymv.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/ssyr2.c b/src/gromacs/linearalgebra/gmx_blas/ssyr2.c index 2a9080512d..022ca09088 100644 --- a/src/gromacs/linearalgebra/gmx_blas/ssyr2.c +++ b/src/gromacs/linearalgebra/gmx_blas/ssyr2.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/ssyr2k.c b/src/gromacs/linearalgebra/gmx_blas/ssyr2k.c index 1dfae8fcfb..335206c72b 100644 --- a/src/gromacs/linearalgebra/gmx_blas/ssyr2k.c +++ b/src/gromacs/linearalgebra/gmx_blas/ssyr2k.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/strmm.c b/src/gromacs/linearalgebra/gmx_blas/strmm.c index 39c9f5b43c..7fd95a5489 100644 --- a/src/gromacs/linearalgebra/gmx_blas/strmm.c +++ b/src/gromacs/linearalgebra/gmx_blas/strmm.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/strmv.c b/src/gromacs/linearalgebra/gmx_blas/strmv.c index 485df5a285..41b661c67b 100644 --- a/src/gromacs/linearalgebra/gmx_blas/strmv.c +++ b/src/gromacs/linearalgebra/gmx_blas/strmv.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_blas/strsm.c b/src/gromacs/linearalgebra/gmx_blas/strsm.c index 1b1d57585a..61aaaaba06 100644 --- a/src/gromacs/linearalgebra/gmx_blas/strsm.c +++ b/src/gromacs/linearalgebra/gmx_blas/strsm.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" void diff --git a/src/gromacs/linearalgebra/gmx_lapack.h b/src/gromacs/linearalgebra/gmx_lapack.h index 36072b70f8..b29535a6e5 100644 --- a/src/gromacs/linearalgebra/gmx_lapack.h +++ b/src/gromacs/linearalgebra/gmx_lapack.h @@ -3,7 +3,7 @@ * * 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. @@ -63,15 +63,14 @@ /*! \cond */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif -/* Suppress Cygwin compiler warnings from using newlib version of - * ctype.h */ -#ifdef GMX_CYGWIN -#undef toupper -#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" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/linearalgebra/gmx_lapack/dbdsdc.c b/src/gromacs/linearalgebra/gmx_lapack/dbdsdc.c index d28eccf3af..c51fca591f 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dbdsdc.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dbdsdc.c @@ -4,7 +4,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dbdsqr.c b/src/gromacs/linearalgebra/gmx_lapack/dbdsqr.c index 3d1cc191af..be772eba61 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dbdsqr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dbdsqr.c @@ -4,7 +4,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dgesdd.c b/src/gromacs/linearalgebra/gmx_lapack/dgesdd.c index af54358689..b7ab54b67e 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dgesdd.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dgesdd.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dgetf2.c b/src/gromacs/linearalgebra/gmx_lapack/dgetf2.c index 2a0faca7f2..c4b9ee401a 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dgetf2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dgetf2.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlaed6.c b/src/gromacs/linearalgebra/gmx_lapack/dlaed6.c index d29b6eee62..8753f4d062 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlaed6.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlaed6.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dlaed6,DLAED6)(int *kniter, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlaev2.c b/src/gromacs/linearalgebra/gmx_lapack/dlaev2.c index 66bda5f6d0..56e0c9b98b 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlaev2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlaev2.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlagtf.c b/src/gromacs/linearalgebra/gmx_lapack/dlagtf.c index b8635f549f..5214cece64 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlagtf.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlagtf.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlagts.c b/src/gromacs/linearalgebra/gmx_lapack/dlagts.c index 3f78428588..09dad0d76a 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlagts.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlagts.c @@ -1,6 +1,6 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlapy2.c b/src/gromacs/linearalgebra/gmx_lapack/dlapy2.c index bb03ffed69..d8b59d2fa3 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlapy2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlapy2.c @@ -1,7 +1,7 @@ #include #include "../gmx_lapack.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" double F77_FUNC(dlapy2,DLAPY2)(double * x, double * y) diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlar1vx.c b/src/gromacs/linearalgebra/gmx_lapack/dlar1vx.c index 940c62bb19..67c9a56f57 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlar1vx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlar1vx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlarf.c b/src/gromacs/linearalgebra/gmx_lapack/dlarf.c index 7a158cd8fc..f8414f6244 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlarf.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlarf.c @@ -4,7 +4,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlarfg.c b/src/gromacs/linearalgebra/gmx_lapack/dlarfg.c index 030755479e..ff9bfbe297 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlarfg.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlarfg.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlarft.c b/src/gromacs/linearalgebra/gmx_lapack/dlarft.c index 950074cacd..43897c0cf5 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlarft.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlarft.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlarrbx.c b/src/gromacs/linearalgebra/gmx_lapack/dlarrbx.c index 3c4c8b46d8..bfe4304cd2 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlarrbx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlarrbx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlarrex.c b/src/gromacs/linearalgebra/gmx_lapack/dlarrex.c index e8998f83ab..fc48340a0d 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlarrex.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlarrex.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlarrfx.c b/src/gromacs/linearalgebra/gmx_lapack/dlarrfx.c index cc4d67006d..35b6a13a08 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlarrfx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlarrfx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlarrvx.c b/src/gromacs/linearalgebra/gmx_lapack/dlarrvx.c index a9c21bd53d..378f21db16 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlarrvx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlarrvx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlartg.c b/src/gromacs/linearalgebra/gmx_lapack/dlartg.c index 0e51c5092b..92ae0b19ed 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlartg.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlartg.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dlartg,DLARTG)(double *f, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlas2.c b/src/gromacs/linearalgebra/gmx_lapack/dlas2.c index ba6fe95b26..c86f060626 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlas2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlas2.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlascl.c b/src/gromacs/linearalgebra/gmx_lapack/dlascl.c index 0cd9aa83ac..8605da41f6 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlascl.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlascl.c @@ -1,6 +1,6 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasd2.c b/src/gromacs/linearalgebra/gmx_lapack/dlasd2.c index 1c87fd9131..613919a7e8 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasd2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasd2.c @@ -3,7 +3,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dlasd2,DLASD2)(int *nl, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasd4.c b/src/gromacs/linearalgebra/gmx_lapack/dlasd4.c index 778a64e8c1..d5130dfe9b 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasd4.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasd4.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dlasd4,DLASD4)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasd7.c b/src/gromacs/linearalgebra/gmx_lapack/dlasd7.c index 23657fa4e2..04c40a65a6 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasd7.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasd7.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasq1.c b/src/gromacs/linearalgebra/gmx_lapack/dlasq1.c index 9a11b8dcee..569245e7a7 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasq1.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasq1.c @@ -3,7 +3,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dlasq1,DLASQ1)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasq2.c b/src/gromacs/linearalgebra/gmx_lapack/dlasq2.c index 4da15558bb..fd82c33d73 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasq2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasq2.c @@ -2,7 +2,7 @@ #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*/ diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasq3.c b/src/gromacs/linearalgebra/gmx_lapack/dlasq3.c index d9ba8eec58..ccd05b1d74 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasq3.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasq3.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasq4.c b/src/gromacs/linearalgebra/gmx_lapack/dlasq4.c index 1b24e4a921..a9830da008 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasq4.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasq4.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasq6.c b/src/gromacs/linearalgebra/gmx_lapack/dlasq6.c index 3c5cca66bc..f06101991f 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasq6.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasq6.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dlasq6,DLASQ6)(int *i0, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasr.c b/src/gromacs/linearalgebra/gmx_lapack/dlasr.c index c265865e4d..dbec294b53 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasr.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" void diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlassq.c b/src/gromacs/linearalgebra/gmx_lapack/dlassq.c index 300d46c24c..74b22ae67b 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlassq.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlassq.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" void diff --git a/src/gromacs/linearalgebra/gmx_lapack/dlasv2.c b/src/gromacs/linearalgebra/gmx_lapack/dlasv2.c index 7f74ebdde0..fc89932cb7 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dlasv2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dlasv2.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dlasv2,DLASV2)(double *f, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dorml2.c b/src/gromacs/linearalgebra/gmx_lapack/dorml2.c index c02cf83410..b50a1f489e 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dorml2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dorml2.c @@ -1,6 +1,6 @@ #include #include "../gmx_lapack.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dorml2,DORML2)(const char *side, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dstebz.c b/src/gromacs/linearalgebra/gmx_lapack/dstebz.c index 0cfd2fa1e3..7cb421e826 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dstebz.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dstebz.c @@ -2,7 +2,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dstegr.c b/src/gromacs/linearalgebra/gmx_lapack/dstegr.c index 1e2128f075..dbfa8eb7e3 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dstegr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dstegr.c @@ -3,7 +3,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dstein.c b/src/gromacs/linearalgebra/gmx_lapack/dstein.c index c46d8ca301..52a3e2437b 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dstein.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dstein.c @@ -3,7 +3,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dstein,DSTEIN)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dsteqr.c b/src/gromacs/linearalgebra/gmx_lapack/dsteqr.c index b7e10363dc..ead523ba54 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dsteqr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dsteqr.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dsterf.c b/src/gromacs/linearalgebra/gmx_lapack/dsterf.c index 71f2e3dd48..ba43f6dfc8 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dsterf.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dsterf.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(dsterf,DSTERF)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/dsyevr.c b/src/gromacs/linearalgebra/gmx_lapack/dsyevr.c index 4397832c70..379c9c94cd 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dsyevr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dsyevr.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dsytd2.c b/src/gromacs/linearalgebra/gmx_lapack/dsytd2.c index 2e36d03af7..32eb8880f4 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dsytd2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dsytd2.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/dtrtri.c b/src/gromacs/linearalgebra/gmx_lapack/dtrtri.c index 5caebbccb6..d561269688 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/dtrtri.c +++ b/src/gromacs/linearalgebra/gmx_lapack/dtrtri.c @@ -3,7 +3,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/sbdsdc.c b/src/gromacs/linearalgebra/gmx_lapack/sbdsdc.c index 43c00d42dd..f980062696 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sbdsdc.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sbdsdc.c @@ -4,7 +4,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/sbdsqr.c b/src/gromacs/linearalgebra/gmx_lapack/sbdsqr.c index 7021940770..6ba0b466dc 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sbdsqr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sbdsqr.c @@ -4,7 +4,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/sgesdd.c b/src/gromacs/linearalgebra/gmx_lapack/sgesdd.c index caad379763..48693e9917 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sgesdd.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sgesdd.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/sgetf2.c b/src/gromacs/linearalgebra/gmx_lapack/sgetf2.c index fc38a81087..4fdce16c88 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sgetf2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sgetf2.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slaed6.c b/src/gromacs/linearalgebra/gmx_lapack/slaed6.c index 20cc211ae9..5bb1c4935f 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slaed6.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slaed6.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(slaed6,SLAED6)(int *kniter, diff --git a/src/gromacs/linearalgebra/gmx_lapack/slaev2.c b/src/gromacs/linearalgebra/gmx_lapack/slaev2.c index c47ba0a13f..9a84c3d611 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slaev2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slaev2.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slagtf.c b/src/gromacs/linearalgebra/gmx_lapack/slagtf.c index 27d096ffa5..924a1bcd50 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slagtf.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slagtf.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slagts.c b/src/gromacs/linearalgebra/gmx_lapack/slagts.c index ff03ff732d..2b8beb751c 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slagts.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slagts.c @@ -1,6 +1,6 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slapy2.c b/src/gromacs/linearalgebra/gmx_lapack/slapy2.c index e5ba0629a5..e7391db05f 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slapy2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slapy2.c @@ -1,7 +1,7 @@ #include #include "../gmx_lapack.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" float F77_FUNC(slapy2,SLAPY2)(float * x, float * y) diff --git a/src/gromacs/linearalgebra/gmx_lapack/slar1vx.c b/src/gromacs/linearalgebra/gmx_lapack/slar1vx.c index 8eb82c8a75..be09d642a3 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slar1vx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slar1vx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slarf.c b/src/gromacs/linearalgebra/gmx_lapack/slarf.c index c822defce0..ee3a03598c 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slarf.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slarf.c @@ -4,7 +4,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/slarfg.c b/src/gromacs/linearalgebra/gmx_lapack/slarfg.c index 35f3a25e59..4ea03cae30 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slarfg.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slarfg.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slarft.c b/src/gromacs/linearalgebra/gmx_lapack/slarft.c index 9a3b6bff4e..4e6b9a5db0 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slarft.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slarft.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slarrbx.c b/src/gromacs/linearalgebra/gmx_lapack/slarrbx.c index 2b658263af..33f2e431fd 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slarrbx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slarrbx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slarrex.c b/src/gromacs/linearalgebra/gmx_lapack/slarrex.c index 9006e506af..07028ef00d 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slarrex.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slarrex.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slarrfx.c b/src/gromacs/linearalgebra/gmx_lapack/slarrfx.c index 9b6565a1e0..65c906d7d3 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slarrfx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slarrfx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slarrvx.c b/src/gromacs/linearalgebra/gmx_lapack/slarrvx.c index efc1124b19..296d99bf7f 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slarrvx.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slarrvx.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slartg.c b/src/gromacs/linearalgebra/gmx_lapack/slartg.c index 3ea6a46245..79f7c20fe9 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slartg.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slartg.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(slartg,SLARTG)(float *f, diff --git a/src/gromacs/linearalgebra/gmx_lapack/slas2.c b/src/gromacs/linearalgebra/gmx_lapack/slas2.c index bddecad3ea..c660aa8a0d 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slas2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slas2.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slascl.c b/src/gromacs/linearalgebra/gmx_lapack/slascl.c index 18048e1c23..e454fc6034 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slascl.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slascl.c @@ -1,6 +1,6 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasd2.c b/src/gromacs/linearalgebra/gmx_lapack/slasd2.c index 4d683f7904..2f016ff4de 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasd2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasd2.c @@ -3,7 +3,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(slasd2,SLASD2)(int *nl, diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasd4.c b/src/gromacs/linearalgebra/gmx_lapack/slasd4.c index e87252834e..194a949cf0 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasd4.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasd4.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(slasd4,SLASD4)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasd7.c b/src/gromacs/linearalgebra/gmx_lapack/slasd7.c index 7a70a78664..40e8fed595 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasd7.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasd7.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasq1.c b/src/gromacs/linearalgebra/gmx_lapack/slasq1.c index ac899e8abf..8aeb32ed0f 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasq1.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasq1.c @@ -3,7 +3,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(slasq1,SLASQ1)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasq2.c b/src/gromacs/linearalgebra/gmx_lapack/slasq2.c index 1f0b32bd18..14bb265582 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasq2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasq2.c @@ -2,7 +2,7 @@ #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*/ diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasq3.c b/src/gromacs/linearalgebra/gmx_lapack/slasq3.c index 8a8095687f..0bc291d58e 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasq3.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasq3.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" #include "lapack_limits.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasq4.c b/src/gromacs/linearalgebra/gmx_lapack/slasq4.c index cc27e42ccd..91a13be2b7 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasq4.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasq4.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasq6.c b/src/gromacs/linearalgebra/gmx_lapack/slasq6.c index 38aae9b9da..15e24f36a8 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasq6.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasq6.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(slasq6,SLASQ6)(int *i0, diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasr.c b/src/gromacs/linearalgebra/gmx_lapack/slasr.c index b3c3d8fc84..f897011bae 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasr.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" void diff --git a/src/gromacs/linearalgebra/gmx_lapack/slassq.c b/src/gromacs/linearalgebra/gmx_lapack/slassq.c index b38ea32a25..bd6462bb1c 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slassq.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slassq.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" void diff --git a/src/gromacs/linearalgebra/gmx_lapack/slasv2.c b/src/gromacs/linearalgebra/gmx_lapack/slasv2.c index 969d7851b9..84fcefa5cd 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/slasv2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/slasv2.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(slasv2,SLASV2)(float *f, diff --git a/src/gromacs/linearalgebra/gmx_lapack/sorml2.c b/src/gromacs/linearalgebra/gmx_lapack/sorml2.c index 7694ed44bf..3d0cd6cf87 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sorml2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sorml2.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_lapack.h" void diff --git a/src/gromacs/linearalgebra/gmx_lapack/sstebz.c b/src/gromacs/linearalgebra/gmx_lapack/sstebz.c index 8b9a8da488..863315bd79 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sstebz.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sstebz.c @@ -2,7 +2,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/sstegr.c b/src/gromacs/linearalgebra/gmx_lapack/sstegr.c index bb4012fae0..f2d0cfcb91 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sstegr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sstegr.c @@ -3,7 +3,7 @@ #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, diff --git a/src/gromacs/linearalgebra/gmx_lapack/sstein.c b/src/gromacs/linearalgebra/gmx_lapack/sstein.c index 29f4cdaaa4..998cbd5069 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/sstein.c +++ b/src/gromacs/linearalgebra/gmx_lapack/sstein.c @@ -3,7 +3,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(sstein,SSTEIN)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/ssteqr.c b/src/gromacs/linearalgebra/gmx_lapack/ssteqr.c index b6834d3912..8d83e3b52b 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/ssteqr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/ssteqr.c @@ -1,5 +1,5 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/ssterf.c b/src/gromacs/linearalgebra/gmx_lapack/ssterf.c index 8834a31c1f..277aae9fa1 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/ssterf.c +++ b/src/gromacs/linearalgebra/gmx_lapack/ssterf.c @@ -2,7 +2,7 @@ #include "../gmx_lapack.h" #include "lapack_limits.h" -#include "types/simple.h" +#include "gromacs/utility/real.h" void F77_FUNC(ssterf,SSTERF)(int *n, diff --git a/src/gromacs/linearalgebra/gmx_lapack/ssyevr.c b/src/gromacs/linearalgebra/gmx_lapack/ssyevr.c index 0db349e1c8..83a079611e 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/ssyevr.c +++ b/src/gromacs/linearalgebra/gmx_lapack/ssyevr.c @@ -1,6 +1,6 @@ #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/ssytd2.c b/src/gromacs/linearalgebra/gmx_lapack/ssytd2.c index 1f03540131..5b719704df 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/ssytd2.c +++ b/src/gromacs/linearalgebra/gmx_lapack/ssytd2.c @@ -1,7 +1,7 @@ #include #include -#include "types/simple.h" +#include "gromacs/utility/real.h" #include "../gmx_blas.h" #include "../gmx_lapack.h" diff --git a/src/gromacs/linearalgebra/gmx_lapack/strtri.c b/src/gromacs/linearalgebra/gmx_lapack/strtri.c index 5d000c61b3..15b1aaa68b 100644 --- a/src/gromacs/linearalgebra/gmx_lapack/strtri.c +++ b/src/gromacs/linearalgebra/gmx_lapack/strtri.c @@ -3,7 +3,7 @@ #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, diff --git a/src/gromacs/linearalgebra/matrix.c b/src/gromacs/linearalgebra/matrix.c index ccbd22ec19..e646067ed7 100644 --- a/src/gromacs/linearalgebra/matrix.c +++ b/src/gromacs/linearalgebra/matrix.c @@ -34,17 +34,15 @@ * 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 "gmxpre.h" + #include "matrix.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #include -#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" @@ -239,7 +237,7 @@ double multi_regression(FILE *fp, int nrow, double *y, int ncol, { ax += a0[i]*a[j][i]; } - chi2 += sqr(y[j]-ax); + chi2 += (y[j] - ax) * (y[j] - ax); } sfree(atx); diff --git a/src/gromacs/linearalgebra/nrjac.c b/src/gromacs/linearalgebra/nrjac.c index b5cf7066b4..2b023bcd79 100644 --- a/src/gromacs/linearalgebra/nrjac.c +++ b/src/gromacs/linearalgebra/nrjac.c @@ -35,11 +35,13 @@ * the research papers on the package. Check out http://www.gromacs.org. */ /* This file is completely threadsafe - keep it that way! */ +#include "gmxpre.h" + #include "nrjac.h" #include -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" static gmx_inline diff --git a/src/gromacs/linearalgebra/nrjac.h b/src/gromacs/linearalgebra/nrjac.h index 9e2f625bee..007f3f800d 100644 --- a/src/gromacs/linearalgebra/nrjac.h +++ b/src/gromacs/linearalgebra/nrjac.h @@ -37,7 +37,7 @@ #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" { diff --git a/src/gromacs/linearalgebra/sparsematrix.c b/src/gromacs/linearalgebra/sparsematrix.c index d2bb9495f4..5b2405c3de 100644 --- a/src/gromacs/linearalgebra/sparsematrix.c +++ b/src/gromacs/linearalgebra/sparsematrix.c @@ -34,11 +34,13 @@ * 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 "gmxpre.h" + #include "sparsematrix.h" #include -#include #include +#include #include "gromacs/utility/smalloc.h" diff --git a/src/gromacs/linearalgebra/sparsematrix.h b/src/gromacs/linearalgebra/sparsematrix.h index 7d5d1b125f..04731f0181 100644 --- a/src/gromacs/linearalgebra/sparsematrix.h +++ b/src/gromacs/linearalgebra/sparsematrix.h @@ -3,7 +3,7 @@ * * 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. @@ -39,7 +39,8 @@ #include -#include "../legacyheaders/types/simple.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/listed-forces/CMakeLists.txt b/src/gromacs/listed-forces/CMakeLists.txt new file mode 100644 index 0000000000..721f4fbde2 --- /dev/null +++ b/src/gromacs/listed-forces/CMakeLists.txt @@ -0,0 +1,45 @@ +# +# 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 LISTED_FORCES_SOURCES *.cpp) +set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${LISTED_FORCES_SOURCES} PARENT_SCOPE) + +set(LISTED_FORCES_PUBLIC_HEADERS + bonded.h) + +gmx_install_headers(listed-forces ${LISTED_FORCES_PUBLIC_HEADERS}) + +if (BUILD_TESTING) +# add_subdirectory(tests) +endif() diff --git a/src/gromacs/gmxlib/bondfree.c b/src/gromacs/listed-forces/bonded.cpp similarity index 92% rename from src/gromacs/gmxlib/bondfree.c rename to src/gromacs/listed-forces/bonded.cpp index 0eb8d55791..dfb846d9e7 100644 --- a/src/gromacs/gmxlib/bondfree.c +++ b/src/gromacs/listed-forces/bonded.cpp @@ -34,36 +34,50 @@ * 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 -#endif +/*! \internal \file + * + * \brief This file defines functions necessary for mdrun and tools to + * compute energies and forces for bonded interactions. + * + * \author Mark Abraham + * + * \ingroup module_listed-forces + */ +#include "gmxpre.h" + +#include "bonded.h" + +#include "config.h" -#include #include -#include "physics.h" -#include "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 + +#include + +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/math/units.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.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? */ +#include "restcbt.h" + +/*! \brief Mysterious CMAP coefficient matrix */ const int cmap_coeff_matrix[] = { 1, 0, -3, 2, 0, 0, 0, 0, -3, 0, 9, -6, 2, 0, -6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -9, 6, -2, 0, 6, -4, @@ -84,7 +98,9 @@ const int cmap_coeff_matrix[] = { }; - +/* TODO This function should go and live in nonbonded.c where it is + really needed. Here, it only supports giving a fatal error message + with FENE_bonds */ int glatnr(int *global_atom_index, int i) { int atnr; @@ -101,6 +117,9 @@ int glatnr(int *global_atom_index, int i) return atnr; } +/*! \brief Compute dx = xi - xj, modulo PBC if non-NULL + * + * \todo This kind of code appears in many places. Consolidate it */ static int pbc_rvec_sub(const t_pbc *pbc, const rvec xi, const rvec xj, rvec dx) { if (pbc) @@ -129,7 +148,7 @@ typedef struct { gmx_simd_real_t bxx; } pbc_simd_t; -/* Set the SIMD pbc data from a normal t_pbc struct */ +/*! \brief Set the SIMD pbc data from a normal t_pbc struct */ static void set_pbc_simd(const t_pbc *pbc, pbc_simd_t *pbc_simd) { rvec inv_bdiag; @@ -169,7 +188,7 @@ static void set_pbc_simd(const t_pbc *pbc, pbc_simd_t *pbc_simd) } } -/* Correct distance vector *dx,*dy,*dz for PBC using SIMD */ +/*! \brief Correct distance vector *dx,*dy,*dz for PBC using SIMD */ static gmx_inline void pbc_dx_simd(gmx_simd_real_t *dx, gmx_simd_real_t *dy, gmx_simd_real_t *dz, const pbc_simd_t *pbc) @@ -191,10 +210,9 @@ pbc_dx_simd(gmx_simd_real_t *dx, gmx_simd_real_t *dy, gmx_simd_real_t *dz, #endif /* GMX_SIMD_HAVE_REAL */ -/* - * Morse potential bond by Frank Everdij +/*! \brief Morse potential bond * - * Three parameters needed: + * By Frank Everdij. Three parameters needed: * * b0 = equilibrium distance in nm * be = beta in nm^-1 (actually, it's nu_e*Sqrt(2*pi*pi*mu/D_e)) @@ -203,7 +221,6 @@ pbc_dx_simd(gmx_simd_real_t *dx, gmx_simd_real_t *dy, gmx_simd_real_t *dz, * Note: the potential is referenced to be +cb at infinite separation * and zero at the equilibrium distance! */ - real morse_bonds(int nbonds, const t_iatom forceatoms[], const t_iparams forceparams[], const rvec x[], rvec f[], rvec fshift[], @@ -278,6 +295,7 @@ real morse_bonds(int nbonds, return vtot; } +//! \cond real cubic_bonds(int nbonds, const t_iatom forceatoms[], const t_iparams forceparams[], const rvec x[], rvec f[], rvec fshift[], @@ -351,7 +369,7 @@ real FENE_bonds(int nbonds, const real half = 0.5; const real one = 1.0; real bm, kb; - real dr, dr2, bm2, omdr2obm2, fbond, vbond, fij, vtot; + real dr2, bm2, omdr2obm2, fbond, vbond, fij, vtot; rvec dx; int i, m, ki, type, ai, aj; ivec dt; @@ -751,7 +769,6 @@ real water_pol(int nbonds, kk[YY] = sqr(qS)*ONE_4PI_EPS0/forceparams[type0].wpol.al_y; kk[ZZ] = sqr(qS)*ONE_4PI_EPS0/forceparams[type0].wpol.al_z; r_HH = 1.0/forceparams[type0].wpol.rHH; - r_OD = 1.0/forceparams[type0].wpol.rOD; if (debug) { fprintf(debug, "WPOL: qS = %10.5f aS = %5d\n", qS, aS); @@ -875,7 +892,7 @@ static real do_1_thole(const rvec xi, const rvec xj, rvec fi, rvec fj, rvec fshift[], real afac) { rvec r12; - real r12sq, r12_1, r12n, r12bar, v0, v1, fscal, ebar, fff; + real r12sq, r12_1, r12bar, v0, v1, fscal, ebar, fff; int m, t; t = pbc_rvec_sub(pbc, xi, xj, r12); /* 3 */ @@ -914,9 +931,10 @@ real thole_pol(int nbonds, int gmx_unused *global_atom_index) { /* Interaction between two pairs of particles with opposite charge */ - int i, type, a1, da1, a2, da2; - real q1, q2, qq, a, al1, al2, afac; - real V = 0; + int i, type, a1, da1, a2, da2; + real q1, q2, qq, a, al1, al2, afac; + real V = 0; + const real minusOneOnSix = -1.0/6.0; for (i = 0; (i < nbonds); ) { @@ -931,7 +949,7 @@ real thole_pol(int nbonds, al1 = forceparams[type].thole.alpha1; al2 = forceparams[type].thole.alpha2; qq = q1*q2; - afac = a*pow(al1*al2, -1.0/6.0); + afac = a*pow(al1*al2, minusOneOnSix); V += do_1_thole(x[a1], x[a2], f[a1], f[a2], pbc, qq, fshift, afac); V += do_1_thole(x[da1], x[a2], f[da1], f[a2], pbc, -qq, fshift, afac); V += do_1_thole(x[a1], x[da2], f[a1], f[da2], pbc, -qq, fshift, afac); @@ -1716,10 +1734,9 @@ do_dih_fup_noshiftf(int i, int j, int k, int l, real ddphi, rvec m, rvec n, rvec f[]) { rvec f_i, f_j, f_k, f_l; - rvec uvec, vvec, svec, dx_jl; + rvec uvec, vvec, svec; real iprm, iprn, nrkj, nrkj2, nrkj_1, nrkj_2; real a, b, p, q, toler; - ivec jt, dt_ij, dt_kj, dt_lj; iprm = iprod(m, m); /* 5 */ iprn = iprod(n, n); /* 5 */ @@ -1989,10 +2006,9 @@ pdihs_noener_simd(int nbonds, const int nfa1 = 5; int i, iu, s; int type, ai[GMX_SIMD_REAL_WIDTH], aj[GMX_SIMD_REAL_WIDTH], ak[GMX_SIMD_REAL_WIDTH], al[GMX_SIMD_REAL_WIDTH]; - real ddphi; real dr_array[3*DIM*GMX_SIMD_REAL_WIDTH+GMX_SIMD_REAL_WIDTH], *dr; real buf_array[7*GMX_SIMD_REAL_WIDTH+GMX_SIMD_REAL_WIDTH], *buf; - real *cp, *phi0, *mult, *phi, *p, *q, *sf_i, *msf_l; + real *cp, *phi0, *mult, *p, *q; gmx_simd_real_t phi0_S, phi_S; gmx_simd_real_t mx_S, my_S, mz_S; gmx_simd_real_t nx_S, ny_S, nz_S; @@ -2013,8 +2029,6 @@ pdihs_noener_simd(int nbonds, mult = buf + 2*GMX_SIMD_REAL_WIDTH; p = buf + 3*GMX_SIMD_REAL_WIDTH; q = buf + 4*GMX_SIMD_REAL_WIDTH; - sf_i = buf + 5*GMX_SIMD_REAL_WIDTH; - msf_l = buf + 6*GMX_SIMD_REAL_WIDTH; set_pbc_simd(pbc, &pbc_simd); @@ -2119,10 +2133,9 @@ rbdihs_noener_simd(int nbonds, const int nfa1 = 5; int i, iu, s, j; int type, ai[GMX_SIMD_REAL_WIDTH], aj[GMX_SIMD_REAL_WIDTH], ak[GMX_SIMD_REAL_WIDTH], al[GMX_SIMD_REAL_WIDTH]; - real ddphi; real dr_array[3*DIM*GMX_SIMD_REAL_WIDTH+GMX_SIMD_REAL_WIDTH], *dr; real buf_array[(NR_RBDIHS + 4)*GMX_SIMD_REAL_WIDTH+GMX_SIMD_REAL_WIDTH], *buf; - real *parm, *phi, *p, *q, *sf_i, *msf_l; + real *parm, *p, *q; gmx_simd_real_t phi_S; gmx_simd_real_t ddphi_S, cosfac_S; @@ -2145,8 +2158,6 @@ rbdihs_noener_simd(int nbonds, parm = buf; p = buf + (NR_RBDIHS + 0)*GMX_SIMD_REAL_WIDTH; q = buf + (NR_RBDIHS + 1)*GMX_SIMD_REAL_WIDTH; - sf_i = buf + (NR_RBDIHS + 2)*GMX_SIMD_REAL_WIDTH; - msf_l = buf + (NR_RBDIHS + 3)*GMX_SIMD_REAL_WIDTH; set_pbc_simd(pbc, &pbc_simd); @@ -2310,7 +2321,7 @@ real idihs(int nbonds, dvdl_term += 0.5*(kB - kA)*dp2 - kk*dphi0*dp; - do_dih_fup(ai, aj, ak, al, (real)(-ddphi), r_ij, r_kj, r_kl, m, n, + do_dih_fup(ai, aj, ak, al, -ddphi, r_ij, r_kj, r_kl, m, n, f, fshift, pbc, g, x, t1, t2, t3); /* 112 */ /* 218 TOTAL */ #ifdef DEBUG @@ -2400,6 +2411,44 @@ static void posres_dx(const rvec x, const rvec pos0A, const rvec pos0B, } } +/*! \brief Computes forces and potential for flat-bottom cylindrical restraints. + * Returns the flat-bottom potential. */ +static real do_fbposres_cylinder(int fbdim, rvec fm, rvec dx, real rfb, real kk, gmx_bool bInvert) +{ + int d; + real dr, dr2, invdr, v, rfb2; + + dr2 = 0.0; + rfb2 = sqr(rfb); + v = 0.0; + + for (d = 0; d < DIM; d++) + { + if (d != fbdim) + { + dr2 += sqr(dx[d]); + } + } + + if (dr2 > 0.0 && + ( (dr2 > rfb2 && bInvert == FALSE ) || (dr2 < rfb2 && bInvert == TRUE ) ) + ) + { + dr = sqrt(dr2); + invdr = 1./dr; + v = 0.5*kk*sqr(dr - rfb); + for (d = 0; d < DIM; d++) + { + if (d != fbdim) + { + fm[d] = -kk*(dr-rfb)*dx[d]*invdr; /* Force pointing to the center */ + } + } + } + + return v; +} + /*! \brief Adds forces of flat-bottomed positions restraints to f[] * and fixes vir_diag. Returns the flat-bottomed potential. */ real fbposres(int nbonds, @@ -2412,8 +2461,8 @@ real fbposres(int nbonds, int i, ai, m, d, type, npbcdim = 0, fbdim; const t_iparams *pr; real vtot, kk, v; - real ref = 0, dr, dr2, rpot, rfb, rfb2, fact, invdr; - rvec com_sc, rdist, pos, dx, dpdl, fm; + real dr, dr2, rfb, rfb2, fact; + rvec com_sc, rdist, dx, dpdl, fm; gmx_bool bInvert; npbcdim = ePBC2npbcdim(ePBC); @@ -2474,19 +2523,22 @@ real fbposres(int nbonds, svmul(fact, dx, fm); } break; + case efbposresCYLINDERX: + /* cylindrical flat-bottom posres in y-z plane. fm[XX] = 0. */ + fbdim = XX; + v = do_fbposres_cylinder(fbdim, fm, dx, rfb, kk, bInvert); + break; + case efbposresCYLINDERY: + /* cylindrical flat-bottom posres in x-z plane. fm[YY] = 0. */ + fbdim = YY; + v = do_fbposres_cylinder(fbdim, fm, dx, rfb, kk, bInvert); + break; case efbposresCYLINDER: - /* cylidrical flat-bottom posres in x-y plane. fm[ZZ] = 0. */ - dr2 = sqr(dx[XX])+sqr(dx[YY]); - if (dr2 > 0.0 && - ( (dr2 > rfb2 && bInvert == FALSE ) || (dr2 < rfb2 && bInvert == TRUE ) ) - ) - { - dr = sqrt(dr2); - invdr = 1./dr; - v = 0.5*kk*sqr(dr - rfb); - fm[XX] = -kk*(dr-rfb)*dx[XX]*invdr; /* Force pointing to the center */ - fm[YY] = -kk*(dr-rfb)*dx[YY]*invdr; - } + /* equivalent to efbposresCYLINDERZ for backwards compatibility */ + case efbposresCYLINDERZ: + /* cylindrical flat-bottom posres in x-y plane. fm[ZZ] = 0. */ + fbdim = ZZ; + v = do_fbposres_cylinder(fbdim, fm, dx, rfb, kk, bInvert); break; case efbposresX: /* fbdim=XX */ case efbposresY: /* fbdim=YY */ @@ -2528,12 +2580,11 @@ real posres(int nbonds, real lambda, real *dvdlambda, int refcoord_scaling, int ePBC, rvec comA, rvec comB) { - int i, ai, m, d, type, ki, npbcdim = 0; + int i, ai, m, d, type, npbcdim = 0; const t_iparams *pr; real L1; real vtot, kk, fm; - real posA, posB, ref = 0; - rvec comA_sc, comB_sc, rdist, dpdl, pos, dx; + rvec comA_sc, comB_sc, rdist, dpdl, dx; gmx_bool bForceValid = TRUE; if ((f == NULL) || (vir_diag == NULL)) /* should both be null together! */ @@ -2726,7 +2777,7 @@ real dihres(int nbonds, real vtot = 0; int ai, aj, ak, al, i, k, type, t1, t2, t3; real phi0A, phi0B, dphiA, dphiB, kfacA, kfacB, phi0, dphi, kfac; - real phi, ddphi, ddp, ddp2, dp, sign, d2r, fc, L1; + real phi, ddphi, ddp, ddp2, dp, sign, d2r, L1; rvec r_ij, r_kj, r_kl, m, n; L1 = 1.0-lambda; @@ -2833,7 +2884,6 @@ real restrangles(int nbonds, { int i, d, ai, aj, ak, type, m; int t1, t2; - rvec r_ij, r_kj; real v, vtot; ivec jt, dt_ij, dt_kj; rvec f_i, f_j, f_k; @@ -2961,7 +3011,7 @@ real restrdihs(int nbonds, t1 = pbc_rvec_sub(pbc, x[ai], x[aj], vec_temp); pbc_rvec_sub(pbc, x[aj], x[ai], delta_ante); t2 = pbc_rvec_sub(pbc, x[ak], x[aj], delta_crnt); - t3 = pbc_rvec_sub(pbc, x[ak], x[al], vec_temp); + pbc_rvec_sub(pbc, x[ak], x[al], vec_temp); pbc_rvec_sub(pbc, x[al], x[ak], delta_post); /* This function computes factors needed for restricted angle potential. @@ -3072,7 +3122,7 @@ real cbtdihs(int nbonds, pbc_rvec_sub(pbc, x[aj], x[ai], delta_ante); t2 = pbc_rvec_sub(pbc, x[ak], x[aj], vec_temp); pbc_rvec_sub(pbc, x[ak], x[aj], delta_crnt); - t3 = pbc_rvec_sub(pbc, x[ak], x[al], vec_temp); + pbc_rvec_sub(pbc, x[ak], x[al], vec_temp); pbc_rvec_sub(pbc, x[al], x[ak], delta_post); /* \brief Compute factors for CBT potential @@ -3247,7 +3297,11 @@ real rbdihs(int nbonds, return vtot; } -int cmap_setup_grid_index(int ip, int grid_spacing, int *ipm1, int *ipp1, int *ipp2) +//! \endcond + +/*! \brief Mysterious undocumented function */ +static int +cmap_setup_grid_index(int ip, int grid_spacing, int *ipm1, int *ipp1, int *ipp2) { int im1, ip1, ip2; @@ -3286,14 +3340,16 @@ int cmap_setup_grid_index(int ip, int grid_spacing, int *ipm1, int *ipp1, int *i } -real cmap_dihs(int nbonds, - const t_iatom forceatoms[], const t_iparams forceparams[], - const gmx_cmap_t *cmap_grid, - const rvec x[], rvec f[], rvec fshift[], - const t_pbc *pbc, const t_graph *g, - real gmx_unused lambda, real gmx_unused *dvdlambda, - const t_mdatoms gmx_unused *md, t_fcdata gmx_unused *fcd, - int gmx_unused *global_atom_index) +/*! \brief Compute CMAP dihedral energies and forces */ +static real +cmap_dihs(int nbonds, + const t_iatom forceatoms[], const t_iparams forceparams[], + const gmx_cmap_t *cmap_grid, + const rvec x[], rvec f[], rvec fshift[], + const t_pbc *pbc, const t_graph *g, + real gmx_unused lambda, real gmx_unused *dvdlambda, + const t_mdatoms gmx_unused *md, t_fcdata gmx_unused *fcd, + int gmx_unused *global_atom_index) { int i, j, k, n, idx; int ai, aj, ak, al, am; @@ -3302,13 +3358,13 @@ real cmap_dihs(int nbonds, int t11, t21, t31, t12, t22, t32; int iphi1, ip1m1, ip1p1, ip1p2; int iphi2, ip2m1, ip2p1, ip2p2; - int l1, l2, l3, l4; - int pos1, pos2, pos3, pos4, tmp; + int l1, l2, l3; + int pos1, pos2, pos3, pos4; real ty[4], ty1[4], ty2[4], ty12[4], tc[16], tx[16]; - real phi1, psi1, cos_phi1, sin_phi1, sign1, xphi1; - real phi2, psi2, cos_phi2, sin_phi2, sign2, xphi2; - real dx, xx, tt, tu, e, df1, df2, ddf1, ddf2, ddf12, vtot; + real phi1, cos_phi1, sin_phi1, sign1, xphi1; + real phi2, cos_phi2, sin_phi2, sign2, xphi2; + real dx, xx, tt, tu, e, df1, df2, vtot; real ra21, rb21, rg21, rg1, rgr1, ra2r1, rb2r1, rabr1; real ra22, rb22, rg22, rg2, rgr2, ra2r2, rb2r2, rabr2; real fg1, hg1, fga1, hgb1, gaa1, gbb1; @@ -3370,7 +3426,7 @@ real cmap_dihs(int nbonds, b1[1] = r1_kl[2]*r1_kj[0]-r1_kl[0]*r1_kj[2]; b1[2] = r1_kl[0]*r1_kj[1]-r1_kl[1]*r1_kj[0]; /* 9 */ - tmp = pbc_rvec_sub(pbc, x[a1l], x[a1k], h1); + pbc_rvec_sub(pbc, x[a1l], x[a1k], h1); ra21 = iprod(a1, a1); /* 5 */ rb21 = iprod(b1, b1); /* 5 */ @@ -3431,7 +3487,7 @@ real cmap_dihs(int nbonds, b2[1] = r2_kl[2]*r2_kj[0]-r2_kl[0]*r2_kj[2]; b2[2] = r2_kl[0]*r2_kj[1]-r2_kl[1]*r2_kj[0]; /* 9 */ - tmp = pbc_rvec_sub(pbc, x[a2l], x[a2k], h2); + pbc_rvec_sub(pbc, x[a2l], x[a2k], h2); ra22 = iprod(a2, a2); /* 5 */ rb22 = iprod(b2, b2); /* 5 */ @@ -3496,8 +3552,8 @@ real cmap_dihs(int nbonds, dx = 2*M_PI / cmap_grid->grid_spacing; /* Where on the grid are we */ - iphi1 = (int)(xphi1/dx); - iphi2 = (int)(xphi2/dx); + iphi1 = static_cast(xphi1/dx); + iphi2 = static_cast(xphi2/dx); iphi1 = cmap_setup_grid_index(iphi1, cmap_grid->grid_spacing, &ip1m1, &ip1p1, &ip1p2); iphi2 = cmap_setup_grid_index(iphi2, cmap_grid->grid_spacing, &ip2m1, &ip2p1, &ip2p2); @@ -3562,9 +3618,6 @@ real cmap_dihs(int nbonds, e = 0; df1 = 0; df2 = 0; - ddf1 = 0; - ddf2 = 0; - ddf12 = 0; for (i = 3; i >= 0; i--) { @@ -3575,19 +3628,11 @@ real cmap_dihs(int nbonds, e = tt * e + ((tc[i*4+3]*tu+tc[i*4+2])*tu + tc[i*4+1])*tu+tc[i*4]; df1 = tu * df1 + (3.0*tc[l1]*tt+2.0*tc[l2])*tt+tc[l3]; df2 = tt * df2 + (3.0*tc[i*4+3]*tu+2.0*tc[i*4+2])*tu+tc[i*4+1]; - ddf1 = tu * ddf1 + 2.0*3.0*tc[l1]*tt+2.0*tc[l2]; - ddf2 = tt * ddf2 + 2.0*3.0*tc[4*i+3]*tu+2.0*tc[4*i+2]; } - ddf12 = tc[5] + 2.0*tc[9]*tt + 3.0*tc[13]*tt*tt + 2.0*tu*(tc[6]+2.0*tc[10]*tt+3.0*tc[14]*tt*tt) + - 3.0*tu*tu*(tc[7]+2.0*tc[11]*tt+3.0*tc[15]*tt*tt); - fac = RAD2DEG/dx; df1 = df1 * fac; df2 = df2 * fac; - ddf1 = ddf1 * fac * fac; - ddf2 = ddf2 * fac * fac; - ddf12 = ddf12 * fac * fac; /* CMAP energy */ vtot += e; @@ -3694,7 +3739,7 @@ real cmap_dihs(int nbonds, } - +//! \cond /*********************************************************** * * G R O M O S 9 6 F U N C T I O N S @@ -3953,7 +3998,7 @@ real cross_bond_angle(int nbonds, /* Potential from Lawrence and Skimmer, Chem. Phys. Lett. 372 (2003) * pp. 842-847 */ - int i, ai, aj, ak, type, m, t1, t2, t3; + int i, ai, aj, ak, type, m, t1, t2; rvec r_ij, r_kj, r_ik; real vtot, vrt, s1, s2, s3, r1, r2, r3, r1e, r2e, r3e, krt, k1, k2, k3; rvec f_i, f_j, f_k; @@ -3974,7 +4019,7 @@ real cross_bond_angle(int nbonds, /* Compute distance vectors ... */ t1 = pbc_rvec_sub(pbc, x[ai], x[aj], r_ij); t2 = pbc_rvec_sub(pbc, x[ak], x[aj], r_kj); - t3 = pbc_rvec_sub(pbc, x[ai], x[ak], r_ik); + pbc_rvec_sub(pbc, x[ai], x[ak], r_ik); /* ... and their lengths */ r1 = norm(r_ij); @@ -4032,7 +4077,7 @@ static real bonded_tab(const char *type, int table_nr, { real k, tabscale, *VFtab, rt, eps, eps2, Yt, Ft, Geps, Heps2, Fp, VV, FF; int n0, nnn; - real v, f, dvdlambda; + real dvdlambda; k = (1.0 - lambda)*kA + lambda*kB; @@ -4040,7 +4085,7 @@ static real bonded_tab(const char *type, int table_nr, VFtab = table->data; rt = r*tabscale; - n0 = rt; + n0 = static_cast(rt); if (n0 >= table->n) { gmx_fatal(FARGS, "A tabulated %s interaction table number %d is out of the table range: r %f, between table indices %d and %d, table length %d", @@ -4167,7 +4212,7 @@ real tab_angles(int nbonds, if (cos_theta2 < 1) { int m; - real snt, st, sth; + real st, sth; real cik, cii, ckk; real nrkj2, nrij2; rvec f_i, f_j, f_k; @@ -4261,11 +4306,10 @@ real tab_dihs(int nbonds, return vtot; } -/* Return if this is a potential calculated in bondfree.c, - * i.e. an interaction that actually calculates a potential and - * works on multiple atoms (not e.g. a connection or a position restraint). - */ -static gmx_inline gmx_bool ftype_is_bonded_potential(int ftype) +//! \endcond + +gmx_bool +ftype_is_bonded_potential(int ftype) { return (interaction_function[ftype].flags & IF_BOND) && @@ -4273,173 +4317,7 @@ static gmx_inline gmx_bool ftype_is_bonded_potential(int ftype) (ftype < F_GB12 || ftype > F_GB14); } -static void divide_bondeds_over_threads(t_idef *idef, int nthreads) -{ - int ftype; - int nat1; - int t; - int il_nr_thread; - - idef->nthreads = nthreads; - - if (F_NRE*(nthreads+1) > idef->il_thread_division_nalloc) - { - idef->il_thread_division_nalloc = F_NRE*(nthreads+1); - snew(idef->il_thread_division, idef->il_thread_division_nalloc); - } - - for (ftype = 0; ftype < F_NRE; ftype++) - { - if (ftype_is_bonded_potential(ftype)) - { - nat1 = interaction_function[ftype].nratoms + 1; - - for (t = 0; t <= nthreads; t++) - { - /* Divide the interactions equally over the threads. - * When the different types of bonded interactions - * are distributed roughly equally over the threads, - * this should lead to well localized output into - * the force buffer on each thread. - * If this is not the case, a more advanced scheme - * (not implemented yet) will do better. - */ - il_nr_thread = (((idef->il[ftype].nr/nat1)*t)/nthreads)*nat1; - - /* Ensure that distance restraint pairs with the same label - * end up on the same thread. - * This is slighlty tricky code, since the next for iteration - * may have an initial il_nr_thread lower than the final value - * in the previous iteration, but this will anyhow be increased - * to the approriate value again by this while loop. - */ - while (ftype == F_DISRES && - il_nr_thread > 0 && - il_nr_thread < idef->il[ftype].nr && - idef->iparams[idef->il[ftype].iatoms[il_nr_thread]].disres.label == - idef->iparams[idef->il[ftype].iatoms[il_nr_thread-nat1]].disres.label) - { - il_nr_thread += nat1; - } - - idef->il_thread_division[ftype*(nthreads+1)+t] = il_nr_thread; - } - } - } -} - -static unsigned -calc_bonded_reduction_mask(const t_idef *idef, - int shift, - int t, int nt) -{ - unsigned mask; - int ftype, nb, nat1, nb0, nb1, i, a; - - mask = 0; - - for (ftype = 0; ftype < F_NRE; ftype++) - { - if (ftype_is_bonded_potential(ftype)) - { - nb = idef->il[ftype].nr; - if (nb > 0) - { - nat1 = interaction_function[ftype].nratoms + 1; - - /* Divide this interaction equally over the threads. - * This is not stored: should match division in calc_bonds. - */ - nb0 = idef->il_thread_division[ftype*(nt+1)+t]; - nb1 = idef->il_thread_division[ftype*(nt+1)+t+1]; - - for (i = nb0; i < nb1; i += nat1) - { - for (a = 1; a < nat1; a++) - { - mask |= (1U << (idef->il[ftype].iatoms[i+a]>>shift)); - } - } - } - } - } - - return mask; -} - -void setup_bonded_threading(t_forcerec *fr, t_idef *idef) -{ -#define MAX_BLOCK_BITS 32 - int t; - int ctot, c, b; - - assert(fr->nthreads >= 1); - - /* Divide the bonded interaction over the threads */ - divide_bondeds_over_threads(idef, fr->nthreads); - - if (fr->nthreads == 1) - { - fr->red_nblock = 0; - - return; - } - - /* We divide the force array in a maximum of 32 blocks. - * Minimum force block reduction size is 2^6=64. - */ - fr->red_ashift = 6; - while (fr->natoms_force > (int)(MAX_BLOCK_BITS*(1U<red_ashift))) - { - fr->red_ashift++; - } - if (debug) - { - fprintf(debug, "bonded force buffer block atom shift %d bits\n", - fr->red_ashift); - } - - /* Determine to which blocks each thread's bonded force calculation - * contributes. Store this is a mask for each thread. - */ -#pragma omp parallel for num_threads(fr->nthreads) schedule(static) - for (t = 1; t < fr->nthreads; t++) - { - fr->f_t[t].red_mask = - calc_bonded_reduction_mask(idef, fr->red_ashift, t, fr->nthreads); - } - - /* Determine the maximum number of blocks we need to reduce over */ - fr->red_nblock = 0; - ctot = 0; - for (t = 0; t < fr->nthreads; t++) - { - c = 0; - for (b = 0; b < MAX_BLOCK_BITS; b++) - { - if (fr->f_t[t].red_mask & (1U<red_nblock = max(fr->red_nblock, b+1); - c++; - } - } - if (debug) - { - fprintf(debug, "thread %d flags %x count %d\n", - t, fr->f_t[t].red_mask, c); - } - ctot += c; - } - if (debug) - { - fprintf(debug, "Number of blocks to reduce: %d of size %d\n", - fr->red_nblock, 1<red_ashift); - fprintf(debug, "Reduction density %.2f density/#thread %.2f\n", - ctot*(1<red_ashift)/(double)fr->natoms_force, - ctot*(1<red_ashift)/(double)(fr->natoms_force*fr->nthreads)); - } -} - +/*! \brief Zero thread-local force-output buffers */ static void zero_thread_forces(f_thread_t *f_t, int n, int nblock, int blocksize) { @@ -4458,7 +4336,7 @@ static void zero_thread_forces(f_thread_t *f_t, int n, if (f_t->red_mask && (1U<f[a]); @@ -4487,15 +4365,16 @@ static void zero_thread_forces(f_thread_t *f_t, int n, } } +/*! \brief The max thread number is arbitrary, we used a fixed number + * to avoid memory management. Using more than 16 threads is probably + * never useful performance wise. */ +#define MAX_BONDED_THREADS 256 + +/*! \brief Reduce thread-local force buffers */ static void reduce_thread_force_buffer(int n, rvec *f, int nthreads, f_thread_t *f_t, int nblock, int block_size) { - /* The max thread number is arbitrary, - * we used a fixed number to avoid memory management. - * Using more than 16 threads is probably never useful performance wise. - */ -#define MAX_BONDED_THREADS 256 int b; if (nthreads > MAX_BONDED_THREADS) @@ -4528,7 +4407,7 @@ static void reduce_thread_force_buffer(int n, rvec *f, /* Reduce force buffers for threads that contribute */ a0 = b *block_size; a1 = (b+1)*block_size; - a1 = min(a1, n); + a1 = std::min(a1, n); for (a = a0; a < a1; a++) { for (fb = 0; fb < nfb; fb++) @@ -4540,6 +4419,7 @@ static void reduce_thread_force_buffer(int n, rvec *f, } } +/*! \brief Reduce thread-local forces */ static void reduce_thread_forces(int n, rvec *f, rvec *fshift, real *ener, gmx_grppairener_t *grpp, real *dvdl, int nthreads, f_thread_t *f_t, @@ -4597,9 +4477,11 @@ static void reduce_thread_forces(int n, rvec *f, rvec *fshift, } } -static real calc_one_bond(FILE *fplog, int thread, +/*! \brief Calculate one element of the list of bonded interactions + for this thread */ +static real calc_one_bond(int thread, int ftype, const t_idef *idef, - rvec x[], rvec f[], rvec fshift[], + const rvec x[], rvec f[], rvec fshift[], t_forcerec *fr, const t_pbc *pbc, const t_graph *g, gmx_grppairener_t *grpp, @@ -4607,7 +4489,7 @@ static real calc_one_bond(FILE *fplog, int thread, real *lambda, real *dvdl, const t_mdatoms *md, t_fcdata *fcd, gmx_bool bCalcEnerVir, - int *global_atom_index, gmx_bool bPrintSepPot) + int *global_atom_index) { int nat1, nbonds, efptFTYPE; real v = 0; @@ -4636,7 +4518,7 @@ static real calc_one_bond(FILE *fplog, int thread, { v = cmap_dihs(nbn, iatoms+nb0, idef->iparams, &idef->cmap_grid, - (const rvec*)x, f, fshift, + x, f, fshift, pbc, g, lambda[efptFTYPE], &(dvdl[efptFTYPE]), md, fcd, global_atom_index); } @@ -4647,7 +4529,7 @@ static real calc_one_bond(FILE *fplog, int thread, /* No energies, shift forces, dvdl */ angles_noener_simd(nbn, idef->il[ftype].iatoms+nb0, idef->iparams, - (const rvec*)x, f, + x, f, pbc, g, lambda[efptFTYPE], md, fcd, global_atom_index); v = 0; @@ -4664,7 +4546,7 @@ static real calc_one_bond(FILE *fplog, int thread, #endif (nbn, idef->il[ftype].iatoms+nb0, idef->iparams, - (const rvec*)x, f, + x, f, pbc, g, lambda[efptFTYPE], md, fcd, global_atom_index); v = 0; @@ -4686,31 +4568,15 @@ static real calc_one_bond(FILE *fplog, int thread, { v = interaction_function[ftype].ifunc(nbn, iatoms+nb0, idef->iparams, - (const rvec*)x, f, fshift, + x, f, fshift, pbc, g, lambda[efptFTYPE], &(dvdl[efptFTYPE]), md, fcd, global_atom_index); } - if (bPrintSepPot) - { - fprintf(fplog, " %-23s #%4d V %12.5e dVdl %12.5e\n", - interaction_function[ftype].longname, - nbonds, v, lambda[efptFTYPE]); - } } else { - v = do_nonbonded_listed(ftype, nbn, iatoms+nb0, idef->iparams, (const rvec*)x, f, fshift, + v = do_nonbonded_listed(ftype, nbn, iatoms+nb0, idef->iparams, x, f, fshift, pbc, g, lambda, dvdl, md, fr, grpp, global_atom_index); - - if (bPrintSepPot) - { - fprintf(fplog, " %-5s + %-15s #%4d dVdl %12.5e\n", - interaction_function[ftype].longname, - interaction_function[F_LJ14].longname, nbonds, dvdl[efptVDW]); - fprintf(fplog, " %-5s + %-15s #%4d dVdl %12.5e\n", - interaction_function[ftype].longname, - interaction_function[F_COUL14].longname, nbonds, dvdl[efptCOUL]); - } } if (thread == 0) @@ -4721,25 +4587,22 @@ static real calc_one_bond(FILE *fplog, int thread, return v; } -void calc_bonds(FILE *fplog, const gmx_multisim_t *ms, +void calc_bonds(const gmx_multisim_t *ms, const t_idef *idef, - rvec x[], history_t *hist, + const 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 *global_atom_index, - t_atomtypes gmx_unused *atype, gmx_genborn_t gmx_unused *born, - int force_flags, - gmx_bool bPrintSepPot, gmx_int64_t step) + int force_flags) { gmx_bool bCalcEnerVir; int i; - real v, dvdl[efptNR], dvdl_dum[efptNR]; /* The dummy array is to have a place to store the dhdl at other values + real dvdl[efptNR]; /* The dummy array is to have a place to store the dhdl at other values of lambda, which will be thrown away in the end*/ const t_pbc *pbc_null; - char buf[22]; int thread; assert(fr->nthreads == idef->nthreads); @@ -4758,11 +4621,6 @@ void calc_bonds(FILE *fplog, const gmx_multisim_t *ms, { pbc_null = NULL; } - if (bPrintSepPot) - { - fprintf(fplog, "Step %s: bonded V and dVdl for this rank\n", - gmx_step_str(step, buf)); - } #ifdef DEBUG if (g && debug) @@ -4777,14 +4635,14 @@ void calc_bonds(FILE *fplog, const gmx_multisim_t *ms, enerd->term[F_ORIRESDEV] = calc_orires_dev(ms, idef->il[F_ORIRES].nr, idef->il[F_ORIRES].iatoms, - idef->iparams, md, (const rvec*)x, + idef->iparams, md, x, pbc_null, fcd, hist); } if (idef->il[F_DISRES].nr) { calc_disres_R_6(idef->il[F_DISRES].nr, idef->il[F_DISRES].iatoms, - idef->iparams, (const rvec*)x, pbc_null, + idef->iparams, x, pbc_null, fcd, hist); #ifdef GMX_MPI if (fcd->disres.nsystems > 1) @@ -4828,11 +4686,11 @@ void calc_bonds(FILE *fplog, const gmx_multisim_t *ms, { if (idef->il[ftype].nr > 0 && ftype_is_bonded_potential(ftype)) { - v = calc_one_bond(fplog, thread, ftype, idef, x, + v = calc_one_bond(thread, ftype, idef, x, ft, fshift, fr, pbc_null, g, grpp, nrnb, lambda, dvdlt, md, fcd, bCalcEnerVir, - global_atom_index, bPrintSepPot); + global_atom_index); epot[ftype] += v; } } @@ -4862,18 +4720,17 @@ void calc_bonds(FILE *fplog, const gmx_multisim_t *ms, } } -void calc_bonds_lambda(FILE *fplog, - const t_idef *idef, - rvec x[], +void calc_bonds_lambda(const t_idef *idef, + const 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, t_fcdata *fcd, int *global_atom_index) { - int i, ftype, nr_nonperturbed, nr; + int ftype, nr_nonperturbed, nr; real v; real dvdl_dum[efptNR]; rvec *f, *fshift; @@ -4914,11 +4771,11 @@ void calc_bonds_lambda(FILE *fplog, if (nr - nr_nonperturbed > 0) { - v = calc_one_bond(fplog, 0, ftype, &idef_fe, + v = calc_one_bond(0, ftype, &idef_fe, x, f, fshift, fr, pbc_null, g, grpp, nrnb, lambda, dvdl_dum, md, fcd, TRUE, - global_atom_index, FALSE); + global_atom_index); epot[ftype] += v; } } diff --git a/src/gromacs/legacyheaders/bondf.h b/src/gromacs/listed-forces/bonded.h similarity index 61% rename from src/gromacs/legacyheaders/bondf.h rename to src/gromacs/listed-forces/bonded.h index 793aefe597..b3acfd3513 100644 --- a/src/gromacs/legacyheaders/bondf.h +++ b/src/gromacs/listed-forces/bonded.h @@ -34,116 +34,121 @@ * To help us fund GROMACS development, we humbly ask that you cite * the research papers on the package. Check out http://www.gromacs.org. */ +/*! \defgroup module_listed-forces Interactions between lists of particles + * \ingroup group_mdrun + * + * \brief Computes energies and forces for interactions between a + * small number of particles, e.g bonds. + * + * More functionality will move into this module shortly. + * + * \author Mark Abraham + * + */ -#ifndef _bondf_h -#define _bondf_h +/*! \file + * + * \brief + * This file contains function declarations necessary for mdrun and tools + * to compute energies and forces for bonded interactions. + * + * \author Mark Abraham + * \inpublicapi + * \ingroup module_listed-forces + */ +#ifndef GMX_LISTED_FORCES_BONDED_H +#define GMX_LISTED_FORCES_BONDED_H #include -#include "typedefs.h" -#include "nrnb.h" -#include "pbc.h" -#include "genborn.h" + +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { #endif -int glatnr(int *global_atom_index, int i); -/* Returns the global topology atom number belonging to local atom index i. +struct t_graph; +struct t_pbc; + +/*! \brief Returns the global topology atom number belonging to local atom index i. * This function is intended for writing ascii output * and returns atom numbers starting at 1. * When global_atom_index=NULL returns i+1. */ +int glatnr(int *global_atom_index, int i); -void calc_bonds(FILE *fplog, const gmx_multisim_t *ms, +/*! \brief Return whether this is an interaction that actually + * calculates a potential and works on multiple atoms (not e.g. a + * connection or a position restraint). + * + * \todo This function could go away when idef is not a big bucket of + * everything. */ +gmx_bool +ftype_is_bonded_potential(int ftype); + +/*! \brief Calculates all bonded force interactions. */ +void calc_bonds(const gmx_multisim_t *ms, const t_idef *idef, - rvec x[], history_t *hist, + const 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, - t_atomtypes *atype, gmx_genborn_t *born, - int force_flags, - gmx_bool bPrintSepPot, gmx_int64_t step); -/* - * The function calc_bonds() calculates all bonded force interactions. - * The "bonds" are specified as follows: - * int nbonds - * the total number of bonded interactions. - * t_iatom *forceatoms - * specifies which atoms are involved in a bond of a certain - * type, see also struct t_idef. - * t_functype *functype - * defines for every bonded force type what type of function to - * use, see also struct t_idef. - * t_iparams *forceparams - * defines the parameters for every bond type, see also struct - * t_idef. - * real epot[NR_F] - * total potential energy split up over the function types. - * int *ddgatindex - * global atom number indices, should be NULL when not using DD. - * gmx_bool bPrintSepPot - * if TRUE print local potential and dVdlambda for each bonded type. - * int step - * used with bPrintSepPot - * return value: - * the total potential energy (sum over epot). - */ + int force_flags); -void calc_bonds_lambda(FILE *fplog, - const t_idef *idef, - rvec x[], +/*! \brief As calc_bonds, but only determines the potential energy + * for the perturbed interactions. + * The shift forces in fr are not affected. */ +void calc_bonds_lambda(const t_idef *idef, + const 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, t_fcdata *fcd, int *global_atom_index); -/* As calc_bonds, but only determines the potential energy - * for the perturbed interactions. - * The shift forces in fr are not affected. - */ +/*! \brief Position restraints require a different pbc treatment from other bondeds */ 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 */ +/*! \brief Flat-bottom posres. Same PBC treatment as in normal position restraints */ 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); -/* Flat-bottom posres. Same PBC treatment as in normal position restraints */ + struct t_pbc *pbc, int refcoord_scaling, int ePBC, rvec com); +/*! \brief Calculate bond-angle. No PBC is taken into account (use mol-shift) */ 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) */ +/*! \brief Calculate dihedral-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); -/* Calculate dihedral-angle. No PBC is taken into account (use mol-shift) */ +/*! \brief Do an update of the forces for dihedral potentials */ 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 */ +/*! \brief Make a dihedral fall in the range (-pi,pi) */ void make_dp_periodic(real *dp); -/* make a dihedral fall in the range (-pi,pi) */ +//! \cond /************************************************************************* * * Bonded force functions @@ -156,17 +161,10 @@ t_ifunc pdihs, idihs, rbdihs; t_ifunc restrdihs, cbtdihs; t_ifunc tab_bonds, tab_angles, tab_dihs; t_ifunc polarize, anharm_polarize, water_pol, thole_pol, angres, angresz, dihres, unimplemented; - - -/* Divided the bonded interactions over the threads, count=fr->nthreads - * and set up the bonded thread-force buffer reduction. - * This should be called each time the bonded setup changes; - * i.e. at start-up without domain decomposition and at DD. - */ -void setup_bonded_threading(t_forcerec *fr, t_idef *idef); +//! \endcond #ifdef __cplusplus } #endif -#endif /* _bondf_h */ +#endif diff --git a/src/gromacs/gmxlib/restcbt.c b/src/gromacs/listed-forces/restcbt.cpp similarity index 97% rename from src/gromacs/gmxlib/restcbt.c rename to src/gromacs/listed-forces/restcbt.cpp index 272c9fde1b..795c8308a7 100644 --- a/src/gromacs/gmxlib/restcbt.c +++ b/src/gromacs/listed-forces/restcbt.cpp @@ -32,25 +32,27 @@ * 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 + * This file contains function definitions necessary + * for computations of forces due to restricted angle, restricted dihedral and + * combined bending-torsion potentials. + * + * \author Nicolae Goga + * + * \ingroup module_listed-forces + */ +#include "gmxpre.h" + +#include "restcbt.h" #include -#include -#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" */ @@ -103,7 +105,7 @@ void compute_factors_restrdihs(int type, const t_iparams forceparams[], real *prefactor_phi, real *v) { - real phi0, sine_phi0, cosine_phi0; + real phi0, cosine_phi0; real k_torsion; real c_self_ante, c_self_crnt, c_self_post; real c_cros_ante, c_cros_acrs, c_cros_post; @@ -111,12 +113,11 @@ void compute_factors_restrdihs(int type, const t_iparams forceparams[], real sine_phi_sq, cosine_phi; real delta_cosine, term_phi_phi0; real ratio_phi_ante, ratio_phi_post; - real cos_phi, norm_phi; + real norm_phi; /* Read parameters phi0 and k_torsion */ phi0 = forceparams[type].pdihs.phiA * DEG2RAD; cosine_phi0 = cos(phi0); - sine_phi0 = sin(phi0); k_torsion = forceparams[type].pdihs.cpA; /* Computation of the cosine of the dihedral angle. The scalar ("dot") product method diff --git a/src/gromacs/gmxlib/restcbt.h b/src/gromacs/listed-forces/restcbt.h similarity index 97% rename from src/gromacs/gmxlib/restcbt.h rename to src/gromacs/listed-forces/restcbt.h index 62adbda8e4..0cb46da0f9 100644 --- a/src/gromacs/gmxlib/restcbt.h +++ b/src/gromacs/listed-forces/restcbt.h @@ -33,29 +33,25 @@ * the research papers on the package. Check out http://www.gromacs.org. */ - -/*! \libinternal \file +/*! \internal \file * * * \brief * This file contains function declarations necessary for computations of forces due to restricted angle, restricted dihedral and combined bending-torsion potentials. - * * \author Nicolae Goga * - * \inlibraryapi + * \ingroup module_listed-forces */ -#ifndef _restcbt_h -#define _restcbt_h - - -#ifdef __cplusplus -extern "C" { -#endif +#ifndef GMX_LISTED_FORCES_RESTCBT_H +#define GMX_LISTED_FORCES_RESTCBT_H +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/idef.h" /*! \brief This function computes factors needed for restricted angle potentials. * @@ -175,9 +171,4 @@ void compute_factors_cbtdihs(int type, const t_iparams forceparams[], rvec f_theta_post_aj, rvec f_theta_post_ak, rvec f_theta_post_al, real * v); - -#ifdef __cplusplus -} #endif - -#endif /* _restcbt_h */ diff --git a/src/gromacs/math/3dtransforms.cpp b/src/gromacs/math/3dtransforms.cpp new file mode 100644 index 0000000000..41e80d614f --- /dev/null +++ b/src/gromacs/math/3dtransforms.cpp @@ -0,0 +1,176 @@ +/* + * 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 "gmxpre.h" + +#include "3dtransforms.h" + +#include +#include + +#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"); + } +} diff --git a/src/gromacs/legacyheaders/types/pbc.h b/src/gromacs/math/3dtransforms.h similarity index 60% rename from src/gromacs/legacyheaders/types/pbc.h rename to src/gromacs/math/3dtransforms.h index 29419e7523..40516c60c6 100644 --- a/src/gromacs/legacyheaders/types/pbc.h +++ b/src/gromacs/math/3dtransforms.h @@ -3,7 +3,7 @@ * * 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. @@ -34,38 +34,55 @@ * 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 -#include "simple.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/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. +/** 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 } diff --git a/src/gromacs/math/CMakeLists.txt b/src/gromacs/math/CMakeLists.txt index dfaba94083..5e94351eb2 100644 --- a/src/gromacs/math/CMakeLists.txt +++ b/src/gromacs/math/CMakeLists.txt @@ -36,10 +36,13 @@ file(GLOB MATH_SOURCES *.cpp *.c) 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}) diff --git a/src/gromacs/math/do_fit.c b/src/gromacs/math/do_fit.c index 9701f769ab..95d4b03fb6 100644 --- a/src/gromacs/math/do_fit.c +++ b/src/gromacs/math/do_fit.c @@ -34,16 +34,14 @@ * 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 "do_fit.h" +#include "gmxpre.h" -#include "gromacs/math/utilities.h" -#include "sysstuff.h" -#include "typedefs.h" -#include "vec.h" -#include "txtdump.h" +#include "do_fit.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[], diff --git a/src/gromacs/math/do_fit.h b/src/gromacs/math/do_fit.h index 9cc02c045a..7ccb652f19 100644 --- a/src/gromacs/math/do_fit.h +++ b/src/gromacs/math/do_fit.h @@ -37,7 +37,9 @@ #ifndef GMX_MATH_DO_FIT_H #define GMX_MATH_DO_FIT_H -#include "../legacyheaders/types/simple.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/math/gmxcomplex.h b/src/gromacs/math/gmxcomplex.h index d7d26003f3..8fa0c8ad6a 100644 --- a/src/gromacs/math/gmxcomplex.h +++ b/src/gromacs/math/gmxcomplex.h @@ -38,7 +38,9 @@ #define GMX_MATH_GMXCOMPLEX_H #include -#include "../legacyheaders/types/simple.h" + +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/real.h" typedef struct { real re, im; diff --git a/src/gromacs/math/invsqrt.c b/src/gromacs/math/invsqrt.c new file mode 100644 index 0000000000..782f6568e9 --- /dev/null +++ b/src/gromacs/math/invsqrt.c @@ -0,0 +1,624 @@ +/* + * 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 "gmxpre.h" + +#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 +}; diff --git a/src/gromacs/gmxlib/physics.c b/src/gromacs/math/units.c similarity index 94% rename from src/gromacs/gmxlib/physics.c rename to src/gromacs/math/units.c index 529eee86d9..8c631d8b1f 100644 --- a/src/gromacs/gmxlib/physics.c +++ b/src/gromacs/math/units.c @@ -1,9 +1,7 @@ /* * 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. @@ -34,9 +32,13 @@ * 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 "gmxpre.h" + +#include "units.h" + #include + #include "gromacs/utility/cstringutil.h" -#include "physics.h" double convert2gmx(double x, int unit) { diff --git a/src/gromacs/legacyheaders/physics.h b/src/gromacs/math/units.h similarity index 98% rename from src/gromacs/legacyheaders/physics.h rename to src/gromacs/math/units.h index 6134f954b5..6afd10f2a9 100644 --- a/src/gromacs/legacyheaders/physics.h +++ b/src/gromacs/math/units.h @@ -34,9 +34,8 @@ * 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. @@ -44,7 +43,7 @@ * be anywhere else in the code. */ -#include "../math/utilities.h" +#include "gromacs/math/utilities.h" #ifdef __cplusplus extern "C" { @@ -156,5 +155,4 @@ extern const char *unit2string(int unit); } #endif - -#endif /* _physics_h */ +#endif diff --git a/src/gromacs/math/utilities.c b/src/gromacs/math/utilities.c index ca46dbff25..03b7134427 100644 --- a/src/gromacs/math/utilities.c +++ b/src/gromacs/math/utilities.c @@ -34,18 +34,19 @@ * 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/utilities.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "utilities.h" -#include +#include "config.h" + +#include #include +#include + #ifdef HAVE__FINITE #include #endif -#include int gmx_nint(real a) { @@ -60,11 +61,11 @@ real cuberoot(real x) { 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)); } } @@ -725,9 +726,7 @@ float gmx_erfcf(float x) gmx_bool gmx_isfinite(real gmx_unused x) { - gmx_bool returnval = TRUE; - /* If no suitable function was found, assume the value is - * finite. */ + gmx_bool returnval; #ifdef HAVE__FINITE returnval = _finite(x); @@ -735,13 +734,16 @@ gmx_bool gmx_isfinite(real gmx_unused x) returnval = isfinite(x); #elif defined HAVE__ISFINITE returnval = _isfinite(x); +#else + /* If no suitable function was found, assume the value is + * finite. */ + returnval = TRUE; #endif return returnval; } gmx_bool gmx_isnan(real x) { - /* cppcheck-suppress duplicateExpression */ return x != x; } diff --git a/src/gromacs/math/utilities.h b/src/gromacs/math/utilities.h index c6db48d9a3..2932220068 100644 --- a/src/gromacs/math/utilities.h +++ b/src/gromacs/math/utilities.h @@ -40,7 +40,8 @@ #include #include -#include "../legacyheaders/types/simple.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { @@ -144,9 +145,9 @@ gmx_numzero(double a); 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, diff --git a/src/gromacs/legacyheaders/vec.h b/src/gromacs/math/vec.h similarity index 91% rename from src/gromacs/legacyheaders/vec.h rename to src/gromacs/math/vec.h index a14dc49dc9..d5ee22cbe1 100644 --- a/src/gromacs/legacyheaders/vec.h +++ b/src/gromacs/math/vec.h @@ -34,8 +34,8 @@ * 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: @@ -110,16 +110,17 @@ HAVE_*SQRT*. This is no problem with public headers because it is OK if user code uses a different rsqrt implementation */ #ifdef HAVE_CONFIG_H -#include +#include "config.h" #endif -#include "types/simple.h" -#include "../math/utilities.h" -#include "typedefs.h" -#include "sysstuff.h" -#include "gmx_fatal.h" #include -#include "physics.h" + +#include "gromacs/math/units.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/real.h" #ifdef __cplusplus extern "C" { @@ -137,8 +138,8 @@ 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 { @@ -329,7 +330,7 @@ static gmx_inline void copy_rvec(const rvec a, rvec b) b[ZZ] = a[ZZ]; } -static gmx_inline void copy_rvecn(rvec *a, rvec *b, int startn, int endn) +static gmx_inline void copy_rvecn(gmx_cxx_const rvec *a, rvec *b, int startn, int endn) { int i; for (i = startn; i < endn; i++) @@ -367,7 +368,7 @@ static gmx_inline void ivec_sub(const ivec a, const ivec b, ivec c) c[ZZ] = z; } -static gmx_inline void copy_mat(matrix a, matrix b) +static gmx_inline void copy_mat(gmx_cxx_const matrix a, matrix b) { copy_rvec(a[XX], b[XX]); copy_rvec(a[YY], b[YY]); @@ -617,7 +618,7 @@ gmx_angle(const rvec a, const rvec b) return atan2(wlen, s); } -static gmx_inline void mmul_ur0(matrix a, matrix b, matrix dest) +static gmx_inline void mmul_ur0(gmx_cxx_const matrix a, gmx_cxx_const matrix b, matrix dest) { dest[XX][XX] = a[XX][XX]*b[XX][XX]; dest[XX][YY] = 0.0; @@ -630,7 +631,7 @@ static gmx_inline void mmul_ur0(matrix a, matrix b, matrix dest) dest[ZZ][ZZ] = a[ZZ][ZZ]*b[ZZ][ZZ]; } -static gmx_inline void mmul(matrix a, matrix b, matrix dest) +static gmx_inline void mmul(gmx_cxx_const matrix a, gmx_cxx_const matrix b, matrix dest) { dest[XX][XX] = a[XX][XX]*b[XX][XX]+a[XX][YY]*b[YY][XX]+a[XX][ZZ]*b[ZZ][XX]; dest[YY][XX] = a[YY][XX]*b[XX][XX]+a[YY][YY]*b[YY][XX]+a[YY][ZZ]*b[ZZ][XX]; @@ -643,7 +644,7 @@ static gmx_inline void mmul(matrix a, matrix b, matrix dest) dest[ZZ][ZZ] = a[ZZ][XX]*b[XX][ZZ]+a[ZZ][YY]*b[YY][ZZ]+a[ZZ][ZZ]*b[ZZ][ZZ]; } -static gmx_inline void transpose(matrix src, matrix dest) +static gmx_inline void transpose(gmx_cxx_const matrix src, matrix dest) { dest[XX][XX] = src[XX][XX]; dest[YY][XX] = src[XX][YY]; @@ -656,7 +657,7 @@ static gmx_inline void transpose(matrix src, matrix dest) dest[ZZ][ZZ] = src[ZZ][ZZ]; } -static gmx_inline void tmmul(matrix a, matrix b, matrix dest) +static gmx_inline void tmmul(gmx_cxx_const matrix a, gmx_cxx_const matrix b, matrix dest) { /* Computes dest=mmul(transpose(a),b,dest) - used in do_pr_pcoupl */ dest[XX][XX] = a[XX][XX]*b[XX][XX]+a[YY][XX]*b[YY][XX]+a[ZZ][XX]*b[ZZ][XX]; @@ -670,7 +671,7 @@ static gmx_inline void tmmul(matrix a, matrix b, matrix dest) dest[ZZ][ZZ] = a[XX][ZZ]*b[XX][ZZ]+a[YY][ZZ]*b[YY][ZZ]+a[ZZ][ZZ]*b[ZZ][ZZ]; } -static gmx_inline void mtmul(matrix a, matrix b, matrix dest) +static gmx_inline void mtmul(gmx_cxx_const matrix a, gmx_cxx_const matrix b, matrix dest) { /* Computes dest=mmul(a,transpose(b),dest) - used in do_pr_pcoupl */ dest[XX][XX] = a[XX][XX]*b[XX][XX]+a[XX][YY]*b[XX][YY]+a[XX][ZZ]*b[XX][ZZ]; @@ -684,7 +685,7 @@ static gmx_inline void mtmul(matrix a, matrix b, matrix dest) dest[ZZ][ZZ] = a[ZZ][XX]*b[ZZ][XX]+a[ZZ][YY]*b[ZZ][YY]+a[ZZ][ZZ]*b[ZZ][ZZ]; } -static gmx_inline real det(matrix a) +static gmx_inline real det(gmx_cxx_const matrix a) { return ( a[XX][XX]*(a[YY][YY]*a[ZZ][ZZ]-a[ZZ][YY]*a[YY][ZZ]) -a[YY][XX]*(a[XX][YY]*a[ZZ][ZZ]-a[ZZ][YY]*a[XX][ZZ]) @@ -692,7 +693,7 @@ static gmx_inline real det(matrix a) } -static gmx_inline void m_add(matrix a, matrix b, matrix dest) +static gmx_inline void m_add(gmx_cxx_const matrix a, gmx_cxx_const matrix b, matrix dest) { dest[XX][XX] = a[XX][XX]+b[XX][XX]; dest[XX][YY] = a[XX][YY]+b[XX][YY]; @@ -705,7 +706,7 @@ static gmx_inline void m_add(matrix a, matrix b, matrix dest) dest[ZZ][ZZ] = a[ZZ][ZZ]+b[ZZ][ZZ]; } -static gmx_inline void m_sub(matrix a, matrix b, matrix dest) +static gmx_inline void m_sub(gmx_cxx_const matrix a, gmx_cxx_const matrix b, matrix dest) { dest[XX][XX] = a[XX][XX]-b[XX][XX]; dest[XX][YY] = a[XX][YY]-b[XX][YY]; @@ -718,7 +719,7 @@ static gmx_inline void m_sub(matrix a, matrix b, matrix dest) dest[ZZ][ZZ] = a[ZZ][ZZ]-b[ZZ][ZZ]; } -static gmx_inline void msmul(matrix m1, real r1, matrix dest) +static gmx_inline void msmul(gmx_cxx_const matrix m1, real r1, matrix dest) { dest[XX][XX] = r1*m1[XX][XX]; dest[XX][YY] = r1*m1[XX][YY]; @@ -731,7 +732,7 @@ static gmx_inline void msmul(matrix m1, real r1, matrix dest) dest[ZZ][ZZ] = r1*m1[ZZ][ZZ]; } -static gmx_inline void m_inv_ur0(matrix src, matrix dest) +static gmx_inline void m_inv_ur0(gmx_cxx_const matrix src, matrix dest) { double tmp = src[XX][XX]*src[YY][YY]*src[ZZ][ZZ]; if (fabs(tmp) <= 100*GMX_REAL_MIN) @@ -751,7 +752,7 @@ static gmx_inline void m_inv_ur0(matrix src, matrix dest) dest[YY][ZZ] = 0.0; } -static gmx_inline void m_inv(matrix src, matrix dest) +static gmx_inline void m_inv(gmx_cxx_const matrix src, matrix dest) { const real smallreal = (real)1.0e-24; const real largereal = (real)1.0e24; @@ -777,7 +778,7 @@ static gmx_inline void m_inv(matrix src, matrix dest) dest[ZZ][ZZ] = c*(src[XX][XX]*src[YY][YY]-src[YY][XX]*src[XX][YY]); } -static gmx_inline void mvmul(matrix a, const rvec src, rvec dest) +static gmx_inline void mvmul(gmx_cxx_const matrix a, const rvec src, rvec dest) { dest[XX] = a[XX][XX]*src[XX]+a[XX][YY]*src[YY]+a[XX][ZZ]*src[ZZ]; dest[YY] = a[YY][XX]*src[XX]+a[YY][YY]*src[YY]+a[YY][ZZ]*src[ZZ]; @@ -785,14 +786,14 @@ static gmx_inline void mvmul(matrix a, const rvec src, rvec dest) } -static gmx_inline void mvmul_ur0(matrix a, const rvec src, rvec dest) +static gmx_inline void mvmul_ur0(gmx_cxx_const matrix a, const rvec src, rvec dest) { dest[ZZ] = a[ZZ][XX]*src[XX]+a[ZZ][YY]*src[YY]+a[ZZ][ZZ]*src[ZZ]; dest[YY] = a[YY][XX]*src[XX]+a[YY][YY]*src[YY]; dest[XX] = a[XX][XX]*src[XX]; } -static gmx_inline void tmvmul_ur0(matrix a, const rvec src, rvec dest) +static gmx_inline void tmvmul_ur0(gmx_cxx_const matrix a, const rvec src, rvec dest) { dest[XX] = a[XX][XX]*src[XX]+a[YY][XX]*src[YY]+a[ZZ][XX]*src[ZZ]; dest[YY] = a[YY][YY]*src[YY]+a[ZZ][YY]*src[ZZ]; @@ -819,14 +820,14 @@ static gmx_inline void unitv_no_table(const rvec src, rvec dest) dest[ZZ] = linv*src[ZZ]; } -static void calc_lll(rvec box, rvec lll) +static void calc_lll(const rvec box, rvec lll) { lll[XX] = 2.0*M_PI/box[XX]; lll[YY] = 2.0*M_PI/box[YY]; lll[ZZ] = 2.0*M_PI/box[ZZ]; } -static gmx_inline real trace(matrix m) +static gmx_inline real trace(gmx_cxx_const matrix m) { return (m[XX][XX]+m[YY][YY]+m[ZZ][ZZ]); } @@ -850,7 +851,7 @@ static gmx_inline int _mod(int a, int b, char *file, int line) } /* Operations on multidimensional rvecs, used e.g. in edsam.c */ -static gmx_inline void m_rveccopy(int dim, rvec *a, rvec *b) +static gmx_inline void m_rveccopy(int dim, gmx_cxx_const rvec *a, rvec *b) { /* b = a */ int i; @@ -862,7 +863,7 @@ static gmx_inline void m_rveccopy(int dim, rvec *a, rvec *b) } /*computer matrix vectors from base vectors and angles */ -static gmx_inline void matrix_convert(matrix box, rvec vec, rvec angle) +static gmx_inline void matrix_convert(matrix box, const rvec vec, rvec angle) { svmul(DEG2RAD, angle, angle); box[XX][XX] = vec[XX]; @@ -880,28 +881,6 @@ static gmx_inline void matrix_convert(matrix box, rvec vec, rvec angle) #ifdef __cplusplus } - -static gmx_inline real det(const matrix a) -{ - return ( a[XX][XX]*(a[YY][YY]*a[ZZ][ZZ]-a[ZZ][YY]*a[YY][ZZ]) - -a[YY][XX]*(a[XX][YY]*a[ZZ][ZZ]-a[ZZ][YY]*a[XX][ZZ]) - +a[ZZ][XX]*(a[XX][YY]*a[YY][ZZ]-a[YY][YY]*a[XX][ZZ])); -} - -static gmx_inline void mvmul(const matrix a, const rvec src, rvec dest) -{ - dest[XX] = a[XX][XX]*src[XX]+a[XX][YY]*src[YY]+a[XX][ZZ]*src[ZZ]; - dest[YY] = a[YY][XX]*src[XX]+a[YY][YY]*src[YY]+a[YY][ZZ]*src[ZZ]; - dest[ZZ] = a[ZZ][XX]*src[XX]+a[ZZ][YY]*src[YY]+a[ZZ][ZZ]*src[ZZ]; -} - -static gmx_inline void tmvmul_ur0(const matrix a, const rvec src, rvec dest) -{ - dest[XX] = a[XX][XX]*src[XX]+a[YY][XX]*src[YY]+a[ZZ][XX]*src[ZZ]; - dest[YY] = a[YY][YY]*src[YY]+a[ZZ][YY]*src[ZZ]; - dest[ZZ] = a[ZZ][ZZ]*src[ZZ]; -} - #endif -#endif /* _vec_h */ +#endif diff --git a/src/gromacs/legacyheaders/shift.h b/src/gromacs/math/vectypes.h similarity index 77% rename from src/gromacs/legacyheaders/shift.h rename to src/gromacs/math/vectypes.h index 08488454e8..ebb12dc512 100644 --- a/src/gromacs/legacyheaders/shift.h +++ b/src/gromacs/math/vectypes.h @@ -3,7 +3,7 @@ * * 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. @@ -34,23 +34,26 @@ * 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 "gromacs/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 diff --git a/src/gromacs/mdlib/CMakeLists.txt b/src/gromacs/mdlib/CMakeLists.txt index 703e8ac32d..fb9cfad823 100644 --- a/src/gromacs/mdlib/CMakeLists.txt +++ b/src/gromacs/mdlib/CMakeLists.txt @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2010,2012,2013, by the GROMACS development team, led by +# Copyright (c) 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. @@ -33,9 +33,9 @@ # the research papers on the package. Check out http://www.gromacs.org. file(GLOB MDLIB_SOURCES nbnxn_kernels/simd_4xn/*.c nbnxn_kernels/simd_2xnn/*.c nbnxn_kernels/*.c *.c *.cpp) -set(MDLIB_SOURCES ${MDLIB_SOURCES} PARENT_SCOPE) if(GMX_GPU) add_subdirectory(nbnxn_cuda) - set(GMX_GPU_LIBRARIES ${GMX_GPU_LIBRARIES} nbnxn_cuda PARENT_SCOPE) endif() + +set(MDLIB_SOURCES ${MDLIB_SOURCES} PARENT_SCOPE) diff --git a/src/gromacs/mdlib/adress.c b/src/gromacs/mdlib/adress.c index d2ac44d54c..9e9db29089 100644 --- a/src/gromacs/mdlib/adress.c +++ b/src/gromacs/mdlib/adress.c @@ -34,14 +34,16 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#include "gmxpre.h" + #include "adress.h" -#include "gromacs/math/utilities.h" -#include "pbc.h" -#include "types/simple.h" -#include "typedefs.h" -#include "vec.h" -#include "gmx_fatal.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/utility/fatalerror.h" real adress_weight(rvec x, diff --git a/src/gromacs/mdlib/adress.h b/src/gromacs/mdlib/adress.h index ec8e9fb5f0..a25514d8b1 100644 --- a/src/gromacs/mdlib/adress.h +++ b/src/gromacs/mdlib/adress.h @@ -39,8 +39,15 @@ #ifndef _adress_h_ #define _adress_h_ -#include "types/simple.h" -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct t_pbc; /** \brief calculates the AdResS weight of a particle * @@ -68,7 +75,7 @@ adress_weight(rvec x, 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 @@ -90,7 +97,7 @@ update_adress_weights_com(FILE * fplog, 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 * @@ -107,7 +114,7 @@ update_adress_weights_cog(t_iparams ip[], 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 * @@ -126,7 +133,7 @@ update_adress_weights_atom(int cg0, 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 * @@ -145,7 +152,7 @@ update_adress_weights_atom_per_atom(int cg0, rvec x[], t_forcerec * fr, t_mdatoms * mdatoms, - t_pbc * pbc); + struct t_pbc * pbc); /** \brief add AdResS IC thermodynamic force to f_novirsum * @@ -166,7 +173,7 @@ adress_thermo_force(int cg0, 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 @@ -191,4 +198,9 @@ gmx_bool egp_explicit(t_forcerec * fr, int egp_nr); * \return boolean if coarse-grained or not */ gmx_bool egp_coarsegrained(t_forcerec * fr, int egp_nr); + +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/gromacs/mdlib/calcmu.c b/src/gromacs/mdlib/calcmu.c index 3a2dc0b1a2..7f2d383ca1 100644 --- a/src/gromacs/mdlib/calcmu.c +++ b/src/gromacs/mdlib/calcmu.c @@ -35,20 +35,18 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/calcmu.h" #include #include -#include "typedefs.h" -#include "network.h" -#include "vec.h" -#include "physics.h" -#include "main.h" -#include "calcmu.h" -#include "gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" void calc_mu(int start, int homenr, rvec x[], real q[], real qB[], int nChargePerturbed, diff --git a/src/gromacs/mdlib/calcvir.c b/src/gromacs/mdlib/calcvir.c index 395b9c38f5..0f6ab60aa0 100644 --- a/src/gromacs/mdlib/calcvir.c +++ b/src/gromacs/mdlib/calcvir.c @@ -3,7 +3,7 @@ * * 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. @@ -35,15 +35,24 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/mshift.h" +#include "gromacs/pbcutil/pbc.h" -#include "sysstuff.h" -#include "force.h" -#include "vec.h" -#include "mshift.h" -#include "macros.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) { diff --git a/src/gromacs/mdlib/clincs.c b/src/gromacs/mdlib/clincs.c index d215cbdac6..3423b0811a 100644 --- a/src/gromacs/mdlib/clincs.c +++ b/src/gromacs/mdlib/clincs.c @@ -35,27 +35,27 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "main.h" -#include "constr.h" -#include "copyrite.h" -#include "physics.h" -#include "vec.h" -#include "pbc.h" -#include "gromacs/utility/smalloc.h" -#include "mdrun.h" -#include "nrnb.h" -#include "domdec.h" -#include "mtop_util.h" -#include "gmx_omp_nthreads.h" +#include #include "gromacs/fileio/gmxfio.h" -#include "gmx_fatal.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/mtop_util.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 */ @@ -647,6 +647,7 @@ static void do_lincs(rvec *x, rvec *xp, matrix box, t_pbc *pbc, dlen2 = 2*len2 - norm2(dx); if (dlen2 < wfac*len2 && (nlocat == NULL || nlocat[b])) { + /* not race free - see detailed comment in caller */ *warn = b; } if (dlen2 > 0) diff --git a/src/gromacs/mdlib/constr.c b/src/gromacs/mdlib/constr.c index b6878e6bd1..fb075d4648 100644 --- a/src/gromacs/mdlib/constr.c +++ b/src/gromacs/mdlib/constr.c @@ -34,36 +34,35 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/constr.h" #include +#include +#include "gromacs/essentialdynamics/edsam.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 "names.h" -#include "txtdump.h" -#include "domdec.h" -#include "gromacs/fileio/pdbio.h" -#include "splitter.h" -#include "mtop_util.h" #include "gromacs/fileio/gmxfio.h" -#include "macros.h" -#include "gmx_omp_nthreads.h" -#include "gromacs/essentialdynamics/edsam.h" +#include "gromacs/fileio/pdbio.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/splitter.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/pulling/pull.h" - -#include "gmx_fatal.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/invblock.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" typedef struct gmx_constr { int ncon_tot; /* The total number of constraints */ @@ -830,7 +829,7 @@ static void make_shake_sblock_serial(struct gmx_constr *constr, 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++) { diff --git a/src/gromacs/mdlib/coupling.c b/src/gromacs/mdlib/coupling.c index 0898371728..41806dc44b 100644 --- a/src/gromacs/mdlib/coupling.c +++ b/src/gromacs/mdlib/coupling.c @@ -34,25 +34,23 @@ * 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 -#endif +#include "gmxpre.h" + #include -#include "typedefs.h" -#include "types/commrec.h" -#include "gromacs/utility/smalloc.h" -#include "update.h" -#include "vec.h" -#include "macros.h" -#include "physics.h" -#include "names.h" -#include "gmx_fatal.h" -#include "txtdump.h" -#include "nrnb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/random/random.h" -#include "update.h" -#include "mdrun.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" #define NTROTTERPARTS 3 diff --git a/src/gromacs/mdlib/csettle.c b/src/gromacs/mdlib/csettle.c index 281f3973c2..bfd68b0aff 100644 --- a/src/gromacs/mdlib/csettle.c +++ b/src/gromacs/mdlib/csettle.c @@ -34,17 +34,17 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "vec.h" -#include "constr.h" -#include "gmx_fatal.h" + +#include "gromacs/legacyheaders/constr.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 { diff --git a/src/gromacs/mdlib/domdec.c b/src/gromacs/mdlib/domdec.cpp similarity index 96% rename from src/gromacs/mdlib/domdec.c rename to src/gromacs/mdlib/domdec.cpp index 6cc6b73895..06f2602916 100644 --- a/src/gromacs/mdlib/domdec.c +++ b/src/gromacs/mdlib/domdec.cpp @@ -33,53 +33,59 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" -#include -#include +#include "gromacs/legacyheaders/domdec.h" + +#include "config.h" + +#include #include -#include +#include #include -#include +#include +#include + +#include -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "gmx_fatal_collective.h" -#include "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 "names.h" -#include "force.h" -#include "pme.h" -#include "mdrun.h" -#include "nsgrid.h" -#include "shellfc.h" -#include "mtop_util.h" -#include "gmx_ga2la.h" -#include "macros.h" -#include "nbnxn_search.h" -#include "bondf.h" -#include "gmx_omp_nthreads.h" -#include "gpu_utils.h" - -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/gmxfio.h" #include "gromacs/fileio/pdbio.h" +#include "gromacs/imd/imd.h" +#include "gromacs/legacyheaders/bonded-threading.h" +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/domdec_network.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/gpu_utils.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/nsgrid.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/shellfc.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/listed-forces/bonded.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_search.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/topology/mtop_util.h" +#include "gromacs/utility/basenetwork.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.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) @@ -768,7 +774,7 @@ void dd_move_f(gmx_domdec_t *dd, rvec f[], rvec *fshift) rvec *buf, *sbuf; ivec vis; int is; - gmx_bool bPBC, bScrew; + gmx_bool bShiftForcesNeedPbc, bScrew; comm = dd->comm; @@ -776,16 +782,17 @@ void dd_move_f(gmx_domdec_t *dd, rvec f[], rvec *fshift) buf = comm->vbuf.v; - n = 0; nzone = comm->zones.n/2; nat_tot = dd->nat_tot; for (d = dd->ndim-1; d >= 0; d--) { - bPBC = (dd->ci[dd->dim[d]] == 0); - bScrew = (bPBC && dd->bScrewPBC && dd->dim[d] == XX); + /* Only forces in domains near the PBC boundaries need to + consider PBC in the treatment of fshift */ + bShiftForcesNeedPbc = (dd->ci[dd->dim[d]] == 0); + bScrew = (bShiftForcesNeedPbc && dd->bScrewPBC && dd->dim[d] == XX); if (fshift == NULL && !bScrew) { - bPBC = FALSE; + bShiftForcesNeedPbc = FALSE; } /* Determine which shift vector we need */ clear_ivec(vis); @@ -821,7 +828,7 @@ void dd_move_f(gmx_domdec_t *dd, rvec f[], rvec *fshift) index = ind->index; /* Add the received forces */ n = 0; - if (!bPBC) + if (!bShiftForcesNeedPbc) { for (i = 0; i < ind->nsend[nzone]; i++) { @@ -836,6 +843,9 @@ void dd_move_f(gmx_domdec_t *dd, rvec f[], rvec *fshift) } else if (!bScrew) { + /* fshift should always be defined if this function is + * called when bShiftForcesNeedPbc is true */ + assert(NULL != fshift); for (i = 0; i < ind->nsend[nzone]; i++) { at0 = cgindex[index[i]]; @@ -956,7 +966,6 @@ void dd_atom_sum_real(gmx_domdec_t *dd, real v[]) buf = &comm->vbuf.v[0][0]; - n = 0; nzone = comm->zones.n/2; nat_tot = dd->nat_tot; for (d = dd->ndim-1; d >= 0; d--) @@ -1062,7 +1071,7 @@ static void dd_sendrecv_ddzone(const gmx_domdec_t *dd, static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, rvec cell_ns_x0, rvec cell_ns_x1) { - int d, d1, dim, dim1, pos, buf_size, i, j, k, p, npulse, npulse_min; + int d, d1, dim, pos, buf_size, i, j, p, npulse, npulse_min; gmx_ddzone_t *zp; gmx_ddzone_t buf_s[DDZONECOMM_MAXZONE]; gmx_ddzone_t buf_r[DDZONECOMM_MAXZONE]; @@ -1134,7 +1143,7 @@ static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, if (bPBC) { /* Take the minimum to avoid double communication */ - npulse_min = min(npulse, dd->nc[dim]-1-npulse); + npulse_min = std::min(npulse, dd->nc[dim]-1-npulse); } else { @@ -1158,9 +1167,9 @@ static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, { for (d1 = d; d1 < dd->ndim-1; d1++) { - extr_s[d1][0] = max(extr_s[d1][0], extr_r[d1][0]); - extr_s[d1][1] = min(extr_s[d1][1], extr_r[d1][1]); - extr_s[d1][2] = min(extr_s[d1][2], extr_r[d1][2]); + extr_s[d1][0] = std::max(extr_s[d1][0], extr_r[d1][0]); + extr_s[d1][1] = std::min(extr_s[d1][1], extr_r[d1][1]); + extr_s[d1][2] = std::min(extr_s[d1][2], extr_r[d1][2]); } } } @@ -1221,9 +1230,9 @@ static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, { if (bUse) { - buf_e[i].min0 = min(buf_e[i].min0, buf_r[i].min0); - buf_e[i].max1 = max(buf_e[i].max1, buf_r[i].max1); - buf_e[i].min1 = min(buf_e[i].min1, buf_r[i].min1); + buf_e[i].min0 = std::min(buf_e[i].min0, buf_r[i].min0); + buf_e[i].max1 = std::max(buf_e[i].max1, buf_r[i].max1); + buf_e[i].min1 = std::min(buf_e[i].min1, buf_r[i].min1); } if (dd->ndim == 3 && d == 0 && i == buf_size - 1) @@ -1236,8 +1245,8 @@ static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, } if (bUse && dh[d1] >= 0) { - buf_e[i].mch0 = max(buf_e[i].mch0, buf_r[i].mch0-dh[d1]); - buf_e[i].mch1 = max(buf_e[i].mch1, buf_r[i].mch1-dh[d1]); + buf_e[i].mch0 = std::max(buf_e[i].mch0, buf_r[i].mch0-dh[d1]); + buf_e[i].mch1 = std::max(buf_e[i].mch1, buf_r[i].mch1-dh[d1]); } } /* Copy the received buffer to the send buffer, @@ -1253,9 +1262,9 @@ static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, for (d1 = d; d1 < dd->ndim-1; d1++) { - extr_s[d1][1] = min(extr_s[d1][1], buf_e[pos].min0); - extr_s[d1][0] = max(extr_s[d1][0], buf_e[pos].max1); - extr_s[d1][2] = min(extr_s[d1][2], buf_e[pos].min1); + extr_s[d1][1] = std::min(extr_s[d1][1], buf_e[pos].min0); + extr_s[d1][0] = std::max(extr_s[d1][0], buf_e[pos].max1); + extr_s[d1][2] = std::min(extr_s[d1][2], buf_e[pos].min1); pos++; } @@ -1285,8 +1294,8 @@ static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, { print_ddzone(debug, 1, i, 0, &comm->zone_d1[i]); } - cell_ns_x0[dim] = min(cell_ns_x0[dim], comm->zone_d1[i].min0); - cell_ns_x1[dim] = max(cell_ns_x1[dim], comm->zone_d1[i].max1); + cell_ns_x0[dim] = std::min(cell_ns_x0[dim], comm->zone_d1[i].min0); + cell_ns_x1[dim] = std::max(cell_ns_x1[dim], comm->zone_d1[i].max1); } } if (dd->ndim >= 3) @@ -1300,8 +1309,8 @@ static void dd_move_cellx(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, { print_ddzone(debug, 2, i, j, &comm->zone_d2[i][j]); } - cell_ns_x0[dim] = min(cell_ns_x0[dim], comm->zone_d2[i][j].min0); - cell_ns_x1[dim] = max(cell_ns_x1[dim], comm->zone_d2[i][j].max1); + cell_ns_x0[dim] = std::min(cell_ns_x0[dim], comm->zone_d2[i][j].min0); + cell_ns_x1[dim] = std::max(cell_ns_x1[dim], comm->zone_d2[i][j].max1); } } } @@ -1527,10 +1536,6 @@ static void dd_collect_vec_gatherv(gmx_domdec_t *dd, void dd_collect_vec(gmx_domdec_t *dd, t_state *state_local, rvec *lv, rvec *v) { - gmx_domdec_master_t *ma; - int n, i, c, a, nalloc = 0; - rvec *buf = NULL; - dd_collect_cg(dd, state_local); if (dd->nnodes <= GMX_DD_NNODES_SENDRECV) @@ -1752,7 +1757,7 @@ static void dd_distribute_vec_scatterv(gmx_domdec_t *dd, t_block *cgs, { gmx_domdec_master_t *ma; int *scounts = NULL, *disps = NULL; - int n, i, c, a, nalloc = 0; + int n, i, c, a; rvec *buf = NULL; if (DDMASTER(dd)) @@ -1946,7 +1951,7 @@ static void write_dd_grid_pdb(const char *fn, gmx_int64_t step, 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)) { @@ -2089,15 +2094,15 @@ real dd_cutoff_mbody(gmx_domdec_t *dd) r = comm->cellsize_min[dd->dim[0]]; for (di = 1; di < dd->ndim; di++) { - r = min(r, comm->cellsize_min[dd->dim[di]]); + r = std::min(r, comm->cellsize_min[dd->dim[di]]); } if (comm->bBondComm) { - r = max(r, comm->cutoff_mbody); + r = std::max(r, comm->cutoff_mbody); } else { - r = min(r, comm->cutoff); + r = std::min(r, comm->cutoff); } } } @@ -2111,7 +2116,7 @@ real dd_cutoff_twobody(gmx_domdec_t *dd) r_mb = dd_cutoff_mbody(dd); - return max(dd->comm->cutoff, r_mb); + return std::max(dd->comm->cutoff, r_mb); } @@ -2173,7 +2178,7 @@ static int *dd_pmenodes(t_commrec *cr) static int gmx_ddcoord2pmeindex(t_commrec *cr, int x, int y, int z) { gmx_domdec_t *dd; - ivec coords, coords_pme, nc; + ivec coords; int slab; dd = cr->dd; @@ -2242,7 +2247,6 @@ static int dd_simnode2pmenode(t_commrec *cr, int sim_nodeid) { gmx_domdec_t *dd; gmx_domdec_comm_t *comm; - ivec coord, coord_pme; int i; int pmenode = -1; @@ -2253,6 +2257,7 @@ static int dd_simnode2pmenode(t_commrec *cr, int sim_nodeid) if (comm->bCartesianPP_PME) { #ifdef GMX_MPI + ivec coord, coord_pme; MPI_Cart_coords(cr->mpi_comm_mysim, sim_nodeid, DIM, coord); if (coord[comm->cartpmedim] < dd->nc[comm->cartpmedim]) { @@ -2390,7 +2395,7 @@ void get_pme_ddnodes(t_commrec *cr, int pmenodeid, static gmx_bool receive_vir_ener(t_commrec *cr) { gmx_domdec_comm_t *comm; - int pmenode, coords[DIM], rank; + int pmenode; gmx_bool bReceive; bReceive = TRUE; @@ -2401,10 +2406,12 @@ static gmx_bool receive_vir_ener(t_commrec *cr) { pmenode = dd_simnode2pmenode(cr, cr->sim_nodeid); #ifdef GMX_MPI + ivec coords; MPI_Cart_coords(cr->mpi_comm_mysim, cr->sim_nodeid, DIM, coords); coords[comm->cartpmedim]++; if (coords[comm->cartpmedim] < cr->dd->nc[comm->cartpmedim]) { + int rank; MPI_Cart_rank(cr->mpi_comm_mysim, coords, &rank); if (dd_simnode2pmenode(cr, rank) == pmenode) { @@ -2512,12 +2519,8 @@ static void make_dd_indices(gmx_domdec_t *dd, { int nzone, zone, zone1, cg0, cg1, cg1_p1, cg, cg_gl, a, a_gl; int *zone2cg, *zone_ncg1, *index_gl, *gatindex; - gmx_ga2la_t *ga2la; - char *bLocalCG; gmx_bool bCGs; - bLocalCG = dd->comm->bLocalCG; - if (dd->nat_tot > dd->gatindex_nalloc) { dd->gatindex_nalloc = over_alloc_dd(dd->nat_tot); @@ -2582,7 +2585,7 @@ static void make_dd_indices(gmx_domdec_t *dd, static int check_bLocalCG(gmx_domdec_t *dd, int ncg_sys, const char *bLocalCG, const char *where) { - int ncg, i, ngl, nerr; + int i, ngl, nerr; nerr = 0; if (bLocalCG == NULL) @@ -2742,12 +2745,12 @@ static real cellsize_min_dlb(gmx_domdec_comm_t *comm, int dim_ind, int dim) /* The cut-off might have changed, e.g. by PME load balacning, * from the value used to set comm->cellsize_min, so check it. */ - cellsize_min = max(cellsize_min, comm->cutoff/comm->cd[dim_ind].np_dlb); + cellsize_min = std::max(cellsize_min, comm->cutoff/comm->cd[dim_ind].np_dlb); if (comm->bPMELoadBalDLBLimits) { /* Check for the cut-off limit set by the PME load balancing */ - cellsize_min = max(cellsize_min, comm->PMELoadBal_max_cutoff/comm->cd[dim_ind].np_dlb); + cellsize_min = std::max(cellsize_min, comm->PMELoadBal_max_cutoff/comm->cd[dim_ind].np_dlb); } } @@ -2770,10 +2773,10 @@ static real grid_jump_limit(gmx_domdec_comm_t *comm, real cutoff, { if (comm->bPMELoadBalDLBLimits) { - cutoff = max(cutoff, comm->PMELoadBal_max_cutoff); + cutoff = std::max(cutoff, comm->PMELoadBal_max_cutoff); } - grid_jump_limit = max(grid_jump_limit, - cutoff/comm->cd[dim_ind].np); + grid_jump_limit = std::max(grid_jump_limit, + cutoff/comm->cd[dim_ind].np); } return grid_jump_limit; @@ -2960,8 +2963,8 @@ static void init_ddpme(gmx_domdec_t *dd, gmx_ddpme_t *ddpme, int dimind) { slab = pmeindex % ddpme->nslab; } - ddpme->pp_min[slab] = min(ddpme->pp_min[slab], xyz[dimind]); - ddpme->pp_max[slab] = max(ddpme->pp_max[slab], xyz[dimind]); + ddpme->pp_min[slab] = std::min(ddpme->pp_min[slab], xyz[dimind]); + ddpme->pp_max[slab] = std::max(ddpme->pp_max[slab], xyz[dimind]); } } @@ -3162,7 +3165,7 @@ static void set_dd_cell_sizes_slb(gmx_domdec_t *dd, gmx_ddbox_t *ddbox, { npulse[d]++; } - cellsize_min[d] = min(cellsize_min[d], cellsize); + cellsize_min[d] = std::min(cellsize_min[d], cellsize); } if (setmode == setcellsizeslbLOCAL) { @@ -3432,7 +3435,7 @@ static void set_dd_cell_sizes_dlb_root(gmx_domdec_t *dd, gmx_bool bUniform, gmx_int64_t step) { gmx_domdec_comm_t *comm; - int ncd, d1, i, j, pos; + int ncd, d1, i, pos; real *cell_size; real load_aver, load_i, imbalance, change, change_max, sc; real cellsize_limit_f, dist_min_f, dist_min_f_hard, space; @@ -3475,7 +3478,7 @@ static void set_dd_cell_sizes_dlb_root(gmx_domdec_t *dd, imbalance = (load_i - load_aver)/(load_aver > 0 ? load_aver : 1); /* Determine the change of the cell size using underrelaxation */ change = -relax*imbalance; - change_max = max(change_max, max(change, -change)); + change_max = std::max(change_max, std::max(change, -change)); } /* Limit the amount of scaling. * We need to use the same rescaling for all cells in one row, @@ -3618,7 +3621,7 @@ static void distribute_dd_cell_sizes_dlb(gmx_domdec_t *dd, gmx_ddbox_t *ddbox) { gmx_domdec_comm_t *comm; - int d1, dim1, pos; + int d1, pos; comm = dd->comm; @@ -3906,13 +3909,13 @@ static void distribute_cg(FILE *fplog, gmx_int64_t step, { gmx_domdec_master_t *ma; int **tmp_ind = NULL, *tmp_nalloc = NULL; - int i, icg, j, k, k0, k1, d, npbcdim; + int i, icg, j, k, k0, k1, d; matrix tcm; - rvec box_size, cg_cm; + rvec cg_cm; ivec ind; real nrcg, inv_ncg, pos_d; atom_id *cgindex; - gmx_bool bUnbounded, bScrew; + gmx_bool bScrew; ma = dd->ma; @@ -4120,9 +4123,9 @@ static void get_cg_distribution(FILE *fplog, gmx_int64_t step, gmx_domdec_t *dd, } dd_scatterv(dd, - DDMASTER(dd) ? ma->ibuf : NULL, - DDMASTER(dd) ? ma->ibuf+dd->nnodes : NULL, - DDMASTER(dd) ? ma->cg : NULL, + bMaster ? ma->ibuf : NULL, + bMaster ? ma->ibuf+dd->nnodes : NULL, + bMaster ? ma->cg : NULL, dd->ncg_home*sizeof(int), dd->index_gl); /* Determine the home charge group sizes */ @@ -4457,8 +4460,8 @@ static void calc_cg_move(FILE *fplog, gmx_int64_t step, int *move) { int npbcdim; - int c, i, cg, k, k0, k1, d, dim, dim2, dir, d2, d3, d4, cell_d; - int mc, cdd, nrcg, ncg_recv, nat_recv, nvs, nvr, nvec, vec; + int cg, k, k0, k1, d, dim, d2; + int mc, nrcg; int flag; gmx_bool bScrew; ivec dev; @@ -4634,17 +4637,15 @@ static void dd_redistribute_cg(FILE *fplog, gmx_int64_t step, int *move; int npbcdim; int ncg[DIM*2], nat[DIM*2]; - int c, i, cg, k, k0, k1, d, dim, dim2, dir, d2, d3, d4, cell_d; - int mc, cdd, nrcg, ncg_recv, nat_recv, nvs, nvr, nvec, vec; + int c, i, cg, k, d, dim, dim2, dir, d2, d3; + int mc, cdd, nrcg, ncg_recv, nvs, nvr, nvec, vec; int sbuf[2], rbuf[2]; int home_pos_cg, home_pos_at, buf_pos; int flag; gmx_bool bV = FALSE, bSDX = FALSE, bCGP = FALSE; - gmx_bool bScrew; - ivec dev; - real inv_ncg, pos_d; + real pos_d; matrix tcm; - rvec *cg_cm = NULL, cell_x0, cell_x1, limitd, limit0, limit1, cm_new; + rvec *cg_cm = NULL, cell_x0, cell_x1, limitd, limit0, limit1; atom_id *cgindex; cginfo_mb_t *cginfo_mb; gmx_domdec_comm_t *comm; @@ -4901,7 +4902,6 @@ static void dd_redistribute_cg(FILE *fplog, gmx_int64_t step, { dim = dd->dim[d]; ncg_recv = 0; - nat_recv = 0; nvr = 0; for (dir = 0; dir < (dd->nc[dim] == 2 ? 1 : 2); dir++) { @@ -4936,7 +4936,6 @@ static void dd_redistribute_cg(FILE *fplog, gmx_int64_t step, comm->cgcm_state[cdd], nvs, comm->vbuf.v+nvr, i); ncg_recv += rbuf[0]; - nat_recv += rbuf[1]; nvr += i; } @@ -5240,7 +5239,7 @@ static void get_load_distribution(gmx_domdec_t *dd, gmx_wallcycle_t wcycle) gmx_domdec_comm_t *comm; gmx_domdec_load_t *load; gmx_domdec_root_t *root = NULL; - int d, dim, cid, i, pos; + int d, dim, i, pos; float cell_frac = 0, sbuf[DD_NLOAD_MAX]; gmx_bool bSepPME; @@ -5336,7 +5335,7 @@ static void get_load_distribution(gmx_domdec_t *dd, gmx_wallcycle_t wcycle) for (i = 0; i < dd->nc[dim]; i++) { load->sum += load->load[pos++]; - load->max = max(load->max, load->load[pos]); + load->max = std::max(load->max, load->load[pos]); pos++; if (dd->bGridJump) { @@ -5345,14 +5344,14 @@ static void get_load_distribution(gmx_domdec_t *dd, gmx_wallcycle_t wcycle) /* This direction could not be load balanced properly, * therefore we need to use the maximum iso the average load. */ - load->sum_m = max(load->sum_m, load->load[pos]); + load->sum_m = std::max(load->sum_m, load->load[pos]); } else { load->sum_m += load->load[pos]; } pos++; - load->cvol_min = min(load->cvol_min, load->load[pos]); + load->cvol_min = std::min(load->cvol_min, load->load[pos]); pos++; if (d < dd->ndim-1) { @@ -5366,9 +5365,9 @@ static void get_load_distribution(gmx_domdec_t *dd, gmx_wallcycle_t wcycle) } if (bSepPME) { - load->mdf = max(load->mdf, load->load[pos]); + load->mdf = std::max(load->mdf, load->load[pos]); pos++; - load->pme = max(load->pme, load->load[pos]); + load->pme = std::max(load->pme, load->load[pos]); pos++; } } @@ -5762,7 +5761,6 @@ static void make_load_communicators(gmx_domdec_t gmx_unused *dd) void setup_dd_grid(FILE *fplog, gmx_domdec_t *dd) { - gmx_bool bZYX; int d, dim, i, j, m; ivec tmp, s; int nzone, nzonep; @@ -5921,17 +5919,16 @@ void setup_dd_grid(FILE *fplog, gmx_domdec_t *dd) static void make_pp_communicator(FILE *fplog, t_commrec *cr, int gmx_unused reorder) { gmx_domdec_t *dd; + dd = cr->dd; + +#ifdef GMX_MPI gmx_domdec_comm_t *comm; - int i, rank, *buf; + int rank, *buf; ivec periods; -#ifdef GMX_MPI MPI_Comm comm_cart; -#endif - dd = cr->dd; comm = dd->comm; -#ifdef GMX_MPI if (comm->bCartesianPP) { /* Set up cartesian communication for the particle-particle part */ @@ -5941,7 +5938,7 @@ static void make_pp_communicator(FILE *fplog, t_commrec *cr, int gmx_unused reor dd->nc[XX], dd->nc[YY], dd->nc[ZZ]); } - for (i = 0; i < DIM; i++) + for (int i = 0; i < DIM; i++) { periods[i] = TRUE; } @@ -6005,7 +6002,7 @@ static void make_pp_communicator(FILE *fplog, t_commrec *cr, int gmx_unused reor /* Determine the master coordinates and rank. * The DD master should be the same node as the master of this sim. */ - for (i = 0; i < dd->nnodes; i++) + for (int i = 0; i < dd->nnodes; i++) { if (comm->ddindex2simnodeid[i] == 0) { @@ -6043,30 +6040,27 @@ static void make_pp_communicator(FILE *fplog, t_commrec *cr, int gmx_unused reor } } -static void receive_ddindex2simnodeid(t_commrec *cr) +static void receive_ddindex2simnodeid(t_commrec gmx_unused *cr) { +#ifdef GMX_MPI gmx_domdec_t *dd; - gmx_domdec_comm_t *comm; - int *buf; dd = cr->dd; comm = dd->comm; -#ifdef GMX_MPI if (!comm->bCartesianPP_PME && comm->bCartesianPP) { + int *buf; snew(comm->ddindex2simnodeid, dd->nnodes); snew(buf, dd->nnodes); if (cr->duty & DUTY_PP) { buf[dd_index(dd->nc, dd->ci)] = cr->sim_nodeid; } -#ifdef GMX_MPI /* Communicate the ddindex to simulation nodeid index */ MPI_Allreduce(buf, comm->ddindex2simnodeid, dd->nnodes, MPI_INT, MPI_SUM, cr->mpi_comm_mysim); -#endif sfree(buf); } #endif @@ -6108,9 +6102,8 @@ static void split_communicator(FILE *fplog, t_commrec *cr, int gmx_unused dd_nod { gmx_domdec_t *dd; gmx_domdec_comm_t *comm; - int i, rank; + int i; gmx_bool bDiv[DIM]; - ivec periods; #ifdef GMX_MPI MPI_Comm comm_cart; #endif @@ -6158,6 +6151,9 @@ static void split_communicator(FILE *fplog, t_commrec *cr, int gmx_unused dd_nod #ifdef GMX_MPI if (comm->bCartesianPP_PME) { + int rank; + ivec periods; + if (fplog) { fprintf(fplog, "Will use a Cartesian communicator for PP <-> PME: %d x %d x %d\n", comm->ntot[XX], comm->ntot[YY], comm->ntot[ZZ]); @@ -6169,7 +6165,6 @@ static void split_communicator(FILE *fplog, t_commrec *cr, int gmx_unused dd_nod } MPI_Cart_create(cr->mpi_comm_mysim, DIM, comm->ntot, periods, reorder, &comm_cart); - MPI_Comm_rank(comm_cart, &rank); if (MASTERNODE(cr) && rank != 0) { @@ -6353,7 +6348,7 @@ static real *get_slb_frac(FILE *fplog, const char *dir, int nc, const char *size for (i = 0; i < nc; i++) { dbl = 0; - sscanf(size_string, "%lf%n", &dbl, &n); + sscanf(size_string, "%20lf%n", &dbl, &n); if (dbl == 0) { gmx_fatal(FARGS, "Incorrect or not enough DD cell size entries for direction %s: '%s'", dir, size_string); @@ -6416,7 +6411,7 @@ static int dd_getenv(FILE *fplog, const char *env_var, int def) val = getenv(env_var); if (val) { - if (sscanf(val, "%d", &nst) <= 0) + if (sscanf(val, "%20d", &nst) <= 0) { nst = 1; } @@ -6477,7 +6472,7 @@ static real average_cellsize_min(gmx_domdec_t *dd, gmx_ddbox_t *ddbox) { d = dd->dim[di]; /* Check using the initial average cell size */ - r = min(r, ddbox->box_size[d]*ddbox->skew_fac[d]/dd->nc[d]); + r = std::min(r, ddbox->box_size[d]*ddbox->skew_fac[d]/dd->nc[d]); } return r; @@ -6487,7 +6482,6 @@ static int check_dlb_support(FILE *fplog, t_commrec *cr, const char *dlb_opt, gmx_bool bRecordLoad, unsigned long Flags, t_inputrec *ir) { - gmx_domdec_t *dd; int eDLB = -1; char buf[STRLEN]; @@ -6629,10 +6623,10 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, gmx_domdec_t *dd; gmx_domdec_comm_t *comm; int recload; - int d, i, j; real r_2b, r_mb, r_bonded = -1, r_bonded_limit = -1, limit, acs; gmx_bool bC; char buf[STRLEN]; + const real tenPercentMargin = 1.1; if (fplog) { @@ -6758,8 +6752,8 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, * within nstlist steps. Since boundaries are allowed to displace by half * a cell size, DD cells should be at least the size of the list buffer. */ - comm->cellsize_limit = max(comm->cellsize_limit, - ir->rlistlong - max(ir->rvdw, ir->rcoulomb)); + comm->cellsize_limit = std::max(comm->cellsize_limit, + ir->rlistlong - std::max(ir->rvdw, ir->rcoulomb)); if (comm->bInterCGBondeds) { @@ -6772,7 +6766,7 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, } else { - comm->cutoff = max(comm->cutoff, comm->cutoff_mbody); + comm->cutoff = std::max(comm->cutoff, comm->cutoff_mbody); } r_bonded_limit = comm->cutoff_mbody; } @@ -6798,16 +6792,16 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, */ if (Flags & MD_DDBONDCOMM) { - if (max(r_2b, r_mb) > comm->cutoff) + if (std::max(r_2b, r_mb) > comm->cutoff) { - r_bonded = max(r_2b, r_mb); - r_bonded_limit = 1.1*r_bonded; + r_bonded = std::max(r_2b, r_mb); + r_bonded_limit = tenPercentMargin*r_bonded; comm->bBondComm = TRUE; } else { r_bonded = r_mb; - r_bonded_limit = min(1.1*r_bonded, comm->cutoff); + r_bonded_limit = std::min(tenPercentMargin*r_bonded, comm->cutoff); } /* We determine cutoff_mbody later */ } @@ -6816,12 +6810,12 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, /* No special bonded communication, * simply increase the DD cut-off. */ - r_bonded_limit = 1.1*max(r_2b, r_mb); + r_bonded_limit = tenPercentMargin*std::max(r_2b, r_mb); comm->cutoff_mbody = r_bonded_limit; - comm->cutoff = max(comm->cutoff, comm->cutoff_mbody); + comm->cutoff = std::max(comm->cutoff, comm->cutoff_mbody); } } - comm->cellsize_limit = max(comm->cellsize_limit, r_bonded_limit); + comm->cellsize_limit = std::max(comm->cellsize_limit, r_bonded_limit); if (fplog) { fprintf(fplog, @@ -6855,7 +6849,7 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, "User supplied maximum distance required for P-LINCS: %.3f nm\n", rconstr); } - comm->cellsize_limit = max(comm->cellsize_limit, rconstr); + comm->cellsize_limit = std::max(comm->cellsize_limit, rconstr); comm->cgs_gl = gmx_mtop_global_cgs(mtop); @@ -7011,12 +7005,12 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, if (comm->eDLB != edlbNO) { /* Check if this does not limit the scaling */ - comm->cutoff_mbody = min(comm->cutoff_mbody, dlb_scale*acs); + comm->cutoff_mbody = std::min(comm->cutoff_mbody, dlb_scale*acs); } if (!comm->bBondComm) { /* Without bBondComm do not go beyond the n.b. cut-off */ - comm->cutoff_mbody = min(comm->cutoff_mbody, comm->cutoff); + comm->cutoff_mbody = std::min(comm->cutoff_mbody, comm->cutoff); if (comm->cellsize_limit >= comm->cutoff) { /* We don't loose a lot of efficieny @@ -7028,7 +7022,7 @@ gmx_domdec_t *init_domain_decomposition(FILE *fplog, t_commrec *cr, } } /* Check if we did not end up below our original limit */ - comm->cutoff_mbody = max(comm->cutoff_mbody, r_bonded_limit); + comm->cutoff_mbody = std::max(comm->cutoff_mbody, r_bonded_limit); if (comm->cutoff_mbody > comm->cellsize_limit) { @@ -7091,7 +7085,7 @@ static void turn_on_dlb(FILE *fplog, t_commrec *cr, gmx_int64_t step) cellsize_min = comm->cellsize_min[dd->dim[0]]; for (d = 1; d < dd->ndim; d++) { - cellsize_min = min(cellsize_min, comm->cellsize_min[dd->dim[d]]); + cellsize_min = std::min(cellsize_min, comm->cellsize_min[dd->dim[d]]); } if (cellsize_min < comm->cellsize_limit*1.05) @@ -7156,8 +7150,6 @@ void dd_init_bondeds(FILE *fplog, t_inputrec *ir, gmx_bool bBCheck, cginfo_mb_t *cginfo_mb) { gmx_domdec_comm_t *comm; - gmx_bool bBondComm; - int d; dd_make_reverse_top(fplog, dd, mtop, vsite, ir, bBCheck); @@ -7268,7 +7260,7 @@ static void print_dd_settings(FILE *fplog, gmx_domdec_t *dd, limit = dd->comm->cellsize_min[XX]; for (d = 1; d < DIM; d++) { - limit = min(limit, dd->comm->cellsize_min[d]); + limit = std::min(limit, dd->comm->cellsize_min[d]); } } @@ -7276,10 +7268,10 @@ static void print_dd_settings(FILE *fplog, gmx_domdec_t *dd, { fprintf(fplog, "%40s %-7s %6.3f nm\n", "two-body bonded interactions", "(-rdd)", - max(comm->cutoff, comm->cutoff_mbody)); + std::max(comm->cutoff, comm->cutoff_mbody)); fprintf(fplog, "%40s %-7s %6.3f nm\n", "multi-body bonded interactions", "(-rdd)", - (comm->bBondComm || dd->bGridJump) ? comm->cutoff_mbody : min(comm->cutoff, limit)); + (comm->bBondComm || dd->bGridJump) ? comm->cutoff_mbody : std::min(comm->cutoff, limit)); } if (dd->vsite_comm) { @@ -7314,7 +7306,7 @@ static void set_cell_limits_dlb(gmx_domdec_t *dd, /* Determine the maximum number of comm. pulses in one dimension */ - comm->cellsize_limit = max(comm->cellsize_limit, comm->cutoff_mbody); + comm->cellsize_limit = std::max(comm->cellsize_limit, comm->cutoff_mbody); /* Determine the maximum required number of grid pulses */ if (comm->cellsize_limit >= comm->cutoff) @@ -7335,7 +7327,7 @@ static void set_cell_limits_dlb(gmx_domdec_t *dd, else { /* There is no cell size limit */ - npulse = max(dd->nc[XX]-1, max(dd->nc[YY]-1, dd->nc[ZZ]-1)); + npulse = std::max(dd->nc[XX]-1, std::max(dd->nc[YY]-1, dd->nc[ZZ]-1)); } if (!bNoCutOff && npulse > 1) @@ -7347,9 +7339,9 @@ static void set_cell_limits_dlb(gmx_domdec_t *dd, dim = dd->dim[d]; npulse_d = (int)(1 + dd->nc[dim]*comm->cutoff /(ddbox->box_size[dim]*ddbox->skew_fac[dim]*dlb_scale)); - npulse_d_max = max(npulse_d_max, npulse_d); + npulse_d_max = std::max(npulse_d_max, npulse_d); } - npulse = min(npulse, npulse_d_max); + npulse = std::min(npulse, npulse_d_max); } /* This env var can override npulse */ @@ -7363,10 +7355,10 @@ static void set_cell_limits_dlb(gmx_domdec_t *dd, comm->bVacDLBNoLimit = (ir->ePBC == epbcNONE); for (d = 0; d < dd->ndim; d++) { - comm->cd[d].np_dlb = min(npulse, dd->nc[dd->dim[d]]-1); + comm->cd[d].np_dlb = std::min(npulse, dd->nc[dd->dim[d]]-1); comm->cd[d].np_nalloc = comm->cd[d].np_dlb; snew(comm->cd[d].ind, comm->cd[d].np_nalloc); - comm->maxpulse = max(comm->maxpulse, comm->cd[d].np_dlb); + comm->maxpulse = std::max(comm->maxpulse, comm->cd[d].np_dlb); if (comm->cd[d].np_dlb < dd->nc[dd->dim[d]]-1) { comm->bVacDLBNoLimit = FALSE; @@ -7376,10 +7368,10 @@ static void set_cell_limits_dlb(gmx_domdec_t *dd, /* cellsize_limit is set for LINCS in init_domain_decomposition */ if (!comm->bVacDLBNoLimit) { - comm->cellsize_limit = max(comm->cellsize_limit, - comm->cutoff/comm->maxpulse); + comm->cellsize_limit = std::max(comm->cellsize_limit, + comm->cutoff/comm->maxpulse); } - comm->cellsize_limit = max(comm->cellsize_limit, comm->cutoff_mbody); + comm->cellsize_limit = std::max(comm->cellsize_limit, comm->cutoff_mbody); /* Set the minimum cell size for each DD dimension */ for (d = 0; d < dd->ndim; d++) { @@ -7396,7 +7388,7 @@ static void set_cell_limits_dlb(gmx_domdec_t *dd, } if (comm->cutoff_mbody <= 0) { - comm->cutoff_mbody = min(comm->cutoff, comm->cellsize_limit); + comm->cutoff_mbody = std::min(comm->cutoff, comm->cellsize_limit); } if (comm->bDynLoadBal) { @@ -7487,7 +7479,7 @@ void set_dd_parameters(FILE *fplog, gmx_domdec_t *dd, real dlb_scale, } natoms_tot = comm->cgs_gl.index[comm->cgs_gl.nr]; - dd->ga2la = ga2la_init(natoms_tot, vol_frac*natoms_tot); + dd->ga2la = ga2la_init(natoms_tot, static_cast(vol_frac*natoms_tot)); } static gmx_bool test_dd_cutoff(t_commrec *cr, @@ -7765,11 +7757,11 @@ set_dd_corners(const gmx_domdec_t *dd, c->c[1][1] = comm->cell_x0[dim1]; if (dd->bGridJump) { - c->c[1][1] = max(comm->cell_x0[dim1], comm->zone_d1[1].mch0); + c->c[1][1] = std::max(comm->cell_x0[dim1], comm->zone_d1[1].mch0); if (bDistMB) { /* For the multi-body distance we need the maximum */ - c->bc[1] = max(comm->cell_x0[dim1], comm->zone_d1[1].p1_0); + c->bc[1] = std::max(comm->cell_x0[dim1], comm->zone_d1[1].p1_0); } } /* Set the upper-right corner for rounding */ @@ -7792,8 +7784,8 @@ set_dd_corners(const gmx_domdec_t *dd, if (j >= 4) { c->c[2][j-4] = - max(c->c[2][j-4], - comm->zone_d2[zones->shift[i][dim0]][zones->shift[i][dim1]].mch0); + std::max(c->c[2][j-4], + comm->zone_d2[zones->shift[i][dim0]][zones->shift[i][dim1]].mch0); } } } @@ -7805,7 +7797,7 @@ set_dd_corners(const gmx_domdec_t *dd, { for (j = 0; j < 2; j++) { - c->bc[2] = max(c->bc[2], comm->zone_d2[i][j].p1_0); + c->bc[2] = std::max(c->bc[2], comm->zone_d2[i][j].p1_0); } } } @@ -7819,11 +7811,11 @@ set_dd_corners(const gmx_domdec_t *dd, c->cr1[3] = comm->cell_x1[dim1]; if (dd->bGridJump) { - c->cr1[0] = max(comm->cell_x1[dim1], comm->zone_d1[1].mch1); + c->cr1[0] = std::max(comm->cell_x1[dim1], comm->zone_d1[1].mch1); if (bDistMB) { /* For the multi-body distance we need the maximum */ - c->bcr1 = max(comm->cell_x1[dim1], comm->zone_d1[1].p1_1); + c->bcr1 = std::max(comm->cell_x1[dim1], comm->zone_d1[1].p1_1); } } } @@ -8103,7 +8095,7 @@ static void setup_dd_communication(gmx_domdec_t *dd, { int dim_ind, dim, dim0, dim1, dim2, dimd, p, nat_tot; int nzone, nzone_send, zone, zonei, cg0, cg1; - int c, i, j, cg, cg_gl, nrcg; + int c, i, cg, cg_gl, nrcg; int *zone_cg_range, pos_cg, *index_gl, *cgindex, *recv_i; gmx_domdec_comm_t *comm; gmx_domdec_zones_t *zones; @@ -8111,7 +8103,7 @@ static void setup_dd_communication(gmx_domdec_t *dd, gmx_domdec_ind_t *ind; cginfo_mb_t *cginfo_mb; gmx_bool bBondComm, bDist2B, bDistMB, bDistBonded; - real r_mb, r_comm2, r_scomm2, r_bcomm2, r_0, r_1, r2inc, inv_ncg; + real r_comm2, r_bcomm2; dd_corners_t corners; ivec tric_dist; rvec *cg_cm, *normal, *v_d, *v_0 = NULL, *v_1 = NULL, *recv_vr; @@ -8142,8 +8134,6 @@ static void setup_dd_communication(gmx_domdec_t *dd, for (dim_ind = 0; dim_ind < dd->ndim; dim_ind++) { - dim = dd->dim[dim_ind]; - /* Check if we need to use triclinic distances */ tric_dist[dim_ind] = 0; for (i = 0; i <= dim_ind; i++) @@ -8435,7 +8425,7 @@ static void setup_dd_communication(gmx_domdec_t *dd, /* The rvec buffer is also required for atom buffers * of size nrecv in dd_move_x and dd_move_f. */ - i = max(cd->ind[0].nrecv[nzone+1], ind->nrecv[nzone+1]); + i = std::max(cd->ind[0].nrecv[nzone+1], ind->nrecv[nzone+1]); vec_rvec_check_alloc(&comm->vbuf2, i); } } @@ -8580,10 +8570,9 @@ static void set_zones_size(gmx_domdec_t *dd, gmx_domdec_comm_t *comm; gmx_domdec_zones_t *zones; gmx_bool bDistMB; - int z, zi, zj0, zj1, d, dim; + int z, zi, d, dim; real rcs, rcmbs; int i, j; - real size_j, add_tric; real vol; comm = dd->comm; @@ -8681,8 +8670,8 @@ static void set_zones_size(gmx_domdec_t *dd, * With multiple pulses this will lead * to a larger zone then strictly necessary. */ - zones->size[z].x1[dim] = max(zones->size[z].x1[dim], - zones->size[zi].x1[dim]+rcmbs); + zones->size[z].x1[dim] = std::max(zones->size[z].x1[dim], + zones->size[zi].x1[dim]+rcmbs); } } } @@ -8701,8 +8690,8 @@ static void set_zones_size(gmx_domdec_t *dd, { if (zones->shift[z][dim] > 0) { - zones->size[z].x1[dim] = max(zones->size[z].x1[dim], - zones->size[zi].x1[dim]+rcs); + zones->size[z].x1[dim] = std::max(zones->size[z].x1[dim], + zones->size[zi].x1[dim]+rcs); } } } @@ -8766,8 +8755,8 @@ static void set_zones_size(gmx_domdec_t *dd, { for (i = 0; i < DIM; i++) { - corner_min[i] = min(corner_min[i], corner[i]); - corner_max[i] = max(corner_max[i], corner[i]); + corner_min[i] = std::min(corner_min[i], corner[i]); + corner_max[i] = std::max(corner_max[i], corner[i]); } } } @@ -8937,8 +8926,7 @@ static int dd_sort_order(gmx_domdec_t *dd, t_forcerec *fr, int ncg_home_old) { gmx_domdec_sort_t *sort; gmx_cgsort_t *cgsort, *sort_i; - int ncg_new, nsort2, nsort_new, i, *a, moved, *ibuf; - int sort_last, sort_skip; + int ncg_new, nsort2, nsort_new, i, *a, moved; sort = dd->comm->sort; @@ -9049,7 +9037,7 @@ static void dd_sort_state(gmx_domdec_t *dd, rvec *cgcm, t_forcerec *fr, t_state int ncg_home_old) { gmx_domdec_sort_t *sort; - gmx_cgsort_t *cgsort, *sort_i; + gmx_cgsort_t *cgsort; int *cgindex; int ncg_new, i, *ibuf, cgsize; rvec *vbuf; @@ -9306,7 +9294,7 @@ void dd_partition_system(FILE *fplog, t_block *cgs_gl; gmx_int64_t step_pcoupl; rvec cell_ns_x0, cell_ns_x1; - int i, j, n, ncgindex_set, ncg_home_old = -1, ncg_moved, nat_f_novirsum; + int i, n, ncgindex_set, ncg_home_old = -1, ncg_moved, nat_f_novirsum; gmx_bool bBoxChanged, bNStGlobalComm, bDoDLB, bCheckDLB, bTurnOnDLB, bLogLoad; gmx_bool bRedist, bSortCG, bResortAll; ivec ncells_old = {0, 0, 0}, ncells_new = {0, 0, 0}, np; @@ -9375,7 +9363,6 @@ void dd_partition_system(FILE *fplog, * so the extra communication cost is negligible. */ const int nddp_chk_dlb = 100; - bCheckDLB = (comm->n_load_collect == 0 || comm->n_load_have % nddp_chk_dlb == nddp_chk_dlb - 1); } diff --git a/src/gromacs/mdlib/domdec_box.c b/src/gromacs/mdlib/domdec_box.cpp similarity index 95% rename from src/gromacs/mdlib/domdec_box.c rename to src/gromacs/mdlib/domdec_box.cpp index 6b20dd987c..7c9c4d088f 100644 --- a/src/gromacs/mdlib/domdec_box.c +++ b/src/gromacs/mdlib/domdec_box.cpp @@ -33,20 +33,17 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "vec.h" -#include "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/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/domdec_network.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nsgrid.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.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) diff --git a/src/gromacs/mdlib/domdec_con.c b/src/gromacs/mdlib/domdec_con.cpp similarity index 96% rename from src/gromacs/mdlib/domdec_con.c rename to src/gromacs/mdlib/domdec_con.cpp index c9a358f5bd..b31204db8f 100644 --- a/src/gromacs/mdlib/domdec_con.c +++ b/src/gromacs/mdlib/domdec_con.cpp @@ -33,24 +33,26 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + #include +#include + +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/domdec_network.h" +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/gmx_hash.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "constr.h" -#include "types/commrec.h" -#include "domdec.h" -#include "domdec_network.h" -#include "mtop_util.h" -#include "gmx_ga2la.h" -#include "gmx_hash.h" -#include "gmx_omp_nthreads.h" -#include "macros.h" - -#include "gmx_fatal.h" typedef struct { int nsend; @@ -468,8 +470,6 @@ void dd_clear_local_constraint_indices(gmx_domdec_t *dd) void dd_clear_local_vsite_indices(gmx_domdec_t *dd) { - int i; - if (dd->vsite_comm) { gmx_hash_clear_and_optimize(dd->ga2la_vsite); @@ -488,7 +488,7 @@ static int setup_specat_communication(gmx_domdec_t *dd, int nsend[2], nlast, nsend_zero[2] = {0, 0}, *nsend_ptr; int d, dim, ndir, dir, nr, ns, i, nrecv_local, n0, start, indr, ind, buf[2]; int nat_tot_specat, nat_tot_prev, nalloc_old; - gmx_bool bPBC, bFirst; + gmx_bool bPBC; gmx_specatsend_t *spas; if (debug) @@ -557,7 +557,6 @@ static int setup_specat_communication(gmx_domdec_t *dd, nrecv_local = 0; for (d = 0; d < dd->ndim; d++) { - bFirst = (d == 0); /* Pulse the grid forward and backward */ if (dd->dim[d] >= dd->npbcdim || dd->nc[dd->dim[d]] > 2) { @@ -1074,6 +1073,18 @@ int dd_make_local_constraints(gmx_domdec_t *dd, int at_start, int at_end, i, j; t_iatom *iap; + // This code should not be called unless this condition is true, + // because that's the only time init_domdec_constraints is + // called... + GMX_RELEASE_ASSERT(dd->bInterCGcons || dd->bInterCGsettles, "dd_make_local_constraints called when there are no local constraints"); + // ... and init_domdec_constraints always sets + // dd->constraint_comm... + GMX_RELEASE_ASSERT(dd->constraint_comm, "Invalid use of dd_make_local_constraints before construction of constraint_comm"); + // ... which static analysis needs to be reassured about, because + // otherwise, when dd->bInterCGsettles is + // true. dd->constraint_comm is unilaterally dereferenced before + // the call to atoms_to_settles. + dc = dd->constraints; ilc_local = &il_local[F_CONSTR]; @@ -1089,6 +1100,7 @@ int dd_make_local_constraints(gmx_domdec_t *dd, int at_start, } else { + // Currently unreachable at2con_mt = NULL; ireq = NULL; } @@ -1244,6 +1256,7 @@ int dd_make_local_constraints(gmx_domdec_t *dd, int at_start, } else { + // Currently unreachable at_end = at_start; } @@ -1255,7 +1268,7 @@ int dd_make_local_vsites(gmx_domdec_t *dd, int at_start, t_ilist *lil) gmx_domdec_specat_comm_t *spac; ind_req_t *ireq; gmx_hash_t ga2la_specat; - int ftype, nral, i, j, gat, a; + int ftype, nral, i, j, a; t_ilist *lilf; t_iatom *iatoms; int at_end; @@ -1348,7 +1361,7 @@ void init_domdec_constraints(gmx_domdec_t *dd, { gmx_domdec_constraints_t *dc; gmx_molblock_t *molb; - int mb, ncon, c, a; + int mb, ncon, c; if (debug) { @@ -1384,8 +1397,8 @@ void init_domdec_constraints(gmx_domdec_t *dd, /* Use a hash table for the global to local index. * The number of keys is a rough estimate, it will be optimized later. */ - dc->ga2la = gmx_hash_init(min(mtop->natoms/20, - mtop->natoms/(2*dd->nnodes))); + dc->ga2la = gmx_hash_init(std::min(mtop->natoms/20, + mtop->natoms/(2*dd->nnodes))); dc->nthread = gmx_omp_nthreads_get(emntDomdec); snew(dc->ils, dc->nthread); @@ -1395,9 +1408,6 @@ void init_domdec_constraints(gmx_domdec_t *dd, void init_domdec_vsites(gmx_domdec_t *dd, int n_intercg_vsite) { - int i; - gmx_domdec_constraints_t *dc; - if (debug) { fprintf(debug, "Begin init_domdec_vsites\n"); @@ -1406,8 +1416,8 @@ void init_domdec_vsites(gmx_domdec_t *dd, int n_intercg_vsite) /* Use a hash table for the global to local index. * The number of keys is a rough estimate, it will be optimized later. */ - dd->ga2la_vsite = gmx_hash_init(min(n_intercg_vsite/20, - n_intercg_vsite/(2*dd->nnodes))); + dd->ga2la_vsite = gmx_hash_init(std::min(n_intercg_vsite/20, + n_intercg_vsite/(2*dd->nnodes))); dd->vsite_comm = specat_comm_init(1); } diff --git a/src/gromacs/mdlib/domdec_network.c b/src/gromacs/mdlib/domdec_network.cpp similarity index 98% rename from src/gromacs/mdlib/domdec_network.c rename to src/gromacs/mdlib/domdec_network.cpp index 9142d54ae7..eec664a5d0 100644 --- a/src/gromacs/mdlib/domdec_network.c +++ b/src/gromacs/mdlib/domdec_network.cpp @@ -33,14 +33,15 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/domdec_network.h" + +#include "config.h" #include -#include "types/commrec.h" -#include "domdec_network.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/utility/gmxmpi.h" diff --git a/src/gromacs/mdlib/domdec_setup.c b/src/gromacs/mdlib/domdec_setup.cpp similarity index 97% rename from src/gromacs/mdlib/domdec_setup.c rename to src/gromacs/mdlib/domdec_setup.cpp index 9c56f78727..0660a849cd 100644 --- a/src/gromacs/mdlib/domdec_setup.c +++ b/src/gromacs/mdlib/domdec_setup.cpp @@ -33,21 +33,21 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" -#include #include -#include "domdec.h" -#include "types/commrec.h" -#include "network.h" -#include "perf_est.h" -#include "physics.h" +#include + +#include + +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/perf_est.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" #include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "vec.h" -#include "names.h" /* Margin for setting up the DD grid */ #define DD_GRID_MARGIN_PRES_SCALE 1.05 @@ -127,8 +127,8 @@ static gmx_bool fits_pp_pme_perf(int nnodes, int npme, float ratio) sfree(div); sfree(mdiv); - npp_root3 = (int)(pow(nnodes-npme, 1.0/3.0) + 0.5); - npme_root2 = (int)(sqrt(npme) + 0.5); + npp_root3 = static_cast(std::pow(nnodes-npme, 1.0/3.0) + 0.5); + npme_root2 = static_cast(std::sqrt(static_cast(npme)) + 0.5); /* The check below gives a reasonable division: * factor 5 allowed at 5 or more PP nodes, @@ -158,8 +158,7 @@ static int guess_npme(FILE *fplog, gmx_mtop_t *mtop, t_inputrec *ir, matrix box, int nnodes) { float ratio; - int npme, nkx, nky; - t_inputrec ir_try; + int npme; ratio = pme_load_estimate(mtop, ir, box); @@ -249,23 +248,21 @@ static int div_up(int n, int f) real comm_box_frac(ivec dd_nc, real cutoff, gmx_ddbox_t *ddbox) { - int i, j, k, npp; - rvec bt, nw; + int i, j, k; + rvec nw; real comm_vol; for (i = 0; i < DIM; i++) { - bt[i] = ddbox->box_size[i]*ddbox->skew_fac[i]; - nw[i] = dd_nc[i]*cutoff/bt[i]; + real bt = ddbox->box_size[i]*ddbox->skew_fac[i]; + nw[i] = dd_nc[i]*cutoff/bt; } - npp = 1; comm_vol = 0; for (i = 0; i < DIM; i++) { if (dd_nc[i] > 1) { - npp *= dd_nc[i]; comm_vol += nw[i]; for (j = i+1; j < DIM; j++) { @@ -313,7 +310,7 @@ static float comm_cost_est(real limit, real cutoff, int npme_tot, ivec nc) { ivec npme = {1, 1, 1}; - int i, j, k, nk, overlap; + int i, j, nk, overlap; rvec bt; float comm_vol, comm_vol_xf, comm_pme, cost_pbcdx; /* This is the cost of a pbc_dx call relative to the cost @@ -508,7 +505,7 @@ static void assign_factors(gmx_domdec_t *dd, float pbcdxr, int npme, int ndiv, int *div, int *mdiv, ivec ir_try, ivec opt) { - int x, y, z, i; + int x, y, i; float ce; if (ndiv == 0) diff --git a/src/gromacs/mdlib/domdec_top.c b/src/gromacs/mdlib/domdec_top.cpp similarity index 96% rename from src/gromacs/mdlib/domdec_top.c rename to src/gromacs/mdlib/domdec_top.cpp index 8aa77bfb6a..029904b6dc 100644 --- a/src/gromacs/mdlib/domdec_top.c +++ b/src/gromacs/mdlib/domdec_top.cpp @@ -33,30 +33,30 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/domdec_network.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/legacyheaders/types/commrec.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/gmxassert.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" /* for dd_init_local_state */ #define NITEM_DD_INIT_LOCAL_STATE 5 @@ -148,7 +148,7 @@ static void print_missing_interactions_mb(FILE *fplog, t_commrec *cr, t_idef *idef) { int nril_mol, *assigned, *gatindex; - int ftype, ftype_j, nral, i, j_mol, j, k, a0, a0_mol, mol, a, a_gl; + int ftype, ftype_j, nral, i, j_mol, j, a0, a0_mol, mol, a; int nprint; t_ilist *il; t_iatom *ia; @@ -334,7 +334,10 @@ void dd_print_missing_interactions(FILE *fplog, t_commrec *cr, int local_count, if (DDMASTER(dd)) { - fprintf(fplog, "\nA list of missing interactions:\n"); + if (fplog) + { + fprintf(fplog, "\nA list of missing interactions:\n"); + } fprintf(stderr, "\nA list of missing interactions:\n"); rest_global = dd->nbonded_global; rest_local = local_count; @@ -350,7 +353,6 @@ void dd_print_missing_interactions(FILE *fplog, t_commrec *cr, int local_count, || (dd->reverse_top->bConstr && ftype == F_CONSTR) || (dd->reverse_top->bSettle && ftype == F_SETTLE)) { - nral = NRAL(ftype); n = gmx_mtop_ftype_count(err_top_global, ftype); if (ftype == F_CONSTR) { @@ -361,7 +363,10 @@ void dd_print_missing_interactions(FILE *fplog, t_commrec *cr, int local_count, { sprintf(buf, "%20s of %6d missing %6d", interaction_function[ftype].longname, n, -ndiff); - fprintf(fplog, "%s\n", buf); + if (fplog) + { + fprintf(fplog, "%s\n", buf); + } fprintf(stderr, "%s\n", buf); } rest_global -= n; @@ -374,7 +379,10 @@ void dd_print_missing_interactions(FILE *fplog, t_commrec *cr, int local_count, { sprintf(buf, "%20s of %6d missing %6d", "exclusions", rest_global, -ndiff); - fprintf(fplog, "%s\n", buf); + if (fplog) + { + fprintf(fplog, "%s\n", buf); + } fprintf(stderr, "%s\n", buf); } } @@ -399,9 +407,6 @@ void dd_print_missing_interactions(FILE *fplog, t_commrec *cr, int local_count, static void global_atomnr_to_moltype_ind(gmx_reverse_top_t *rt, int i_gl, int *mb, int *mt, int *mol, int *i_mol) { - int molb; - - gmx_molblock_ind_t *mbi = rt->mbi; int start = 0; int end = rt->nmolblock; /* exclusive */ @@ -435,7 +440,7 @@ static void global_atomnr_to_moltype_ind(gmx_reverse_top_t *rt, int i_gl, static int count_excls(t_block *cgs, t_blocka *excls, int *n_intercg_excl) { - int n, n_inter, cg, at0, at1, at, excl, atj; + int n, cg, at0, at1, at, excl, atj; n = 0; *n_intercg_excl = 0; @@ -489,7 +494,6 @@ static int low_make_reverse_ilist(t_ilist *il_mt, t_atom *atom, bVSite = (interaction_function[ftype].flags & IF_VSITE); nral = NRAL(ftype); il = &il_mt[ftype]; - ia = il->iatoms; for (i = 0; i < il->nr; i += 1+nral) { ia = il->iatoms + i; @@ -707,7 +711,7 @@ void dd_make_reverse_top(FILE *fplog, gmx_vsite_t *vsite, t_inputrec *ir, gmx_bool bBCheck) { - int mb, n_recursive_vsite, nexcl, nexcl_icg, a; + int mb, nexcl, nexcl_icg; gmx_molblock_t *molb; gmx_moltype_t *molt; @@ -786,6 +790,60 @@ void dd_make_reverse_top(FILE *fplog, } } +/* This routine is very similar to add_ifunc, but vsites interactions + * have more work to do than other kinds of interactions, and the + * complex way nral (and thus vector contents) depends on ftype + * confuses static analysis tools unless we fuse the vsite + * atom-indexing organization code with the ifunc-adding code, so that + * they can see that nral is the same value. */ +static gmx_inline void +add_ifunc_for_vsites(t_iatom *tiatoms, gmx_ga2la_t ga2la, + int nral, gmx_bool bHomeA, + int a, int a_gl, int a_mol, + const t_iatom *iatoms, + t_ilist *il) +{ + t_iatom *liatoms; + + if (il->nr+1+nral > il->nalloc) + { + il->nalloc = over_alloc_large(il->nr+1+nral); + srenew(il->iatoms, il->nalloc); + } + liatoms = il->iatoms + il->nr; + il->nr += 1 + nral; + + /* Copy the type */ + tiatoms[0] = iatoms[0]; + + if (bHomeA) + { + /* We know the local index of the first atom */ + tiatoms[1] = a; + } + else + { + /* Convert later in make_local_vsites */ + tiatoms[1] = -a_gl - 1; + } + + for (int k = 2; k < 1+nral; k++) + { + int ak_gl = a_gl + iatoms[k] - a_mol; + if (!ga2la_get_home(ga2la, ak_gl, &tiatoms[k])) + { + /* Copy the global index, convert later in make_local_vsites */ + tiatoms[k] = -(ak_gl + 1); + } + // Note that ga2la_get_home always sets the third parameter if + // it returns TRUE + } + for (int k = 0; k < 1+nral; k++) + { + liatoms[k] = tiatoms[k]; + } +} + static gmx_inline void add_ifunc(int nral, t_iatom *tiatoms, t_ilist *il) { t_iatom *liatoms; @@ -892,36 +950,13 @@ static void add_vsite(gmx_ga2la_t ga2la, int *index, int *rtil, t_iatom *iatoms, t_idef *idef, int **vsite_pbc, int *vsite_pbc_nalloc) { - int k, ak_gl, vsi, pbc_a_mol; - t_iatom tiatoms[1+MAXATOMLIST], *iatoms_r; + int k, vsi, pbc_a_mol; + t_iatom tiatoms[1+MAXATOMLIST]; int j, ftype_r, nral_r; - /* Copy the type */ - tiatoms[0] = iatoms[0]; - - if (bHomeA) - { - /* We know the local index of the first atom */ - tiatoms[1] = a; - } - else - { - /* Convert later in make_local_vsites */ - tiatoms[1] = -a_gl - 1; - } - - for (k = 2; k < 1+nral; k++) - { - ak_gl = a_gl + iatoms[k] - a_mol; - if (!ga2la_get_home(ga2la, ak_gl, &tiatoms[k])) - { - /* Copy the global index, convert later in make_local_vsites */ - tiatoms[k] = -(ak_gl + 1); - } - } - /* Add this interaction to the local topology */ - add_ifunc(nral, tiatoms, &idef->il[ftype]); + add_ifunc_for_vsites(tiatoms, ga2la, nral, bHomeA, a, a_gl, a_mol, iatoms, &idef->il[ftype]); + if (vsite_pbc) { vsi = idef->il[ftype].nr/(1+nral) - 1; @@ -1418,11 +1453,10 @@ static int make_exclusions_zone(gmx_domdec_t *dd, gmx_domdec_zones_t *zones, int iz, int cg_start, int cg_end) { - int nizone, n, count, jla0, jla1, jla; + int n, count, jla0, jla1, jla; int cg, la0, la1, la, a_gl, mb, mt, mol, a_mol, j, aj_mol; const t_blocka *excls; gmx_ga2la_t ga2la; - int a_loc; int cell; ga2la = dd->ga2la; @@ -1673,7 +1707,6 @@ static int make_local_bondeds_excls(gmx_domdec_t *dd, { int cg0t, cg1t; t_idef *idef_t; - int ftype; int **vsite_pbc; int *vsite_pbc_nalloc; t_blocka *excl_t; @@ -1800,7 +1833,7 @@ void dd_make_local_top(gmx_domdec_t *dd, gmx_domdec_zones_t *zones, gmx_vsite_t *vsite, gmx_mtop_t *mtop, gmx_localtop_t *ltop) { - gmx_bool bUniqueExcl, bRCheckMB, bRCheck2B, bRCheckExcl; + gmx_bool bRCheckMB, bRCheck2B; real rc = -1; ivec rcheck; int d, nexcl; @@ -1815,7 +1848,6 @@ void dd_make_local_top(gmx_domdec_t *dd, gmx_domdec_zones_t *zones, bRCheckMB = FALSE; bRCheck2B = FALSE; - bRCheckExcl = FALSE; if (dd->reverse_top->bMultiCGmols) { @@ -1854,17 +1886,6 @@ void dd_make_local_top(gmx_domdec_t *dd, gmx_domdec_zones_t *zones, d, cellsize_min[d], d, rcheck[d], bRCheck2B); } } - if (dd->reverse_top->bExclRequired) - { - bRCheckExcl = bRCheck2B; - } - else - { - /* If we don't have forces on exclusions, - * we don't care about exclusions being assigned mulitple times. - */ - bRCheckExcl = FALSE; - } if (bRCheckMB || bRCheck2B) { make_la2lc(dd); @@ -1965,12 +1986,13 @@ void dd_init_local_state(gmx_domdec_t *dd, static void check_link(t_blocka *link, int cg_gl, int cg_gl_j) { - int k, aj; + int k; gmx_bool bFound; bFound = FALSE; for (k = link->index[cg_gl]; k < link->index[cg_gl+1]; k++) { + GMX_RELEASE_ASSERT(link->a, "Inconsistent NULL pointer while making charge-group links"); if (link->a[k] == cg_gl_j) { bFound = TRUE; @@ -1978,6 +2000,8 @@ static void check_link(t_blocka *link, int cg_gl, int cg_gl_j) } if (!bFound) { + GMX_RELEASE_ASSERT(link->a || link->index[cg_gl+1]+1 > link->nalloc_a, + "Inconsistent allocation of link"); /* Add this charge group link */ if (link->index[cg_gl+1]+1 > link->nalloc_a) { @@ -2287,7 +2311,7 @@ void dd_bonded_cg_distance(FILE *fplog, real *r_2b, real *r_mb) { gmx_bool bExclRequired; - int mb, cg_offset, at_offset, *at2cg, mol; + int mb, at_offset, *at2cg, mol; t_graph graph; gmx_vsite_t *vsite; gmx_molblock_t *molb; @@ -2303,7 +2327,6 @@ void dd_bonded_cg_distance(FILE *fplog, *r_2b = 0; *r_mb = 0; - cg_offset = 0; at_offset = 0; for (mb = 0; mb < mtop->nmolblock; mb++) { @@ -2311,7 +2334,6 @@ void dd_bonded_cg_distance(FILE *fplog, molt = &mtop->moltype[molb->type]; if (molt->cgs.nr == 1 || molb->nmol == 0) { - cg_offset += molb->nmol*molt->cgs.nr; at_offset += molb->nmol*molt->atoms.nr; } else @@ -2349,7 +2371,6 @@ void dd_bonded_cg_distance(FILE *fplog, a_mb_2 = at_offset + amol_mb_2; } - cg_offset += molt->cgs.nr; at_offset += molt->atoms.nr; } sfree(cg_cm); diff --git a/src/gromacs/mdlib/ebin.c b/src/gromacs/mdlib/ebin.c index 4760fcf32e..8056f1f9bf 100644 --- a/src/gromacs/mdlib/ebin.c +++ b/src/gromacs/mdlib/ebin.c @@ -35,21 +35,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/ebin.h" #include #include -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "gmx_fatal.h" -#include "ebin.h" -#include "main.h" + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" -#include "vec.h" -#include "physics.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" t_ebin *mk_ebin(void) { @@ -79,10 +77,10 @@ int get_ebin_space(t_ebin *eb, int nener, const char *enm[], const char *unit) eb->e_sim[i].e = 0; eb->e_sim[i].eav = 0; eb->e_sim[i].esum = 0; - eb->enm[i].name = strdup(enm[i-index]); + eb->enm[i].name = gmx_strdup(enm[i-index]); if (unit != NULL) { - eb->enm[i].unit = strdup(unit); + eb->enm[i].unit = gmx_strdup(unit); } else { @@ -109,7 +107,7 @@ int get_ebin_space(t_ebin *eb, int nener, const char *enm[], const char *unit) } } } - eb->enm[i].unit = strdup(u); + eb->enm[i].unit = gmx_strdup(u); } } @@ -278,7 +276,7 @@ int main(int argc, char *argv[]) { e[i] = i; sprintf(buf, "e%d", i); - ce[i] = strdup(buf); + ce[i] = gmx_strdup(buf); } ie = get_ebin_space(eb, NE, ce); add_ebin(eb, ie, NE, e, 0); @@ -286,7 +284,7 @@ int main(int argc, char *argv[]) { s[i] = i; sprintf(buf, "s%d", i); - cs[i] = strdup(buf); + cs[i] = gmx_strdup(buf); } is = get_ebin_space(eb, NS, cs); add_ebin(eb, is, NS, s, 0); @@ -294,7 +292,7 @@ int main(int argc, char *argv[]) { t[i] = i; sprintf(buf, "t%d", i); - ct[i] = strdup(buf); + ct[i] = gmx_strdup(buf); } it = get_ebin_space(eb, NT, ct); add_ebin(eb, it, NT, t, 0); diff --git a/src/gromacs/mdlib/ewald.c b/src/gromacs/mdlib/ewald.c index 9a12d41e88..97d0962f39 100644 --- a/src/gromacs/mdlib/ewald.c +++ b/src/gromacs/mdlib/ewald.c @@ -34,23 +34,22 @@ * 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 -#endif +#include "gmxpre.h" -#include #include -#include "typedefs.h" -#include "types/commrec.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "physics.h" -#include "coulomb.h" -#include "macros.h" +#include +#include -#include "gromacs/fileio/futil.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/math/gmxcomplex.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define TOL 2e-5 diff --git a/src/gromacs/mdlib/expanded.c b/src/gromacs/mdlib/expanded.c index 14d0e7ea3d..4996f51371 100644 --- a/src/gromacs/mdlib/expanded.c +++ b/src/gromacs/mdlib/expanded.c @@ -32,47 +32,39 @@ * 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 -#endif +#include "gmxpre.h" -#include #include -#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 "nrnb.h" -#include "mshift.h" -#include "mdrun.h" -#include "update.h" -#include "physics.h" -#include "main.h" -#include "mdatoms.h" -#include "force.h" -#include "bondf.h" -#include "pme.h" -#include "disre.h" -#include "orires.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 #include "gromacs/fileio/confio.h" #include "gromacs/fileio/gmxfio.h" #include "gromacs/fileio/trnio.h" #include "gromacs/fileio/xtcio.h" +#include "gromacs/legacyheaders/calcmu.h" +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/random/random.h" #include "gromacs/timing/wallcycle.h" -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" static void init_df_history_weights(df_history_t *dfhist, t_expanded *expand, int nlim) { diff --git a/src/gromacs/mdlib/force.c b/src/gromacs/mdlib/force.c index d4e6445491..4313d3e75e 100644 --- a/src/gromacs/mdlib/force.c +++ b/src/gromacs/mdlib/force.c @@ -34,38 +34,39 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/force.h" + +#include "config.h" +#include #include #include -#include -#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 "mdrun.h" -#include "domdec.h" -#include "qmmm.h" -#include "gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/listed-forces/bonded.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, @@ -140,13 +141,7 @@ static void reduce_thread_forces(int n, rvec *f, } } -void gmx_print_sepdvdl(FILE *fplog, const char *s, real v, real dvdlambda) -{ - fprintf(fplog, " %-30s V %12.5e dVdl %12.5e\n", s, v, dvdlambda); -} - -void do_force_lowlevel(FILE *fplog, gmx_int64_t step, - t_forcerec *fr, t_inputrec *ir, +void do_force_lowlevel(t_forcerec *fr, t_inputrec *ir, t_idef *idef, t_commrec *cr, t_nrnb *nrnb, gmx_wallcycle_t wcycle, t_mdatoms *md, @@ -157,7 +152,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, t_fcdata *fcd, gmx_localtop_t *top, gmx_genborn_t *born, - t_atomtypes *atype, gmx_bool bBornRadii, matrix box, t_lambda *fepvals, @@ -170,7 +164,7 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, { int i, j; int donb_flags; - gmx_bool bDoEpot, bSepDVDL, bSB; + gmx_bool bDoEpot, bSB; int pme_flags; matrix boxs; rvec box_size; @@ -184,8 +178,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, double t0 = 0.0, t1, t2, t3; /* time measurement for coarse load balancing */ #endif -#define PRINT_SEPDVDL(s, v, dvdlambda) if (bSepDVDL) { gmx_print_sepdvdl(fplog, s, v, dvdlambda); } - set_pbc(&pbc, fr->ePBC, box); /* reset free energy components */ @@ -201,7 +193,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, box_size[i] = box[i][i]; } - bSepDVDL = (fr->bSepDVDL && do_per_step(step, ir->nstlog)); debug_gmx(); /* do QMMM first if requested */ @@ -210,12 +201,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, enerd->term[F_EQM] = calculate_QMMM(cr, x, f, fr); } - if (bSepDVDL) - { - fprintf(fplog, "Step %s: non-bonded V and dVdl for rank %d:\n", - gmx_step_str(step, buf), cr->nodeid); - } - /* Call the short range functions all in one go. */ #ifdef GMX_MPI @@ -233,7 +218,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, /* foreign lambda component for walls */ real dvdl_walls = do_walls(ir, fr, box, md, x, f, lambda[efptVDW], enerd->grpp.ener[egLJSR], nrnb); - PRINT_SEPDVDL("Walls", 0.0, dvdl_walls); enerd->dvdl_lin[efptVDW] += dvdl_walls; } @@ -316,10 +300,10 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, /* MRS: Eventually, many need to include free energy contribution here! */ if (ir->implicit_solvent) { - wallcycle_sub_start(wcycle, ewcsBONDED); + wallcycle_sub_start(wcycle, ewcsLISTED); calc_gb_forces(cr, md, born, top, x, f, fr, idef, ir->gb_algorithm, ir->sa_algorithm, nrnb, &pbc, graph, enerd); - wallcycle_sub_stop(wcycle, ewcsBONDED); + wallcycle_sub_stop(wcycle, ewcsLISTED); } #ifdef GMX_MPI @@ -351,24 +335,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, enerd->dvdl_lin[efptCOUL] += dvdl_nb[efptCOUL]; } - if (bSepDVDL) - { - real V_short_range = 0; - real dvdl_short_range = 0; - - for (i = 0; i < enerd->grpp.nener; i++) - { - V_short_range += - (fr->bBHAM ? - enerd->grpp.ener[egBHAMSR][i] : - enerd->grpp.ener[egLJSR][i]) - + enerd->grpp.ener[egCOULSR][i] + enerd->grpp.ener[egGB][i]; - } - dvdl_short_range = dvdl_nb[efptVDW] + dvdl_nb[efptCOUL]; - PRINT_SEPDVDL("VdW and Coulomb SR particle-p.", - V_short_range, - dvdl_short_range); - } debug_gmx(); @@ -377,9 +343,9 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, pr_rvecs(debug, 0, "fshift after SR", fr->fshift, SHIFTS); } - /* Shift the coordinates. Must be done before bonded forces and PPPM, + /* Shift the coordinates. Must be done before listed forces and PPPM, * but is also necessary for SHAKE and update, therefore it can NOT - * go when no bonded forces have to be evaluated. + * go when no listed forces have to be evaluated. */ /* Here sometimes we would not need to shift with NBFonly, @@ -397,9 +363,9 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, inc_nrnb(nrnb, eNR_SHIFTX, graph->nnodes); } } - /* Check whether we need to do bondeds or correct for exclusions */ + /* Check whether we need to do listed interactions or correct for exclusions */ if (fr->bMolPBC && - ((flags & GMX_FORCE_BONDED) + ((flags & GMX_FORCE_LISTED) || EEL_RF(fr->eeltype) || EEL_FULL(fr->eeltype) || EVDW_PME(fr->vdwtype))) { /* Since all atoms are in the rectangular or triclinic unit-cell, @@ -409,14 +375,13 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, } debug_gmx(); - if (flags & GMX_FORCE_BONDED) + if (flags & GMX_FORCE_LISTED) { - wallcycle_sub_start(wcycle, ewcsBONDED); - calc_bonds(fplog, cr->ms, - idef, x, hist, f, fr, &pbc, graph, enerd, nrnb, lambda, md, fcd, - DOMAINDECOMP(cr) ? cr->dd->gatindex : NULL, atype, born, - flags, - fr->bSepDVDL && do_per_step(step, ir->nstlog), step); + wallcycle_sub_start(wcycle, ewcsLISTED); + calc_bonds(cr->ms, + idef, (const rvec *) x, hist, f, fr, &pbc, graph, enerd, nrnb, lambda, md, fcd, + DOMAINDECOMP(cr) ? cr->dd->gatindex : NULL, + flags); /* Check if we have to determine energy differences * at foreign lambda's. @@ -435,7 +400,7 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, { lam_i[j] = (i == 0 ? lambda[j] : fepvals->all_lambda[j][i-1]); } - calc_bonds_lambda(fplog, idef, x, fr, &pbc, graph, &(enerd->foreign_grpp), enerd->foreign_term, nrnb, lam_i, md, + calc_bonds_lambda(idef, (const rvec *) x, fr, &pbc, graph, &(enerd->foreign_grpp), enerd->foreign_term, nrnb, lam_i, md, fcd, DOMAINDECOMP(cr) ? cr->dd->gatindex : NULL); sum_epot(&(enerd->foreign_grpp), enerd->foreign_term); enerd->enerpart_lambda[i] += enerd->foreign_term[F_EPOT]; @@ -443,17 +408,25 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, } debug_gmx(); - wallcycle_sub_stop(wcycle, ewcsBONDED); + wallcycle_sub_stop(wcycle, ewcsLISTED); } 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) @@ -462,20 +435,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, 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)) { @@ -577,15 +536,10 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, fr->vir_el_recip); } - PRINT_SEPDVDL("Ewald excl./charge/dip. corr.", Vcorr_q, dvdl_long_range_correction_q); - 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); @@ -657,7 +611,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, md->chargeA + md->homenr - fr->n_tpi, &Vlr_q); } - PRINT_SEPDVDL("PME mesh", Vlr_q + Vlr_lj, dvdl_long_range_q+dvdl_long_range_lj); } } @@ -668,7 +621,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, box_size, cr, md->homenr, fr->vir_el_recip, fr->ewaldcoeff_q, lambda[efptCOUL], &dvdl_long_range_q, fr->ewald_table); - PRINT_SEPDVDL("Ewald long-range", Vlr_q, dvdl_long_range_q); } /* Note that with separate PME nodes we get the real energies later */ @@ -703,8 +655,6 @@ void do_force_lowlevel(FILE *fplog, gmx_int64_t step, fr->fshift, &pbc, lambda[efptCOUL], &dvdl_rf_excl); enerd->dvdl_lin[efptCOUL] += dvdl_rf_excl; - PRINT_SEPDVDL("RF exclusion correction", - enerd->term[F_RF_EXCL], dvdl_rf_excl); } } } diff --git a/src/gromacs/mdlib/forcerec.c b/src/gromacs/mdlib/forcerec.c index 401f04c042..68edaad1c1 100644 --- a/src/gromacs/mdlib/forcerec.c +++ b/src/gromacs/mdlib/forcerec.c @@ -34,52 +34,50 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" +#include #include #include -#include -#include "sysstuff.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "vec.h" + +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/gmx_detect_hardware.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/gpu_utils.h" +#include "gromacs/legacyheaders/inputrec.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/md_support.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/pmalloc_cuda.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/tables.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/legacyheaders/types/nbnxn_cuda_types_ext.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" -#include "macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_atomdata.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/mdlib/nbnxn_search.h" +#include "gromacs/mdlib/nbnxn_simd.h" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "gmx_fatal.h" -#include "physics.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 "md_logging.h" -#include "domdec.h" -#include "qmmm.h" -#include "copyrite.h" -#include "mtop_util.h" -#include "nbnxn_simd.h" -#include "nbnxn_search.h" -#include "nbnxn_atomdata.h" -#include "nbnxn_consts.h" -#include "gmx_omp_nthreads.h" -#include "gmx_detect_hardware.h" -#include "inputrec.h" - -#include "types/nbnxn_cuda_types_ext.h" -#include "gpu_utils.h" -#include "nbnxn_cuda_data_mgmt.h" -#include "pmalloc_cuda.h" t_forcerec *mk_forcerec(void) { @@ -584,10 +582,6 @@ check_solvent(FILE * fp, bestsol = esolNO; } -#ifdef DISABLE_WATER_NLIST - bestsol = esolNO; -#endif - fr->nWatMol = 0; for (mb = 0; mb < mtop->nmolblock; mb++) { @@ -3323,3 +3317,44 @@ void forcerec_set_excl_load(t_forcerec *fr, fr->excl_load[t] = i; } } + +/* Frees GPU memory and destroys the CUDA context. + * + * Note that this function needs to be called even if GPUs are not used + * in this run because the PME ranks have no knowledge of whether GPUs + * are used or not, but all ranks need to enter the barrier below. + */ +void free_gpu_resources(const t_forcerec *fr, + const t_commrec *cr) +{ + gmx_bool bIsPPrankUsingGPU; + char gpu_err_str[STRLEN]; + + bIsPPrankUsingGPU = (cr->duty & DUTY_PP) && fr && fr->nbv && fr->nbv->bUseGPU; + + if (bIsPPrankUsingGPU) + { + /* free nbnxn data in GPU memory */ + nbnxn_cuda_free(fr->nbv->cu_nbv); + + /* With tMPI we need to wait for all ranks to finish deallocation before + * destroying the context in free_gpu() as some ranks may be sharing + * GPU and context. + * Note: as only PP ranks need to free GPU resources, so it is safe to + * not call the barrier on PME ranks. + */ +#ifdef GMX_THREAD_MPI + if (PAR(cr)) + { + gmx_barrier(cr); + } +#endif /* GMX_THREAD_MPI */ + + /* uninitialize GPU (by destroying the context) */ + if (!free_gpu(gpu_err_str)) + { + gmx_warning("On rank %d failed to free GPU #%d: %s", + cr->nodeid, get_current_gpu_device_id(), gpu_err_str); + } + } +} diff --git a/src/gromacs/mdlib/genborn.c b/src/gromacs/mdlib/genborn.c index 6c20080c5f..7c31e0b7a5 100644 --- a/src/gromacs/mdlib/genborn.c +++ b/src/gromacs/mdlib/genborn.c @@ -35,42 +35,41 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/genborn.h" #include #include -#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 "domdec.h" -#include "network.h" -#include "gmx_fatal.h" -#include "mtop_util.h" -#include "pbc.h" -#include "nrnb.h" -#include "bondf.h" - +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/mshift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.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 "genborn_sse2_double.h" -# include "genborn_allvsall_sse2_double.h" +# include "gromacs/mdlib/genborn_allvsall_sse2_double.h" +# include "gromacs/mdlib/genborn_sse2_double.h" # else -# include "genborn_sse2_single.h" -# include "genborn_allvsall_sse2_single.h" +# include "gromacs/mdlib/genborn_allvsall_sse2_single.h" +# include "gromacs/mdlib/genborn_sse2_single.h" # endif /* GMX_DOUBLE */ #endif /* SSE or AVX present */ -#include "genborn_allvsall.h" +#include "gromacs/mdlib/genborn_allvsall.h" /*#define DISABLE_SSE*/ @@ -87,7 +86,7 @@ typedef struct gbtmpnbls { int list_nalloc; } t_gbtmpnbls; -/* This function is exactly the same as the one in bondfree.c. The reason +/* This function is exactly the same as the one in listed-forces/bonded.cpp. The reason * it is copied here is that the bonded gb-interactions are evaluated * not in calc_bonds, but rather in calc_gb_forces */ diff --git a/src/gromacs/mdlib/genborn_allvsall.c b/src/gromacs/mdlib/genborn_allvsall.c index 766341efad..a18f2e1ac5 100644 --- a/src/gromacs/mdlib/genborn_allvsall.c +++ b/src/gromacs/mdlib/genborn_allvsall.c @@ -34,21 +34,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "genborn_allvsall.h" #include -#include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/utility/smalloc.h" -#include "network.h" -#include "physics.h" -#include "genborn.h" -#include "genborn_allvsall.h" - typedef struct { diff --git a/src/gromacs/mdlib/genborn_allvsall.h b/src/gromacs/mdlib/genborn_allvsall.h index 10ab33930c..83492bdef1 100644 --- a/src/gromacs/mdlib/genborn_allvsall.h +++ b/src/gromacs/mdlib/genborn_allvsall.h @@ -37,12 +37,8 @@ #ifndef _GENBORN_ALLVSALL_H #define _GENBORN_ALLVSALL_H -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "types/simple.h" -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" int genborn_allvsall_calc_still_radii(t_forcerec * fr, diff --git a/src/gromacs/mdlib/genborn_allvsall_sse2_double.c b/src/gromacs/mdlib/genborn_allvsall_sse2_double.c index ff2c3aefd4..5847525465 100644 --- a/src/gromacs/mdlib/genborn_allvsall_sse2_double.c +++ b/src/gromacs/mdlib/genborn_allvsall_sse2_double.c @@ -34,21 +34,18 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/genborn_allvsall.h" #include "gromacs/utility/smalloc.h" -#include "network.h" -#include "physics.h" -#include "genborn.h" -#include "genborn_allvsall.h" - #if 0 && defined (GMX_SIMD_X86_SSE2_OR_HIGHER) diff --git a/src/gromacs/mdlib/genborn_allvsall_sse2_double.h b/src/gromacs/mdlib/genborn_allvsall_sse2_double.h index 778a4df3d8..3629475dc3 100644 --- a/src/gromacs/mdlib/genborn_allvsall_sse2_double.h +++ b/src/gromacs/mdlib/genborn_allvsall_sse2_double.h @@ -3,7 +3,7 @@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2009, 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. @@ -37,12 +37,8 @@ #ifndef _GENBORN_ALLVSALL_SSE2_DOUBLE_H #define _GENBORN_ALLVSALL_SSE2_DOUBLE_H -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "types/simple.h" -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" int genborn_allvsall_calc_still_radii_sse2_double(t_forcerec * fr, diff --git a/src/gromacs/mdlib/genborn_allvsall_sse2_single.c b/src/gromacs/mdlib/genborn_allvsall_sse2_single.c index 1f17f499aa..8c3ce47c99 100644 --- a/src/gromacs/mdlib/genborn_allvsall_sse2_single.c +++ b/src/gromacs/mdlib/genborn_allvsall_sse2_single.c @@ -34,21 +34,18 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/genborn_allvsall.h" #include "gromacs/utility/smalloc.h" -#include "network.h" -#include "physics.h" -#include "genborn.h" -#include "genborn_allvsall.h" - #if 0 && defined (GMX_SIMD_X86_SSE2_OR_HIGHER) #include diff --git a/src/gromacs/mdlib/genborn_allvsall_sse2_single.h b/src/gromacs/mdlib/genborn_allvsall_sse2_single.h index 2c56207b76..d1e908a985 100644 --- a/src/gromacs/mdlib/genborn_allvsall_sse2_single.h +++ b/src/gromacs/mdlib/genborn_allvsall_sse2_single.h @@ -3,7 +3,7 @@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2009, 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. @@ -37,12 +37,8 @@ #ifndef _GENBORN_ALLVSALL_SSE2_SINGLE_H #define _GENBORN_ALLVSALL_SSE2_SINGLE_H -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "types/simple.h" -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" int genborn_allvsall_calc_still_radii_sse2_single(t_forcerec * fr, diff --git a/src/gromacs/mdlib/genborn_sse2_double.c b/src/gromacs/mdlib/genborn_sse2_double.c index 7e71bf8ba4..df68d0508e 100644 --- a/src/gromacs/mdlib/genborn_sse2_double.c +++ b/src/gromacs/mdlib/genborn_sse2_double.c @@ -34,35 +34,30 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "genborn.h" -#include "vec.h" #include "gromacs/fileio/pdbio.h" -#include "names.h" -#include "physics.h" -#include "domdec.h" -#include "network.h" -#include "gmx_fatal.h" -#include "mtop_util.h" -#include "genborn.h" - +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" /* Only compile this file if SSE2 intrinsics are available */ #if 0 && defined (GMX_SIMD_X86_SSE2_OR_HIGHER) -#include -#include - #include "genborn_sse2_double.h" +#include +#include + int calc_gb_rad_still_sse2_double(t_commrec *cr, t_forcerec *fr, int natoms, gmx_localtop_t *top, diff --git a/src/gromacs/mdlib/genborn_sse2_double.h b/src/gromacs/mdlib/genborn_sse2_double.h index d4b5271454..0bf4ea9d69 100644 --- a/src/gromacs/mdlib/genborn_sse2_double.h +++ b/src/gromacs/mdlib/genborn_sse2_double.h @@ -37,11 +37,7 @@ #ifndef _genborn_sse2_double_h #define _genborn_sse2_double_h -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" int calc_gb_rad_still_sse2_double(t_commrec *cr, t_forcerec *fr, int natoms, gmx_localtop_t *top, diff --git a/src/gromacs/mdlib/genborn_sse2_single.c b/src/gromacs/mdlib/genborn_sse2_single.c index 95fa0cdc40..7c847473a1 100644 --- a/src/gromacs/mdlib/genborn_sse2_single.c +++ b/src/gromacs/mdlib/genborn_sse2_single.c @@ -34,37 +34,32 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "genborn.h" -#include "vec.h" #include "gromacs/fileio/pdbio.h" -#include "names.h" -#include "physics.h" -#include "domdec.h" -#include "network.h" -#include "gmx_fatal.h" -#include "mtop_util.h" -#include "genborn.h" - +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" /* Only compile this file if SSE intrinsics are available */ #if 0 && defined (GMX_SIMD_X86_SSE2_OR_HIGHER) -#include -#include - #include "genborn_sse2_single.h" +#include +#include + int calc_gb_rad_still_sse2_single(t_commrec *cr, t_forcerec *fr, diff --git a/src/gromacs/mdlib/genborn_sse2_single.h b/src/gromacs/mdlib/genborn_sse2_single.h index 95b4ce63f6..6753e0e17f 100644 --- a/src/gromacs/mdlib/genborn_sse2_single.h +++ b/src/gromacs/mdlib/genborn_sse2_single.h @@ -37,11 +37,7 @@ #ifndef _genborn_sse_h #define _genborn_sse_h -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" float calc_gb_chainrule_sse2_single(int natoms, t_nblist *nl, float *dadx, float *dvda, diff --git a/src/gromacs/mdlib/groupcoord.c b/src/gromacs/mdlib/groupcoord.cpp similarity index 98% rename from src/gromacs/mdlib/groupcoord.c rename to src/gromacs/mdlib/groupcoord.cpp index dae82018af..b02f852374 100644 --- a/src/gromacs/mdlib/groupcoord.c +++ b/src/gromacs/mdlib/groupcoord.cpp @@ -34,17 +34,15 @@ * 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 -#endif - +#include "gmxpre.h" #include "groupcoord.h" -#include "network.h" -#include "pbc.h" -#include "vec.h" + +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/utility/smalloc.h" -#include "gmx_ga2la.h" #define MIN(a, b) (((a) < (b)) ? (a) : (b)) diff --git a/src/gromacs/mdlib/groupcoord.h b/src/gromacs/mdlib/groupcoord.h index a664e34320..686ce17517 100644 --- a/src/gromacs/mdlib/groupcoord.h +++ b/src/gromacs/mdlib/groupcoord.h @@ -47,14 +47,14 @@ * \inlibraryapi */ -#ifdef HAVE_CONFIG_H -#include -#endif - #include -#include "typedefs.h" -#include "types/commrec.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" + +#ifdef __cplusplus +extern "C" { +#endif /*! \brief Select local atoms of a group. * @@ -74,6 +74,7 @@ * (collective) array such that it can be gmx_summed * in the communicate_group_positions routine. */ + extern void dd_make_local_group_indices(gmx_ga2la_t ga2la, const int nr, int anrs[], int *nr_loc, int *anrs_loc[], int *nalloc_loc, @@ -204,3 +205,7 @@ extern void translate_x(rvec x[], const int nr, const rvec transvec); * */ extern void rotate_x(rvec x[], const int nr, matrix rmat); + +#ifdef __cplusplus +} +#endif diff --git a/src/gromacs/mdlib/init.c b/src/gromacs/mdlib/init.c index 95516341f8..21549e2aa7 100644 --- a/src/gromacs/mdlib/init.c +++ b/src/gromacs/mdlib/init.c @@ -34,26 +34,22 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "typedefs.h" + #include "gromacs/fileio/tpxio.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/mvdata.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "vec.h" -#include "main.h" -#include "mvdata.h" -#include "gmx_fatal.h" -#include "symtab.h" -#include "txtdump.h" -#include "mdatoms.h" -#include "mdrun.h" -#include "names.h" -#include "calcgrid.h" -#include "update.h" -#include "mdebin.h" #define BUFSIZE 256 diff --git a/src/gromacs/mdlib/iteratedconstraints.c b/src/gromacs/mdlib/iteratedconstraints.c index 5c3529f0f0..7899fdd12c 100644 --- a/src/gromacs/mdlib/iteratedconstraints.c +++ b/src/gromacs/mdlib/iteratedconstraints.c @@ -3,7 +3,7 @@ * * 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. @@ -34,17 +34,16 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "typedefs.h" -#include "gmx_fatal.h" -#include "mdrun.h" -#include "md_support.h" -#include "md_logging.h" -#include "types/iteratedconstraints.h" + +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/md_support.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/iteratedconstraints.h" +#include "gromacs/utility/fatalerror.h" #ifdef GMX_DOUBLE #define CONVERGEITER 0.000000001 diff --git a/src/gromacs/mdlib/md_support.c b/src/gromacs/mdlib/md_support.cpp similarity index 96% rename from src/gromacs/mdlib/md_support.c rename to src/gromacs/mdlib/md_support.cpp index 748768687b..52b05bdd88 100644 --- a/src/gromacs/mdlib/md_support.c +++ b/src/gromacs/mdlib/md_support.cpp @@ -34,24 +34,27 @@ * 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 -#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 "vcm.h" -#include "nrnb.h" -#include "macros.h" -#include "md_logging.h" -#include "md_support.h" -#include "names.h" +#include "gmxpre.h" + +#include "gromacs/legacyheaders/md_support.h" + +#include +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vcm.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" #include "gromacs/timing/wallcycle.h" +#include "gromacs/topology/mtop_util.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 }; @@ -88,7 +91,7 @@ gmx_int64_t get_multisim_nsteps(const t_commrec *cr, if (steps_out >= 0 && steps_out < nsteps) { char strbuf[255]; - snprintf(strbuf, 255, "Will stop simulation %%d after %s steps (another simulation will end then).\n", "%"GMX_PRId64); + snprintf(strbuf, 255, "Will stop simulation %%d after %s steps (another simulation will end then).\n", "%" GMX_PRId64); fprintf(stderr, strbuf, cr->ms->sim, steps_out); } } @@ -117,7 +120,7 @@ int multisim_min(const gmx_multisim_t *ms, int nmin, int n) { if (bEqual) { - nmin = min(nmin, buf[0]); + nmin = std::min(nmin, buf[0]); } else { @@ -292,13 +295,12 @@ void compute_globals(FILE *fplog, gmx_global_stat_t gstat, t_commrec *cr, t_inpu int i, gsi; real gs_buf[eglsNR]; tensor corr_vir, corr_pres; - gmx_bool bEner, bPres, bTemp, bVV; - gmx_bool bRerunMD, bStopCM, bGStat, bIterate, + gmx_bool bEner, bPres, bTemp; + gmx_bool bStopCM, bGStat, bIterate, bFirstIterate, bReadEkin, bEkinAveVel, bScaleEkin, bConstrain; - real ekin, temp, prescorr, enercorr, dvdlcorr, dvdl_ekin; + real prescorr, enercorr, dvdlcorr, dvdl_ekin; /* translate CGLO flags to gmx_booleans */ - bRerunMD = flags & CGLO_RERUNMD; bStopCM = flags & CGLO_STOPCM; bGStat = flags & CGLO_GSTAT; @@ -461,7 +463,7 @@ void compute_globals(FILE *fplog, gmx_global_stat_t gstat, t_commrec *cr, t_inpu if (bEner || bPres || bConstrain) { - calc_dispcorr(fplog, ir, fr, 0, top_global->natoms, box, state->lambda[efptVDW], + calc_dispcorr(ir, fr, top_global->natoms, box, state->lambda[efptVDW], corr_pres, corr_vir, &prescorr, &enercorr, &dvdlcorr); } @@ -535,7 +537,7 @@ void set_current_lambdas(gmx_int64_t step, t_lambda *fepvals, gmx_bool bRerunMD, { /* find out between which two value of lambda we should be */ frac = (step*fepvals->delta_lambda); - fep_state = floor(frac*fepvals->n_lambda); + fep_state = static_cast(floor(frac*fepvals->n_lambda)); /* interpolate between this state and the next */ /* this assumes that the initial lambda corresponds to lambda==0, which is verified in grompp */ frac = (frac*fepvals->n_lambda)-fep_state; @@ -563,7 +565,7 @@ void set_current_lambdas(gmx_int64_t step, t_lambda *fepvals, gmx_bool bRerunMD, frac = (step*fepvals->delta_lambda); if (fepvals->n_lambda > 0) { - fep_state = floor(frac*fepvals->n_lambda); + fep_state = static_cast(floor(frac*fepvals->n_lambda)); /* interpolate between this state and the next */ /* this assumes that the initial lambda corresponds to lambda==0, which is verified in grompp */ frac = (frac*fepvals->n_lambda)-fep_state; @@ -751,11 +753,8 @@ void check_ir_old_tpx_versions(t_commrec *cr, FILE *fplog, void rerun_parallel_comm(t_commrec *cr, t_trxframe *fr, gmx_bool *bNotLastFrame) { - gmx_bool bAlloc; rvec *xp, *vp; - bAlloc = (fr->natoms == 0); - if (MASTER(cr) && !*bNotLastFrame) { fr->natoms = -1; diff --git a/src/gromacs/mdlib/mdatom.c b/src/gromacs/mdlib/mdatom.c index b8d51a76da..d1722dedf1 100644 --- a/src/gromacs/mdlib/mdatom.c +++ b/src/gromacs/mdlib/mdatom.c @@ -34,19 +34,16 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "typedefs.h" -#include "mdatoms.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/topology/mtop_util.h" #include "gromacs/utility/smalloc.h" -#include "main.h" -#include "qmmm.h" -#include "mtop_util.h" -#include "gmx_omp_nthreads.h" #define ALMOST_ZERO 1e-30 diff --git a/src/gromacs/mdlib/mdebin.c b/src/gromacs/mdlib/mdebin.c index bb4809174c..84b1db0f3d 100644 --- a/src/gromacs/mdlib/mdebin.c +++ b/src/gromacs/mdlib/mdebin.c @@ -34,31 +34,31 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/mdebin.h" -#include #include -#include "typedefs.h" -#include "mdebin.h" -#include "gromacs/utility/smalloc.h" -#include "physics.h" +#include +#include + #include "gromacs/fileio/enxio.h" -#include "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/fileio/gmxfio.h" -#include "macros.h" -#include "mdrun.h" -#include "mdebin_bar.h" - +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/mdebin_bar.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/smalloc.h" static const char *conrmsd_nm[] = { "Constr. rmsd", "Constr.2 rmsd" }; @@ -547,7 +547,7 @@ t_mdebin *init_mdebin(ener_file_t fp_ene, { ni = groups->grps[egcTC].nm_ind[i]; sprintf(buf, "T-%s", *(groups->grpname[ni])); - grpnms[i] = strdup(buf); + grpnms[i] = gmx_strdup(buf); } md->itemp = get_ebin_space(md->ebin, md->nTC, (const char **)grpnms, unit_temp_K); @@ -565,9 +565,9 @@ t_mdebin *init_mdebin(ener_file_t fp_ene, for (j = 0; (j < md->nNHC); j++) { sprintf(buf, "Xi-%d-%s", j, bufi); - grpnms[2*(i*md->nNHC+j)] = strdup(buf); + grpnms[2*(i*md->nNHC+j)] = gmx_strdup(buf); sprintf(buf, "vXi-%d-%s", j, bufi); - grpnms[2*(i*md->nNHC+j)+1] = strdup(buf); + grpnms[2*(i*md->nNHC+j)+1] = gmx_strdup(buf); } } md->itc = get_ebin_space(md->ebin, md->mde_n, @@ -580,9 +580,9 @@ t_mdebin *init_mdebin(ener_file_t fp_ene, for (j = 0; (j < md->nNHC); j++) { sprintf(buf, "Xi-%d-%s", j, bufi); - grpnms[2*(i*md->nNHC+j)] = strdup(buf); + grpnms[2*(i*md->nNHC+j)] = gmx_strdup(buf); sprintf(buf, "vXi-%d-%s", j, bufi); - grpnms[2*(i*md->nNHC+j)+1] = strdup(buf); + grpnms[2*(i*md->nNHC+j)+1] = gmx_strdup(buf); } } md->itcb = get_ebin_space(md->ebin, md->mdeb_n, @@ -596,9 +596,9 @@ t_mdebin *init_mdebin(ener_file_t fp_ene, ni = groups->grps[egcTC].nm_ind[i]; bufi = *(groups->grpname[ni]); sprintf(buf, "Xi-%s", bufi); - grpnms[2*i] = strdup(buf); + grpnms[2*i] = gmx_strdup(buf); sprintf(buf, "vXi-%s", bufi); - grpnms[2*i+1] = strdup(buf); + grpnms[2*i+1] = gmx_strdup(buf); } md->itc = get_ebin_space(md->ebin, md->mde_n, (const char **)grpnms, unit_invtime); @@ -612,7 +612,7 @@ t_mdebin *init_mdebin(ener_file_t fp_ene, { ni = groups->grps[egcTC].nm_ind[i]; sprintf(buf, "Lamb-%s", *(groups->grpname[ni])); - grpnms[i] = strdup(buf); + grpnms[i] = gmx_strdup(buf); } md->itc = get_ebin_space(md->ebin, md->mde_n, (const char **)grpnms, ""); } @@ -628,11 +628,11 @@ t_mdebin *init_mdebin(ener_file_t fp_ene, { ni = groups->grps[egcACC].nm_ind[i]; sprintf(buf, "Ux-%s", *(groups->grpname[ni])); - grpnms[3*i+XX] = strdup(buf); + grpnms[3*i+XX] = gmx_strdup(buf); sprintf(buf, "Uy-%s", *(groups->grpname[ni])); - grpnms[3*i+YY] = strdup(buf); + grpnms[3*i+YY] = gmx_strdup(buf); sprintf(buf, "Uz-%s", *(groups->grpname[ni])); - grpnms[3*i+ZZ] = strdup(buf); + grpnms[3*i+ZZ] = gmx_strdup(buf); } md->iu = get_ebin_space(md->ebin, 3*md->nU, (const char **)grpnms, unit_vel); sfree(grpnms); @@ -733,7 +733,7 @@ static void print_lambda_vector(t_lambda *fep, int i, if (Nsep > 1) { /* and add the closing parenthesis */ - str += sprintf(str, ")"); + sprintf(str, ")"); } } @@ -846,7 +846,7 @@ extern FILE *open_dhdl(const char *filename, const t_inputrec *ir, { /* state for the fep_vals, if we have alchemical sampling */ sprintf(buf, "%s", "Thermodynamic state"); - setname[s] = strdup(buf); + setname[s] = gmx_strdup(buf); s += 1; } @@ -862,7 +862,7 @@ extern FILE *open_dhdl(const char *filename, const t_inputrec *ir, default: sprintf(buf, "%s (%s)", "Total Energy", unit_energy); } - setname[s] = strdup(buf); + setname[s] = gmx_strdup(buf); s += 1; } @@ -888,7 +888,7 @@ extern FILE *open_dhdl(const char *filename, const t_inputrec *ir, sprintf(buf, "%s %s = %.4f", dhdl, efpt_singular_names[i], lam); } - setname[s] = strdup(buf); + setname[s] = gmx_strdup(buf); s += 1; } } @@ -935,14 +935,14 @@ extern FILE *open_dhdl(const char *filename, const t_inputrec *ir, ir->simtempvals->temperatures[s-(nsetsbegin)], unit_temp_K); } - setname[s] = strdup(buf); + setname[s] = gmx_strdup(buf); s++; } if (write_pV) { np = sprintf(buf, "pV (%s)", unit_energy); - setname[nsetsextend-1] = strdup(buf); /* the first entry after - nsets */ + setname[nsetsextend-1] = gmx_strdup(buf); /* the first entry after + nsets */ } xvgr_legend(fp, nsetsextend, (const char **)setname, oenv); @@ -1547,7 +1547,7 @@ void print_ebin(ener_file_t fp_ene, gmx_bool bEne, gmx_bool bDR, gmx_bool bOR, nj = groups->grps[egcENER].nm_ind[j]; sprintf(buf, "%s-%s", *(groups->grpname[ni]), *(groups->grpname[nj])); - md->print_grpnms[n++] = strdup(buf); + md->print_grpnms[n++] = gmx_strdup(buf); } } } diff --git a/src/gromacs/mdlib/mdebin_bar.c b/src/gromacs/mdlib/mdebin_bar.c index b855e33a9d..e351275864 100644 --- a/src/gromacs/mdlib/mdebin_bar.c +++ b/src/gromacs/mdlib/mdebin_bar.c @@ -34,20 +34,20 @@ * 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 -#endif +#include "gmxpre.h" + +#include "mdebin_bar.h" -#include #include #include -#include "typedefs.h" -#include "gmx_fatal.h" -#include "mdebin.h" -#include "gromacs/utility/smalloc.h" +#include + #include "gromacs/fileio/enxio.h" #include "gromacs/fileio/gmxfio.h" -#include "mdebin_bar.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* reset the delta_h list to prepare it for new values */ static void mde_delta_h_reset(t_mde_delta_h *dh) diff --git a/src/gromacs/mdlib/mdebin_bar.h b/src/gromacs/mdlib/mdebin_bar.h index 8da7c38fef..c31a068edf 100644 --- a/src/gromacs/mdlib/mdebin_bar.h +++ b/src/gromacs/mdlib/mdebin_bar.h @@ -3,7 +3,7 @@ * * 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. @@ -38,6 +38,8 @@ #ifndef _mdebin_bar_h #define _mdebin_bar_h +#include "gromacs/legacyheaders/mdebin.h" + #ifdef __cplusplus extern "C" { #endif diff --git a/src/gromacs/mdlib/minimize.c b/src/gromacs/mdlib/minimize.c index 69008f53fa..5255d544d1 100644 --- a/src/gromacs/mdlib/minimize.c +++ b/src/gromacs/mdlib/minimize.c @@ -34,51 +34,51 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" +#include #include #include -#include -#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 "force.h" -#include "mdrun.h" -#include "md_support.h" -#include "sim_util.h" -#include "domdec.h" -#include "mdatoms.h" -#include "ns.h" -#include "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/bonded-threading.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/md_support.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/sim_util.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/legacyheaders/vsite.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/topology/mtop_util.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" typedef struct { t_state s; @@ -773,7 +773,7 @@ static void evaluate_energy(FILE *fplog, t_commrec *cr, } /* Calculate long range corrections to pressure and energy */ - calc_dispcorr(fplog, inputrec, fr, count, top_global->natoms, ems->s.box, ems->s.lambda[efptVDW], + calc_dispcorr(inputrec, fr, top_global->natoms, ems->s.box, ems->s.lambda[efptVDW], pres, force_vir, &prescorr, &enercorr, &dvdlcorr); enerd->term[F_DISPCORR] = enercorr; enerd->term[F_EPOT] += enercorr; @@ -792,10 +792,6 @@ static void evaluate_energy(FILE *fplog, t_commrec *cr, ems->s.x, ems->f, ems->f, fr->bMolPBC, ems->s.box, ems->s.lambda[efptBONDED], &dvdl_constr, NULL, &shake_vir, nrnb, econqForceDispl, FALSE, 0, 0); - if (fr->bSepDVDL && fplog) - { - gmx_print_sepdvdl(fplog, "Constraints", t, dvdl_constr); - } enerd->term[F_DVDL_CONSTR] += dvdl_constr; m_add(force_vir, shake_vir, vir); wallcycle_stop(wcycle, ewcCONSTR); @@ -1792,7 +1788,6 @@ double do_lbfgs(FILE *fplog, t_commrec *cr, } stepsize = 1.0/fnorm; - converged = FALSE; /* Start the loop over BFGS steps. * Each successful step is counted, and we continue until diff --git a/src/gromacs/legacyheaders/types/nb_verlet.h b/src/gromacs/mdlib/nb_verlet.h similarity index 93% rename from src/gromacs/legacyheaders/types/nb_verlet.h rename to src/gromacs/mdlib/nb_verlet.h index aaeeaa8b36..8fa19d0042 100644 --- a/src/gromacs/legacyheaders/types/nb_verlet.h +++ b/src/gromacs/mdlib/nb_verlet.h @@ -36,15 +36,15 @@ #ifndef NB_VERLET_H #define NB_VERLET_H -#include "nbnxn_pairlist.h" -#include "nbnxn_cuda_types_ext.h" +#include "gromacs/legacyheaders/types/nbnxn_cuda_types_ext.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #ifdef __cplusplus extern "C" { #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, @@ -56,7 +56,7 @@ typedef enum 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 { @@ -88,7 +88,7 @@ enum { enbvClearFNo, enbvClearFYes }; -typedef struct { +typedef struct nonbonded_verlet_group_t { nbnxn_pairlist_set_t nbl_lists; /* pair list(s) */ nbnxn_atomdata_t *nbat; /* atom data */ int kernel_type; /* non-bonded kernel - see enum above */ @@ -96,7 +96,7 @@ typedef struct { } nonbonded_verlet_group_t; /* non-bonded data structure with Verlet-type cut-off */ -typedef struct { +typedef struct nonbonded_verlet_t { nbnxn_search_t nbs; /* n vs n atom pair searching data */ int ngrp; /* number of interaction groups */ nonbonded_verlet_group_t grp[2]; /* local and non-local interaction group */ diff --git a/src/gromacs/mdlib/nbnxn_atomdata.c b/src/gromacs/mdlib/nbnxn_atomdata.c index d271a8ce7a..ca0f4999bc 100644 --- a/src/gromacs/mdlib/nbnxn_atomdata.c +++ b/src/gromacs/mdlib/nbnxn_atomdata.c @@ -33,24 +33,30 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "nbnxn_atomdata.h" + +#include "config.h" +#include #include +#include #include -#include -#include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "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/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/mdlib/nbnxn_internal.h" +#include "gromacs/mdlib/nbnxn_search.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) { diff --git a/src/gromacs/mdlib/nbnxn_atomdata.h b/src/gromacs/mdlib/nbnxn_atomdata.h index 5855e5b50d..f3f50c6634 100644 --- a/src/gromacs/mdlib/nbnxn_atomdata.h +++ b/src/gromacs/mdlib/nbnxn_atomdata.h @@ -36,7 +36,8 @@ #ifndef _nbnxn_atomdata_h #define _nbnxn_atomdata_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/mdlib/nbnxn_consts.h b/src/gromacs/mdlib/nbnxn_consts.h index f5bd3d01ab..719e47b8f4 100644 --- a/src/gromacs/mdlib/nbnxn_consts.h +++ b/src/gromacs/mdlib/nbnxn_consts.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014 by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -63,7 +63,7 @@ extern "C" { #define NBNXN_GPU_CLUSTER_SIZE 8 /* With GPU kernels we group cluster pairs in 4 to optimize memory usage. - * To change this, also change nbnxn_cj4_t in include/types/nbnxn_pairlist.h. + * To change this, also change nbnxn_cj4_t in gromacs/mdlib/nbnxn_pairlist.h. */ #define NBNXN_GPU_JGROUP_SIZE 4 #define NBNXN_GPU_JGROUP_SIZE_2LOG 2 diff --git a/src/gromacs/mdlib/nbnxn_cuda/CMakeLists.txt b/src/gromacs/mdlib/nbnxn_cuda/CMakeLists.txt index 48a0712afa..2d5636b865 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/CMakeLists.txt +++ b/src/gromacs/mdlib/nbnxn_cuda/CMakeLists.txt @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2012,2013, by the GROMACS development team, led by +# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -34,10 +34,5 @@ if(GMX_GPU) file(GLOB CUDA_NB_SOURCES *.cu) - CUDA_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) - CUDA_ADD_LIBRARY(nbnxn_cuda STATIC ${CUDA_NB_SOURCES} - OPTIONS - RELWITHDEBINFO -g - DEBUG -g -D_DEBUG_=1) - target_link_libraries(nbnxn_cuda cuda_tools) + set(MDLIB_SOURCES ${MDLIB_SOURCES} ${CUDA_NB_SOURCES} PARENT_SCOPE) endif() diff --git a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu index d02e903410..c024f7b02c 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu @@ -32,12 +32,14 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nbnxn_cuda.h" + +#include "config.h" -#include #include +#include #if defined(_MSVC) #include @@ -45,21 +47,21 @@ #include -#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" - #ifdef TMPI_ATOMICS #include "thread_mpi/atomic.h" #endif +#include "gromacs/gmxlib/cuda_tools/cudautils.cuh" +#include "gromacs/legacyheaders/types/force_flags.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/utility/cstringutil.h" + #include "nbnxn_cuda_types.h" -#include "../../gmxlib/cuda_tools/cudautils.cuh" -#include "nbnxn_cuda.h" -#include "nbnxn_cuda_data_mgmt.h" #if defined TEXOBJ_SUPPORTED && __CUDA_ARCH__ >= 300 #define USE_TEXOBJ @@ -79,7 +81,7 @@ texture coulomb_tab_texref; #define CL_SIZE (NBNXN_GPU_CLUSTER_SIZE) /***** The kernels come here *****/ -#include "nbnxn_cuda_kernel_utils.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh" /* Top-level kernel generation: will generate through multiple inclusion the * following flavors for all kernels: @@ -89,19 +91,19 @@ texture coulomb_tab_texref; * - force and energy output with pair list pruning. */ /** Force only **/ -#include "nbnxn_cuda_kernels.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh" /** Force & energy **/ #define CALC_ENERGIES -#include "nbnxn_cuda_kernels.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh" #undef CALC_ENERGIES /*** Pair-list pruning kernels ***/ /** Force only **/ #define PRUNE_NBL -#include "nbnxn_cuda_kernels.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh" /** Force & energy **/ #define CALC_ENERGIES -#include "nbnxn_cuda_kernels.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh" #undef CALC_ENERGIES #undef PRUNE_NBL @@ -714,18 +716,18 @@ void nbnxn_cuda_set_cacheconfig(cuda_dev_info_t *devinfo) 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"); diff --git a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.h b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.h index 994738f627..174a9054af 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.h +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.h @@ -32,16 +32,13 @@ * 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 NBNXN_CUDA_H #define NBNXN_CUDA_H -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" -#include "types/nbnxn_cuda_types_ext.h" -#include "types/simple.h" +#include "gromacs/legacyheaders/types/nbnxn_cuda_types_ext.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef GMX_GPU #define FUNC_TERM ; @@ -53,7 +50,11 @@ extern "C" { #endif -/*! Launch asynchronously the nonbonded force calculations. +struct nbnxn_atomdata_t; + +/*! \brief + * Launch asynchronously the nonbonded force calculations. + * * This consists of the following (async) steps launched: * - upload x and q; * - upload shift vector; @@ -61,29 +62,31 @@ extern "C" { * The local and non-local interaction calculations are launched in two * separate streams. */ -void nbnxn_cuda_launch_kernel(nbnxn_cuda_ptr_t gmx_unused cu_nb, - const nbnxn_atomdata_t gmx_unused *nbdata, - int gmx_unused flags, - int gmx_unused iloc) FUNC_TERM +void nbnxn_cuda_launch_kernel(nbnxn_cuda_ptr_t gmx_unused cu_nb, + const struct nbnxn_atomdata_t gmx_unused *nbdata, + 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 +void nbnxn_cuda_launch_cpyback(nbnxn_cuda_ptr_t gmx_unused cu_nb, + const struct 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, - int gmx_unused flags, - int gmx_unused aloc, - real gmx_unused *e_lj, - real gmx_unused *e_el, - rvec gmx_unused *fshift) FUNC_TERM +void nbnxn_cuda_wait_gpu(nbnxn_cuda_ptr_t gmx_unused cu_nb, + const struct nbnxn_atomdata_t gmx_unused *nbatom, + int gmx_unused flags, + int gmx_unused aloc, + real gmx_unused *e_lj, + real gmx_unused *e_el, + rvec gmx_unused *fshift) FUNC_TERM #ifdef __cplusplus } diff --git a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu index 9200773cb8..6612d13097 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu @@ -32,35 +32,37 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nbnxn_cuda_data_mgmt.h" + +#include "config.h" #include #include -#include #include +#include #include -#include "gmx_fatal.h" +#include "gromacs/gmxlib/cuda_tools/cudautils.cuh" +#include "gromacs/legacyheaders/gmx_detect_hardware.h" +#include "gromacs/legacyheaders/gpu_utils.h" +#include "gromacs/legacyheaders/pmalloc_cuda.h" +#include "gromacs/legacyheaders/tables.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/enums.h" +#include "gromacs/legacyheaders/types/force_flags.h" +#include "gromacs/legacyheaders/types/interaction_const.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_consts.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" -#include "tables.h" -#include "typedefs.h" -#include "types/enums.h" -#include "types/nb_verlet.h" -#include "types/interaction_const.h" -#include "types/force_flags.h" -#include "../nbnxn_consts.h" -#include "gmx_detect_hardware.h" #include "nbnxn_cuda_types.h" -#include "../../gmxlib/cuda_tools/cudautils.cuh" -#include "nbnxn_cuda_data_mgmt.h" -#include "pmalloc_cuda.h" -#include "gpu_utils.h" - -#include "gromacs/utility/common.h" static bool bUseCudaEventBlockingSync = false; /* makes the CPU thread block */ @@ -426,10 +428,15 @@ static void init_nbparam(cu_nbparam_t *nbp, /*! Re-generate the GPU Ewald force table, resets rlist, and update the * electrostatic type switching to twin cut-off (or back) if needed. */ -void nbnxn_cuda_pme_loadbal_update_param(nbnxn_cuda_ptr_t cu_nb, - const interaction_const_t *ic) +void nbnxn_cuda_pme_loadbal_update_param(const nonbonded_verlet_t *nbv, + const interaction_const_t *ic) { - cu_nbparam_t *nbp = cu_nb->nbparam; + if (!nbv || nbv->grp[0].kernel_type != nbnxnk8x8x8_CUDA) + { + return; + } + nbnxn_cuda_ptr_t cu_nb = nbv->cu_nbv; + cu_nbparam_t *nbp = cu_nb->nbparam; set_cutoff_parameters(nbp, ic); @@ -1077,11 +1084,11 @@ wallclock_gpu_t * nbnxn_cuda_get_timings(nbnxn_cuda_ptr_t cu_nb) return (cu_nb != NULL && cu_nb->bDoTime) ? cu_nb->timings : NULL; } -void nbnxn_cuda_reset_timings(nbnxn_cuda_ptr_t cu_nb) +void nbnxn_cuda_reset_timings(nonbonded_verlet_t* nbv) { - if (cu_nb->bDoTime) + if (nbv->cu_nbv && nbv->cu_nbv->bDoTime) { - init_timings(cu_nb->timings); + init_timings(nbv->cu_nbv->timings); } } diff --git a/src/gromacs/legacyheaders/nbnxn_cuda_data_mgmt.h b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.h similarity index 68% rename from src/gromacs/legacyheaders/nbnxn_cuda_data_mgmt.h rename to src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.h index 62cdfe6cea..00cac2ee45 100644 --- a/src/gromacs/legacyheaders/nbnxn_cuda_data_mgmt.h +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.h @@ -36,11 +36,12 @@ #ifndef NBNXN_CUDA_DATA_MGMT_H #define NBNXN_CUDA_DATA_MGMT_H -#include "types/simple.h" -#include "types/interaction_const.h" -#include "types/nbnxn_cuda_types_ext.h" -#include "types/hw_info.h" -#include "types/nb_verlet.h" +#include "config.h" + +#include "gromacs/legacyheaders/types/hw_info.h" +#include "gromacs/legacyheaders/types/interaction_const.h" +#include "gromacs/legacyheaders/types/nbnxn_cuda_types_ext.h" +#include "gromacs/legacyheaders/types/simple.h" #ifdef GMX_GPU #define FUNC_TERM ; @@ -54,7 +55,11 @@ extern "C" { #endif -/*! Initializes the data structures related to CUDA nonbonded calculations. */ +struct nonbonded_verlet_group_t; +struct nbnxn_pairlist_t; +struct nbnxn_atomdata_t; + +/** 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, @@ -64,43 +69,43 @@ void nbnxn_cuda_init(FILE gmx_unused *fplog, /* 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 +void nbnxn_cuda_init_const(nbnxn_cuda_ptr_t gmx_unused cu_nb, + const interaction_const_t gmx_unused *ic, + const struct 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 +void nbnxn_cuda_init_pairlist(nbnxn_cuda_ptr_t gmx_unused cu_nb, + const struct 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_init_atomdata(const nbnxn_cuda_ptr_t gmx_unused cu_nb, + const struct nbnxn_atomdata_t gmx_unused *atomdata) FUNC_TERM /*! \brief Update parameters during PP-PME load balancing. */ FUNC_QUALIFIER -void nbnxn_cuda_pme_loadbal_update_param(nbnxn_cuda_ptr_t gmx_unused cu_nb, - const interaction_const_t gmx_unused *ic) FUNC_TERM +void nbnxn_cuda_pme_loadbal_update_param(const struct nonbonded_verlet_t gmx_unused *nbv, + 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 +void nbnxn_cuda_upload_shiftvec(nbnxn_cuda_ptr_t gmx_unused cu_nb, + const struct 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 @@ -111,12 +116,12 @@ wallclock_gpu_t * nbnxn_cuda_get_timings(nbnxn_cuda_ptr_t gmx_unused cu_nb) } #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 +void nbnxn_cuda_reset_timings(struct nonbonded_verlet_t gmx_unused *nbv) 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 @@ -127,7 +132,7 @@ int nbnxn_cuda_min_ci_balanced(nbnxn_cuda_ptr_t gmx_unused cu_nb) } #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 diff --git a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh index 84634d5e7e..43ebddb034 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh @@ -34,6 +34,7 @@ */ #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. diff --git a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh index 7ea591db30..ac8a530f2c 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh @@ -38,7 +38,7 @@ * code that is in double precision. */ -#include "../../gmxlib/cuda_tools/vectype_ops.cuh" +#include "gromacs/gmxlib/cuda_tools/vectype_ops.cuh" #ifndef NBNXN_CUDA_KERNEL_UTILS_CUH #define NBNXN_CUDA_KERNEL_UTILS_CUH diff --git a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh index 3bdb17f8fe..3b37869e6d 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh @@ -52,30 +52,30 @@ /* cut-off + V shift LJ */ #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJ ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w geometric combination rules */ #define LJ_EWALD_COMB_GEOM #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJEwCombGeom ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_GEOM #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w LB combination rules */ #define LJ_EWALD_COMB_LB #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJEwCombLB ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_LB #undef NB_KERNEL_FUNC_NAME /* F switch LJ */ #define LJ_FORCE_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJFsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_FORCE_SWITCH #undef NB_KERNEL_FUNC_NAME /* V switch LJ */ #define LJ_POT_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJPsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_POT_SWITCH #undef NB_KERNEL_FUNC_NAME @@ -88,30 +88,30 @@ /* cut-off + V shift LJ */ #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJ ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w geometric combination rules */ #define LJ_EWALD_COMB_GEOM #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJEwCombGeom ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_GEOM #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w LB combination rules */ #define LJ_EWALD_COMB_LB #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJEwCombLB ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_LB #undef NB_KERNEL_FUNC_NAME /* F switch LJ */ #define LJ_FORCE_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJFsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_FORCE_SWITCH #undef NB_KERNEL_FUNC_NAME /* V switch LJ */ #define LJ_POT_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJPsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_POT_SWITCH #undef NB_KERNEL_FUNC_NAME @@ -124,30 +124,30 @@ /* cut-off + V shift LJ */ #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJ ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w geometric combination rules */ #define LJ_EWALD_COMB_GEOM #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJEwCombGeom ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_GEOM #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w LB combination rules */ #define LJ_EWALD_COMB_LB #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJEwCombLB ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_LB #undef NB_KERNEL_FUNC_NAME /* F switch LJ */ #define LJ_FORCE_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJFsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_FORCE_SWITCH #undef NB_KERNEL_FUNC_NAME /* V switch LJ */ #define LJ_POT_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJPsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_POT_SWITCH #undef NB_KERNEL_FUNC_NAME @@ -161,30 +161,30 @@ /* cut-off + V shift LJ */ #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJ ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w geometric combination rules */ #define LJ_EWALD_COMB_GEOM #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJEwCombGeom ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_GEOM #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w LB combination rules */ #define LJ_EWALD_COMB_LB #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJEwCombLB ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_LB #undef NB_KERNEL_FUNC_NAME /* F switch LJ */ #define LJ_FORCE_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJFsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_FORCE_SWITCH #undef NB_KERNEL_FUNC_NAME /* V switch LJ */ #define LJ_POT_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJPsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_POT_SWITCH #undef NB_KERNEL_FUNC_NAME @@ -197,30 +197,30 @@ /* cut-off + V shift LJ */ #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJ ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w geometric combination rules */ #define LJ_EWALD_COMB_GEOM #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJEwCombGeom ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_GEOM #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w LB combination rules */ #define LJ_EWALD_COMB_LB #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJEwCombLB ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_LB #undef NB_KERNEL_FUNC_NAME /* F switch LJ */ #define LJ_FORCE_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJFsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_FORCE_SWITCH #undef NB_KERNEL_FUNC_NAME /* V switch LJ */ #define LJ_POT_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJPsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_POT_SWITCH #undef NB_KERNEL_FUNC_NAME @@ -233,30 +233,30 @@ /* cut-off + V shift LJ */ #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJ ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w geometric combination rules */ #define LJ_EWALD_COMB_GEOM #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJEwCombGeom ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_GEOM #undef NB_KERNEL_FUNC_NAME /* LJ-Ewald w LB combination rules */ #define LJ_EWALD_COMB_LB #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJEwCombLB ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_EWALD_COMB_LB #undef NB_KERNEL_FUNC_NAME /* F switch LJ */ #define LJ_FORCE_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJFsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_FORCE_SWITCH #undef NB_KERNEL_FUNC_NAME /* V switch LJ */ #define LJ_POT_SWITCH #define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJPsw ## __VA_ARGS__ -#include "nbnxn_cuda_kernel.cuh" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh" #undef LJ_POT_SWITCH #undef NB_KERNEL_FUNC_NAME diff --git a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_types.h b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_types.h index 0fa40d2466..fe186eda89 100644 --- a/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_types.h +++ b/src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_types.h @@ -46,10 +46,10 @@ #ifndef NBNXN_CUDA_TYPES_H #define NBNXN_CUDA_TYPES_H -#include "types/interaction_const.h" -#include "types/nbnxn_pairlist.h" -#include "types/nbnxn_cuda_types_ext.h" -#include "../../gmxlib/cuda_tools/cudautils.cuh" +#include "gromacs/gmxlib/cuda_tools/cudautils.cuh" +#include "gromacs/legacyheaders/types/interaction_const.h" +#include "gromacs/legacyheaders/types/nbnxn_cuda_types_ext.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" /* CUDA versions from 5.0 above support texture objects. */ #if CUDA_VERSION >= 5000 diff --git a/src/gromacs/mdlib/nbnxn_internal.h b/src/gromacs/mdlib/nbnxn_internal.h index fc42e60935..909a4b07bb 100644 --- a/src/gromacs/mdlib/nbnxn_internal.h +++ b/src/gromacs/mdlib/nbnxn_internal.h @@ -36,9 +36,10 @@ #ifndef _nbnxn_internal_h #define _nbnxn_internal_h -#include "typedefs.h" -#include "nbnxn_simd.h" -#include "domdec.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" +#include "gromacs/mdlib/nbnxn_simd.h" #include "gromacs/timing/cyclecounter.h" diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.c b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.c index 7ce061ff21..2fded68209 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.c +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -32,12 +32,12 @@ * 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 -#endif +#include "gmxpre.h" #include "nbnxn_kernel_common.h" +#include "gromacs/pbcutil/ishift.h" + static void clear_f_all(const nbnxn_atomdata_t *nbat, real *f) { diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h index 7855b310fe..69d2423780 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -36,7 +36,8 @@ #ifndef _nbnxn_kernel_common_h #define _nbnxn_kernel_common_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/make_verlet_simd_kernel_files.py b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/make_verlet_simd_kernel_files.py index b3fdecc014..b7740bfcaf 100755 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/make_verlet_simd_kernel_files.py +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/make_verlet_simd_kernel_files.py @@ -75,6 +75,7 @@ import re import sys import os +os.chdir(os.path.dirname(os.path.abspath(__file__))) import collections # Requires Python 2.7 sys.path.append('../../../../../admin') from copyright import create_copyright_header @@ -163,6 +164,7 @@ for type in VerletKernelTypeDict: KernelNamePrefix = 'nbnxn_kernel' KernelsName = "{0}_simd_{1}".format(KernelNamePrefix,type) KernelsHeaderFileName = "{0}.h".format(KernelsName,type) + KernelsHeaderPathName = "gromacs/mdlib/nbnxn_kernels/simd_{0}/{1}".format(type,KernelsHeaderFileName) KernelFunctionLookupTable = {} KernelDeclarations = '' KernelTemplate = read_kernel_template("{0}_kernel.c.pre".format(KernelsName)) @@ -189,7 +191,7 @@ for type in VerletKernelTypeDict: ElectrostaticsDict[elec]['define'], VdwTreatmentDict[ljtreat]['define'], EnergiesComputationDict[ener]['define'], - KernelsHeaderFileName, + KernelsHeaderPathName, KernelName, " " * (len(KernelName) + 1), VerletKernelTypeDict[type]['UnrollSize'], diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_2xnn_kernel.c.pre b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_2xnn_kernel.c.pre index 3aa7ae025e..2dbae1b851 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_2xnn_kernel.c.pre +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_2xnn_kernel.c.pre @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -38,6 +38,8 @@ * {0}, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE {7} #include "{4}" @@ -46,7 +48,7 @@ {3} #ifdef {0} -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* {0} */ #ifdef CALC_ENERGIES @@ -69,7 +71,7 @@ void {6}real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef {0} -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* {0} */ {{ /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_4xn_kernel.c.pre b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_4xn_kernel.c.pre index 622f011f53..69872b938c 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_4xn_kernel.c.pre +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_4xn_kernel.c.pre @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -38,6 +38,8 @@ * {0}, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE {7} #include "{4}" @@ -46,7 +48,7 @@ {3} #ifdef {0} -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* {0} */ #ifdef CALC_ENERGIES @@ -69,7 +71,7 @@ void {6}real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef {0} -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* {0} */ {{ /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.c.pre b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.c.pre index 2aa4fa9fb5..5e410cdecc 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.c.pre +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.c.pre @@ -32,12 +32,12 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" +#include "config.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nb_verlet.h" #include "gromacs/mdlib/nbnxn_simd.h" #ifdef {0} @@ -47,10 +47,11 @@ {2} #define GMX_SIMD_J_UNROLL_SIZE {3} #include "{4}" -#include "../nbnxn_kernel_common.h" -#include "gmx_omp_nthreads.h" -#include "types/force_flags.h" -#include "gmx_fatal.h" + +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/types/force_flags.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h" +#include "gromacs/utility/fatalerror.h" /*! \brief Kinds of electrostatic treatments in SIMD Verlet kernels */ @@ -117,7 +118,7 @@ reduce_group_energies(int ng, int ng_2log, #else /* {0} */ -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" #endif /* {0} */ diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.h.pre b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.h.pre index e3fa05fb8f..22ada3b193 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.h.pre +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_file_generator/nbnxn_kernel_simd_template.h.pre @@ -32,8 +32,8 @@ * 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" - +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #include "gromacs/mdlib/nbnxn_simd.h" #ifdef __cplusplus diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.c b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.c index 24ef4a96b0..5e8ac7ca2a 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.c +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.c @@ -32,20 +32,23 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nbnxn_kernel_gpu_ref.h" + +#include "config.h" #include -#include "types/simple.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" #include "gromacs/math/utilities.h" -#include "vec.h" -#include "typedefs.h" -#include "force.h" -#include "nbnxn_kernel_gpu_ref.h" -#include "../nbnxn_consts.h" -#include "nbnxn_kernel_common.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h" +#include "gromacs/pbcutil/ishift.h" #define NCL_PER_SUPERCL (NBNXN_GPU_NCLUSTER_PER_SUPERCLUSTER) #define CL_SIZE (NBNXN_GPU_CLUSTER_SIZE) diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.h index 18f4e9d01f..3084a57210 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -36,7 +36,8 @@ #ifndef _nbnxn_kernel_gpu_ref_h #define _nbnxn_kernel_gpu_ref_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.c b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.c index a104652965..4cad2a2f56 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.c +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.c @@ -32,21 +32,24 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nbnxn_kernel_ref.h" + +#include "config.h" -#include #include +#include -#include "typedefs.h" -#include "vec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h" +#include "gromacs/pbcutil/ishift.h" #include "gromacs/utility/smalloc.h" -#include "force.h" -#include "gmx_omp_nthreads.h" -#include "nbnxn_kernel_ref.h" -#include "../nbnxn_consts.h" -#include "nbnxn_kernel_common.h" /*! \brief Typedefs for declaring lookup tables of kernel functions. */ @@ -70,21 +73,21 @@ typedef void (*p_nbk_func_ener)(const nbnxn_pairlist_t *nbl, /* Analytical reaction-field kernels */ #define CALC_COUL_RF #define LJ_CUT -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_CUT #define LJ_FORCE_SWITCH -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_FORCE_SWITCH #define LJ_POT_SWITCH -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_POT_SWITCH #define LJ_EWALD #define LJ_CUT #define LJ_EWALD_COMB_GEOM -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_EWALD_COMB_GEOM #define LJ_EWALD_COMB_LB -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_EWALD_COMB_LB #undef LJ_CUT #undef LJ_EWALD @@ -94,42 +97,42 @@ typedef void (*p_nbk_func_ener)(const nbnxn_pairlist_t *nbl, /* Tabulated exclusion interaction electrostatics kernels */ #define CALC_COUL_TAB #define LJ_CUT -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_CUT #define LJ_FORCE_SWITCH -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_FORCE_SWITCH #define LJ_POT_SWITCH -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_POT_SWITCH #define LJ_EWALD #define LJ_CUT #define LJ_EWALD_COMB_GEOM -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_EWALD_COMB_GEOM #define LJ_EWALD_COMB_LB -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_EWALD_COMB_LB #undef LJ_CUT #undef LJ_EWALD /* Twin-range cut-off kernels */ #define VDW_CUTOFF_CHECK #define LJ_CUT -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_CUT #define LJ_FORCE_SWITCH -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_FORCE_SWITCH #define LJ_POT_SWITCH -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_POT_SWITCH #define LJ_EWALD #define LJ_CUT #define LJ_EWALD_COMB_GEOM -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_EWALD_COMB_GEOM #define LJ_EWALD_COMB_LB -#include "nbnxn_kernel_ref_includes.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h" #undef LJ_EWALD_COMB_LB #undef LJ_CUT #undef LJ_EWALD diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.h index bfcfee5b77..d8d4df1eed 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -36,7 +36,8 @@ #ifndef _nbnxn_kernel_ref_h #define _nbnxn_kernel_ref_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h index 91447143a8..099a9079a4 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h @@ -39,16 +39,16 @@ */ /* Include the force only kernels */ -#include "nbnxn_kernel_ref_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h" /* Include the force+energy kernels */ #define CALC_ENERGIES -#include "nbnxn_kernel_ref_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h" #undef CALC_ENERGIES /* Include the force+energygroups kernels */ #define CALC_ENERGIES #define ENERGY_GROUPS -#include "nbnxn_kernel_ref_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h" #undef ENERGY_GROUPS #undef CALC_ENERGIES diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h index 955e708fae..e0cfcef8bd 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h @@ -332,20 +332,19 @@ NBK_FUNC_NAME(_VgrpF) { #define CALC_COULOMB #define HALF_LJ -#include "nbnxn_kernel_ref_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h" #undef HALF_LJ #undef CALC_COULOMB } - /* cppcheck-suppress duplicateBranch */ else if (do_coul) { #define CALC_COULOMB -#include "nbnxn_kernel_ref_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h" #undef CALC_COULOMB } else { -#include "nbnxn_kernel_ref_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h" } #undef CHECK_EXCLS cjind++; @@ -357,20 +356,19 @@ NBK_FUNC_NAME(_VgrpF) { #define CALC_COULOMB #define HALF_LJ -#include "nbnxn_kernel_ref_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h" #undef HALF_LJ #undef CALC_COULOMB } - /* cppcheck-suppress duplicateBranch */ else if (do_coul) { #define CALC_COULOMB -#include "nbnxn_kernel_ref_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h" #undef CALC_COULOMB } else { -#include "nbnxn_kernel_ref_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h" } } ninner += cjind1 - cjind0; diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils.h index 6eb97445b0..b5167b1fa8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils.h @@ -35,6 +35,8 @@ #ifndef _nbnxn_kernel_simd_utils_h_ #define _nbnxn_kernel_simd_utils_h_ +#include "config.h" + #include "gromacs/legacyheaders/types/simple.h" /*! \brief Provides hardware-specific utility routines for the SIMD kernels. @@ -63,7 +65,7 @@ prepare_table_load_buffer(const int gmx_unused *array) return NULL; } -#include "nbnxn_kernel_simd_utils_ref.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_ref.h" #else /* GMX_SIMD_REFERENCE */ @@ -94,17 +96,17 @@ prepare_table_load_buffer(int gmx_unused *array) #ifdef GMX_DOUBLE #if GMX_SIMD_REAL_WIDTH == 2 -#include "nbnxn_kernel_simd_utils_x86_128d.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_128d.h" #else -#include "nbnxn_kernel_simd_utils_x86_256d.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_256d.h" #endif #else /* GMX_DOUBLE */ /* In single precision aligned FDV0 table loads are optimal */ #define TAB_FDV0 #if GMX_SIMD_REAL_WIDTH == 4 -#include "nbnxn_kernel_simd_utils_x86_128s.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_128s.h" #else -#include "nbnxn_kernel_simd_utils_x86_256s.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_256s.h" #endif #endif /* GMX_DOUBLE */ @@ -123,11 +125,11 @@ static const int nbfp_stride = GMX_SIMD_REAL_WIDTH; #endif #ifdef GMX_SIMD_IBM_QPX -#include "nbnxn_kernel_simd_utils_ibm_qpx.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_ibm_qpx.h" #endif /* GMX_SIMD_IBM_QPX */ #ifdef __MIC__ -#include "nbnxn_kernel_simd_utils_x86_mic.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_mic.h" #endif #endif /* GMX_TARGET_X86 && !__MIC__ */ diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_128s.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_128s.h index c90e4bb803..589dafa320 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_128s.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_128s.h @@ -35,6 +35,8 @@ #ifndef _nbnxn_kernel_simd_utils_x86_128s_h_ #define _nbnxn_kernel_simd_utils_x86_128s_h_ +#include "config.h" + #include "gromacs/legacyheaders/types/simple.h" /* This files contains all functions/macros for the SIMD kernels diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_256s.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_256s.h index 51dd883ed2..5caee76a48 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_256s.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils_x86_256s.h @@ -35,6 +35,8 @@ #ifndef _nbnxn_kernel_simd_utils_x86_256s_h_ #define _nbnxn_kernel_simd_utils_x86_256s_h_ +#include "config.h" + /* This files contains all functions/macros for the SIMD kernels * which have explicit dependencies on the j-cluster size and/or SIMD-width. * The functionality which depends on the j-cluster size is: diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd128.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd128.h index f22dbdb368..980f4dfb16 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd128.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd128.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef _nbnxn_kernel_x86_simd128_h #define _nbnxn_kernel_x86_simd128_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd256.h b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd256.h index 36d921b127..75ef5d204b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd256.h +++ b/src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_x86_simd256.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,7 +35,7 @@ #ifndef _nbnxn_kernel_x86_simd256_h #define _nbnxn_kernel_x86_simd256_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn.c index 76b056ec75..af3cddcaba 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_un real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn.c index 44671ee1ad..cab3a81e6c 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn.c index 7f1513fab6..3ea52e5713 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t gm real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn.c index 369bfbfe28..ba6c3484e0 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn.c index 61d29bba95..8c1f1bf319 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn.c index 769037be60..bb98a336b9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn.c index bb32524cb1..39e8aab2fc 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn.c index 5c53c287bb..349b54084e 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c index df6ca901bb..6be1d1e476 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -55,7 +57,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -78,7 +80,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn.c index dc919db9e1..f078e47607 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn.c index 42650bcfc8..d2bf932364 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn.c index 3ba6f95959..1e2ba35641 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn.c index c1f0727b92..18247249a3 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn.c index c627bacf2c..93bd804307 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn.c index c83c7a6549..cceaf2eb5d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn.c index fe72d654c0..36c340a8f9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn.c index d60902913c..87450fcf62 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn(const nbnxn_pairlist_t gmx_unused *n real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn.c index 4d4db8b382..7c2637c26a 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn.c index 9a35731fc1..f5fe39ca11 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_unused *n real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn.c index 92b0afbd10..2b32f242e7 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn.c index 26c75477df..e79107a0c9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn.c index ea8cf655db..c838ad2181 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn.c index ad64932b61..f5eaa4faaa 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn.c index ba3512160c..ecae99f539 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn.c index cb67816b7e..69f5ef4d74 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn.c index f71bb45808..75c875e283 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn.c index a57df6e663..b08bcd4e00 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn.c index 59f709a399..bd57798ddd 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn.c index c5c4c14ef6..37e3775552 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn.c index 885f4f4f28..0038130fdd 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_FORCE_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn.c index 4ff834e209..b279d7ccb1 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn.c index 926a8b6bbb..6e28781ed5 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn.c index 0997b57c5b..b804656537 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_POT_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_F_2xnn.c index 68aa2b3963..03fb7b24bb 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJ_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn.c index 71d77c1255..a61e355b2f 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn.c index a2e613257a..a1793eb96d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn.c index 16448b72ba..05118e2c62 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn(const nbnxn_pairlist_t gmx real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn.c index 22315ee333..b05cbdc30a 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn(const nbnxn_pairlist_t gm real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn.c index 64ce413cc9..626f0145b8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn.c index 5c89c4fb3b..7cdb2eaad9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn.c index d4e17ecfdd..cf6d3cd48c 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn.c index 3c75e0801b..718601a87e 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn(const nbnxn_pairlist_t g real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn.c index ae5d693ffc..e661ec3b3d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn(const nbnxn_pairlist_t g real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn.c index 5d991b37e6..f231bafded 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn(const nbnxn_pairlist_t real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c index bc09bbddab..7a57912fbb 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -55,7 +57,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -78,7 +80,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn.c index bd8436c676..29d3554d0b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn.c index 28b27d3a8a..e19ba53e1d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn.c index 2077c6dd05..0098e41491 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn.c index a6e4f45b44..8d25dfeb6a 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn.c index 2972fcfe35..145d00dea4 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn.c index d267d8e678..4f6103b846 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn.c index 118dc553fb..3f12026d74 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn.c index e04c3d911e..36efbb2bce 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn.c index e0af6c8177..4d04f3e872 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn.c index 78ecf6966c..56eaa69c99 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn.c index f2136020bd..3d7fbb36db 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn.c index 2ddcb859b5..575058440d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t gmx_un real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn.c index 0182f56c95..b4a0a96dd6 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn.c index 23ed646115..0f06e7e152 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn.c index 54c5d56a28..3fb2510be2 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn.c index 2fa3ed90af..7b0768c943 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn.c index ba086c8a92..b32a7d11e2 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn.c index 7906b80fe1..004a236bfb 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn.c index 18f5ab376c..40e218ad71 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn.c index e61100d102..11e1d686f4 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn.c index 2276f91a5c..c4a8f35fab 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_FORCE_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn.c index ef13e59a2e..f24498ee3d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn.c index c7f15d611c..737daff0ff 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn.c index c10f52cad3..a18b5ccf61 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_POT_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn.c index def30cfc19..11ff86c8d8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn.c index a996b1a885..d268f01207 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn.c index 459729abbd..44b98c55f5 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn.c index 42222b7bb7..ceb0bde4f5 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_unused *n real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn.c index f6e9e6fffc..d3ad5b91a8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn.c index 0d03367d14..0044b4250d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn.c index 7bd991cf80..41374a7f00 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn.c index 8b7415b0e5..b60766f94e 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn.c index 44cc1e9a15..aa1444145e 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn.c index e220d69377..13441f0e39 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn.c index 630ec030dd..df538906e0 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn.c index c18876d614..a1a7c412bd 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn.c index d6600ae047..a25c2bb9a9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn.c index edf6fddfc0..43ddf01acb 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn.c index e43052880d..2a56307b2f 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_FORCE_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn.c index 198955942f..6e58109513 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn.c index ccb52a8b1f..a29ad7969e 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn.c index bec4d4c39a..f5d7c317b5 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_POT_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_F_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_F_2xnn.c index 9eec2b3032..18ccd0fca6 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_F_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_F_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJ_F_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn.c index 46a2417fd3..1f8fb7dc78 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn.c index 90b38d6263..b6d89da0c7 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_2XNN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 2 -#include "nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h" #endif /* GMX_NBNXN_SIMD_2XNN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_kernel_simd_2xnn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h" #else /* GMX_NBNXN_SIMD_2XNN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.c index 35181d43eb..1d8567b206 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.c @@ -37,12 +37,12 @@ * kernel type 2xnn. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" -#include "typedefs.h" +#include "config.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nb_verlet.h" #include "gromacs/mdlib/nbnxn_simd.h" #ifdef GMX_NBNXN_SIMD_2XNN @@ -56,10 +56,11 @@ #define GMX_SIMD_J_UNROLL_SIZE 2 #include "nbnxn_kernel_simd_2xnn.h" -#include "../nbnxn_kernel_common.h" -#include "gmx_omp_nthreads.h" -#include "types/force_flags.h" -#include "gmx_fatal.h" + +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/types/force_flags.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h" +#include "gromacs/utility/fatalerror.h" /*! \brief Kinds of electrostatic treatments in SIMD Verlet kernels */ @@ -252,7 +253,7 @@ reduce_group_energies(int ng, int ng_2log, #else /* GMX_NBNXN_SIMD_2XNN */ -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" #endif /* GMX_NBNXN_SIMD_2XNN */ diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h index c7ec9bcbd7..f554134cbe 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h @@ -37,8 +37,8 @@ * kernel type 2xnn. */ -#include "typedefs.h" - +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #include "gromacs/mdlib/nbnxn_simd.h" #ifdef __cplusplus diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h index 698c5d389c..3f3abe8308 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h @@ -32,10 +32,11 @@ * 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/mdlib/nbnxn_consts.h" +#include "gromacs/pbcutil/ishift.h" #include "gromacs/simd/simd.h" #include "gromacs/simd/simd_math.h" #include "gromacs/simd/vector_operations.h" -#include "../../nbnxn_consts.h" #ifdef CALC_COUL_EWALD #include "gromacs/math/utilities.h" #endif @@ -48,9 +49,9 @@ #define UNROLLJ (GMX_SIMD_REAL_WIDTH/GMX_SIMD_J_UNROLL_SIZE) /* The stride of all the atom data arrays is equal to half the SIMD width */ -#define STRIDE (GMX_SIMD_REAL_WIDTH/GMX_SIMD_J_UNROLL_SIZE) +#define STRIDE UNROLLJ -#include "../nbnxn_kernel_simd_utils.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils.h" static gmx_inline void gmx_simdcall gmx_load_simd_2xnn_interactions(int excl, diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h index c051d7e763..2f45b53baf 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h @@ -247,17 +247,9 @@ /* Atom indices (of the first atom in the cluster) */ aj = cj*UNROLLJ; #if defined CALC_LJ && (defined LJ_COMB_GEOM || defined LJ_COMB_LB || defined LJ_EWALD_GEOM) -#if UNROLLJ == STRIDE aj2 = aj*2; -#else - aj2 = (cj>>1)*2*STRIDE + (cj & 1)*UNROLLJ; -#endif #endif -#if UNROLLJ == STRIDE ajx = aj*DIM; -#else - ajx = (cj>>1)*DIM*STRIDE + (cj & 1)*UNROLLJ; -#endif ajy = ajx + STRIDE; ajz = ajy + STRIDE; diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h index 590c09547d..21a63ab4aa 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h @@ -603,13 +603,13 @@ #define CHECK_EXCLS while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL) { -#include "nbnxn_kernel_simd_2xnn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h" cjind++; } #undef CHECK_EXCLS for (; (cjind < cjind1); cjind++) { -#include "nbnxn_kernel_simd_2xnn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h" } #undef HALF_LJ #undef CALC_COULOMB @@ -621,13 +621,13 @@ #define CHECK_EXCLS while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL) { -#include "nbnxn_kernel_simd_2xnn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h" cjind++; } #undef CHECK_EXCLS for (; (cjind < cjind1); cjind++) { -#include "nbnxn_kernel_simd_2xnn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h" } #undef CALC_COULOMB } @@ -637,13 +637,13 @@ #define CHECK_EXCLS while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL) { -#include "nbnxn_kernel_simd_2xnn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h" cjind++; } #undef CHECK_EXCLS for (; (cjind < cjind1); cjind++) { -#include "nbnxn_kernel_simd_2xnn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h" } } #undef CALC_LJ diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn.c index 8e0ce57385..c25e20657b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn.c index e877eea039..3d656ca578 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_un real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn.c index 079eba6952..a33780c1f8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn(const nbnxn_pairlist_t gmx real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn.c index 6da840273a..992b1d928e 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn.c index db2d2ebef9..51864b3777 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn.c index 6ea91013e8..35a0c18461 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn.c index 85d4cb9689..5976fd8fbf 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn.c index 55fd27a07a..1bebf3b7a8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c index fe173b32a0..8d27735f0d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -55,7 +57,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -78,7 +80,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn(const nbnxn_pairlist_t g real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn.c index 199fb5c623..af75543a08 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn.c index aefb1ae61a..493b5522d5 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn.c index 1f21e2613a..fb0f0ba423 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn.c index 8f95cb7e1a..5a7f31fe6d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn.c index f7fb96448e..17d45a63ea 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn.c index bb9c907dd0..c64ef620b8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn.c index 20ab0c5e14..e16b387454 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn.c index 5e982d5eb3..0ea8f4edaf 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn.c index b68109cde3..defafbd699 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn.c index 8c59343b3e..3ca1f1aeeb 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn.c index 014a837702..6f4d2ad3a0 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_unused *n real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn.c index ae3950f048..ca22c74c83 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn.c index 9045ae46c9..c94fb2e3cc 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn.c index 9020fd4d0b..ca440173af 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn.c index 806e259223..69bad94b77 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn.c index eb6df02565..f90727ca24 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn.c index db3f1cd84b..23b5a598ca 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn.c index 487d76842e..8d30e9bebe 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn.c index ea145640cc..1da4a2bf55 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn.c index 16ed3130c3..9fa9e4606c 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn.c index e440224f0f..ac11905c7c 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_FORCE_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn.c index ba18cfb1be..38365e1f33 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn.c index 452bf4b9d0..31da77cf37 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn.c index 2a754765e0..052f30b4e6 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_POT_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_F_4xn.c index 7f9dd0af81..67c2ec7afc 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJ_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VF_4xn.c index 504e91db22..c6a3b33d86 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecEw_VdwLJ_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn.c index 71c5db2ba5..909c01a95d 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_EWALD #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn.c index fb90fe0406..2c31aec0dc 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn(const nbnxn_pairlist_t gmx_ real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn.c index 0b18b0b573..c38a39bc1f 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn(const nbnxn_pairlist_t gmx real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn.c index 56b173331d..dd97997fd5 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn(const nbnxn_pairlist_t real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn.c index 94ca416349..7bb9dfbbd7 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn(const nbnxn_pairlist_t gmx_un real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn.c index 7eded238af..c8cff5cb91 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn.c index 0657e0e4bf..87df91626b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn(const nbnxn_pairlist_t gm real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn.c index 58cebd8fed..af8977de09 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn(const nbnxn_pairlist_t gm real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn.c index 1ff9cddc5b..b1e8334e6e 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn(const nbnxn_pairlist_t g real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c index 9c211d4950..e87d41b460 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -55,7 +57,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -78,7 +80,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn(const nbnxn_pairlist_t real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn.c index f37b271857..a53704cc0c 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn.c index 22b395bfe7..8f14030302 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn.c index faef66891c..b5de54ffd0 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn.c index bd495ebcb8..39f91daf41 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn.c index ee2e69b9e7..8d2a2a5ca8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn.c index 8ce952c1cf..2363c56399 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn.c index eea95fb0bd..c27fbc7919 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn.c index 3c78488ab4..597ccebd97 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn.c index f347e81186..8cf34c0e92 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define VDW_CUTOFF_CHECK /* Use twin-range cut-off */ @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn.c index 0830a5d3d4..f1b4672510 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn.c index 45a1660512..9a0e265fc2 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn.c index 803070fca8..d52387b147 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn(const nbnxn_pairlist_t gmx_unu real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn.c index ed0d1b4cc0..28d13ebcb7 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn(const nbnxn_pairlist_t gmx_unused *n real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn.c index 3936c1e233..063b7dbead 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn.c index defe4535ca..841d3183db 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn.c index ce52c0e291..749bfac6b6 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn(const nbnxn_pairlist_t gmx_unuse real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn.c index ab580a8b51..b85597c7b4 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn.c index d23c22e43a..3fcc0df958 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn(const nbnxn_pairlist_t gmx_u real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn.c index 2667a84575..4c949841e5 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn.c index 9bb1c64890..b7924a089a 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn.c index 1568dd540d..1faa919b93 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_FORCE_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn.c index 8f1ce9210f..854601cd92 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn.c index d1c7ea4697..c70d75dfeb 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn.c index 472c06690f..7fafdc148b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_POT_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn.c index 2b604bb7fc..50244f263b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn.c index 33e92d77a3..d72013f90b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn.c index eafdb1615a..eb661637f7 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_TAB #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn.c index a77ee987a3..5a0a775bef 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn(const nbnxn_pairlist_t gmx_unused *nb real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn.c index 8b7c2e3396..7e81a25cab 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_unused *n real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn.c index 57e35f7997..507a41f0ed 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn.c index 6b47f07dca..5c2498e1a8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn.c index 41a404314c..04078b18e9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn.c index 9ccd2b7a53..2043603110 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn.c index 0f3ac29b4a..53e9a056d9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn(const nbnxn_pairlist_t gmx_unused * real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn.c index c1403ce23c..7739c59669 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn(const nbnxn_pairlist_t gmx_unused real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn.c index 7d6e2fc64d..2a2852a170 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -54,7 +56,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -77,7 +79,7 @@ nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn(const nbnxn_pairlist_t gmx_unus real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn.c index bc1873f650..878a77c1d7 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn.c index 16f3094608..333b58c65f 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_FORCE_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn.c index 7ee74d34ab..58f35877dd 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_FORCE_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn.c index 19213cc2f8..6a3cdf502f 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn.c index 2a11985b2f..efa5e54da9 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_POT_SWITCH @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn.c index 9e0233f841..7c960842a3 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_POT_SWITCH @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused *nbl real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_F_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_F_4xn.c index cdb8bbfd4b..8515978f71 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_F_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_F_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ /* Will not calculate energies */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJ_F_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VF_4xn.c index 0ea279ab33..a6bb59bb1a 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -52,7 +54,7 @@ #define CALC_ENERGIES #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -75,7 +77,7 @@ nbnxn_kernel_ElecRF_VdwLJ_VF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn.c index 21b243907e..fb9c5d3693 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn.c @@ -43,8 +43,10 @@ * GMX_NBNXN_SIMD_4XN, so that this file reduces to a stub * function definition when the kernel will never be called. */ +#include "gmxpre.h" + #define GMX_SIMD_J_UNROLL_SIZE 1 -#include "nbnxn_kernel_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" #define CALC_COUL_RF #define LJ_CUT @@ -53,7 +55,7 @@ #define ENERGY_GROUPS #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_common.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h" #endif /* GMX_NBNXN_SIMD_4XN */ #ifdef CALC_ENERGIES @@ -76,7 +78,7 @@ nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn(const nbnxn_pairlist_t gmx_unused *nbl, real gmx_unused *fshift) #endif /* CALC_ENERGIES */ #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_kernel_simd_4xn_outer.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h" #else /* GMX_NBNXN_SIMD_4XN */ { /* No need to call gmx_incons() here, because the only function diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.c b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.c index 5974873a07..3531299efd 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.c +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.c @@ -37,12 +37,12 @@ * kernel type 4xn. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" -#include "typedefs.h" +#include "config.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nb_verlet.h" #include "gromacs/mdlib/nbnxn_simd.h" #ifdef GMX_NBNXN_SIMD_4XN @@ -55,10 +55,11 @@ #define GMX_SIMD_J_UNROLL_SIZE 1 #include "nbnxn_kernel_simd_4xn.h" -#include "../nbnxn_kernel_common.h" -#include "gmx_omp_nthreads.h" -#include "types/force_flags.h" -#include "gmx_fatal.h" + +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/types/force_flags.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h" +#include "gromacs/utility/fatalerror.h" /*! \brief Kinds of electrostatic treatments in SIMD Verlet kernels */ @@ -251,7 +252,7 @@ reduce_group_energies(int ng, int ng_2log, #else /* GMX_NBNXN_SIMD_4XN */ -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" #endif /* GMX_NBNXN_SIMD_4XN */ diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h index e6e475765a..87c96994e8 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h @@ -37,8 +37,8 @@ * kernel type 4xn. */ -#include "typedefs.h" - +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #include "gromacs/mdlib/nbnxn_simd.h" #ifdef __cplusplus diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h index 1940d1a3da..146c95855b 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h @@ -32,14 +32,17 @@ * 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/mdlib/nbnxn_consts.h" +#include "gromacs/pbcutil/ishift.h" #include "gromacs/simd/simd.h" #include "gromacs/simd/simd_math.h" #include "gromacs/simd/vector_operations.h" -#include "../../nbnxn_consts.h" #ifdef CALC_COUL_EWALD #include "gromacs/math/utilities.h" #endif +#include "config.h" + #ifndef GMX_SIMD_J_UNROLL_SIZE #error "Need to define GMX_SIMD_J_UNROLL_SIZE before including the 4xn kernel common header file" #endif @@ -54,7 +57,7 @@ #define STRIDE (UNROLLI) #endif -#include "../nbnxn_kernel_simd_utils.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils.h" static gmx_inline void gmx_simdcall gmx_load_simd_4xn_interactions(int gmx_unused excl, diff --git a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h index ffe53d5cd7..15bdf6ca91 100644 --- a/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h +++ b/src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h @@ -627,13 +627,13 @@ #define CHECK_EXCLS while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL) { -#include "nbnxn_kernel_simd_4xn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h" cjind++; } #undef CHECK_EXCLS for (; (cjind < cjind1); cjind++) { -#include "nbnxn_kernel_simd_4xn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h" } #undef HALF_LJ #undef CALC_COULOMB @@ -645,13 +645,13 @@ #define CHECK_EXCLS while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL) { -#include "nbnxn_kernel_simd_4xn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h" cjind++; } #undef CHECK_EXCLS for (; (cjind < cjind1); cjind++) { -#include "nbnxn_kernel_simd_4xn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h" } #undef CALC_COULOMB } @@ -661,13 +661,13 @@ #define CHECK_EXCLS while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL) { -#include "nbnxn_kernel_simd_4xn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h" cjind++; } #undef CHECK_EXCLS for (; (cjind < cjind1); cjind++) { -#include "nbnxn_kernel_simd_4xn_inner.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h" } } #undef CALC_LJ diff --git a/src/gromacs/legacyheaders/types/nbnxn_pairlist.h b/src/gromacs/mdlib/nbnxn_pairlist.h similarity index 98% rename from src/gromacs/legacyheaders/types/nbnxn_pairlist.h rename to src/gromacs/mdlib/nbnxn_pairlist.h index dec56d38f1..3f441ad16c 100644 --- a/src/gromacs/legacyheaders/types/nbnxn_pairlist.h +++ b/src/gromacs/mdlib/nbnxn_pairlist.h @@ -36,7 +36,9 @@ #ifndef _nbnxn_pairlist_h #define _nbnxn_pairlist_h -#include "nblist.h" +#include "thread_mpi/atomic.h" + +#include "gromacs/legacyheaders/types/nblist.h" #ifdef __cplusplus extern "C" { @@ -124,7 +126,7 @@ typedef struct { */ } nbnxn_excl_t; -typedef struct { +typedef struct nbnxn_pairlist_t { gmx_cache_protect_t cp0; nbnxn_alloc_t *alloc; @@ -222,10 +224,7 @@ enum { ljcrGEOM, ljcrLB, ljcrNONE, ljcrNR }; -/* TODO: Remove need for forward declare */ -struct tMPI_Atomic; - -typedef struct { +typedef struct nbnxn_atomdata_t { nbnxn_alloc_t *alloc; nbnxn_free_t *free; int ntype; /* The number of different atom types */ @@ -269,7 +268,7 @@ typedef struct { gmx_bool bUseBufferFlags; /* Use the flags or operate on all atoms */ nbnxn_buffer_flags_t buffer_flags; /* Flags for buffer zeroing+reduc. */ gmx_bool bUseTreeReduce; /* Use tree for force reduction */ - struct tMPI_Atomic *syncStep; /* Synchronization step for tree reduce */ + tMPI_Atomic_t *syncStep; /* Synchronization step for tree reduce */ } nbnxn_atomdata_t; #ifdef __cplusplus diff --git a/src/gromacs/mdlib/nbnxn_search.c b/src/gromacs/mdlib/nbnxn_search.c index 3114bebc22..56e616967c 100644 --- a/src/gromacs/mdlib/nbnxn_search.c +++ b/src/gromacs/mdlib/nbnxn_search.c @@ -33,34 +33,35 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "nbnxn_search.h" + +#include "config.h" +#include #include #include -#include -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "types/commrec.h" -#include "macros.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/math/utilities.h" -#include "vec.h" -#include "pbc.h" -#include "nbnxn_consts.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_atomdata.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/utility/smalloc.h" + /* nbnxn_internal.h included gromacs/simd/macros.h */ -#include "nbnxn_internal.h" -#ifdef GMX_NBNXN_SIMD +#include "gromacs/mdlib/nbnxn_internal.h" +#ifdef GMX_SIMD #include "gromacs/simd/vector_operations.h" #endif -#include "nbnxn_atomdata.h" -#include "nbnxn_search.h" -#include "gmx_omp_nthreads.h" -#include "nrnb.h" -#include "ns.h" - -#include "gromacs/fileio/gmxfio.h" #ifdef NBNXN_SEARCH_BB_SIMD4 /* Always use 4-wide SIMD for bounding box calculations */ @@ -1382,14 +1383,13 @@ static void sort_columns_supersub(const nbnxn_search_t nbs, 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))); @@ -2944,10 +2944,10 @@ static void make_cluster_list_simple(const nbnxn_grid_t *gridj, } #ifdef GMX_NBNXN_SIMD_4XN -#include "nbnxn_search_simd_4xn.h" +#include "gromacs/mdlib/nbnxn_search_simd_4xn.h" #endif #ifdef GMX_NBNXN_SIMD_2XNN -#include "nbnxn_search_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_search_simd_2xnn.h" #endif /* Plain C or SIMD4 code for making a pair list of super-cell sci vs scj. diff --git a/src/gromacs/mdlib/nbnxn_search.h b/src/gromacs/mdlib/nbnxn_search.h index 6b3ab7c8d2..8e644bf21a 100644 --- a/src/gromacs/mdlib/nbnxn_search.h +++ b/src/gromacs/mdlib/nbnxn_search.h @@ -36,7 +36,8 @@ #ifndef _nbnxn_search_h #define _nbnxn_search_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/mdlib/nbnxn_pairlist.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/mdlib/nbnxn_search_simd_2xnn.h b/src/gromacs/mdlib/nbnxn_search_simd_2xnn.h index 59760f4b94..2ff7bc991e 100644 --- a/src/gromacs/mdlib/nbnxn_search_simd_2xnn.h +++ b/src/gromacs/mdlib/nbnxn_search_simd_2xnn.h @@ -34,7 +34,7 @@ */ /* Get the half-width SIMD stuff from the kernel utils files */ -#include "nbnxn_kernels/nbnxn_kernel_simd_utils.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_simd_utils.h" #if GMX_SIMD_REAL_WIDTH >= 2*NBNXN_CPU_CLUSTER_I_SIZE diff --git a/src/gromacs/mdlib/nbnxn_search_simd_4xn.h b/src/gromacs/mdlib/nbnxn_search_simd_4xn.h index 4931a1a4eb..33a307b584 100644 --- a/src/gromacs/mdlib/nbnxn_search_simd_4xn.h +++ b/src/gromacs/mdlib/nbnxn_search_simd_4xn.h @@ -33,6 +33,7 @@ * the research papers on the package. Check out http://www.gromacs.org. */ +#include "config.h" #if GMX_SIMD_REAL_WIDTH >= NBNXN_CPU_CLUSTER_I_SIZE #define STRIDE_S (GMX_SIMD_REAL_WIDTH) @@ -110,6 +111,7 @@ make_cluster_list_simd_4xn(const nbnxn_grid_t *gridj, float d2; int xind_f, xind_l, cj; + /* cppcheck-suppress selfAssignment . selfAssignment for width 4.*/ cjf = CI_TO_CJ_SIMD_4XN(cjf); cjl = CI_TO_CJ_SIMD_4XN(cjl+1) - 1; diff --git a/src/gromacs/mdlib/nbnxn_simd.h b/src/gromacs/mdlib/nbnxn_simd.h index d3a04e0262..8ac29639b1 100644 --- a/src/gromacs/mdlib/nbnxn_simd.h +++ b/src/gromacs/mdlib/nbnxn_simd.h @@ -36,11 +36,9 @@ #ifndef _nbnxn_simd_h #define _nbnxn_simd_h -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" /* Include SIMD, below we select kernels based on the SIMD width */ #include "gromacs/simd/simd.h" diff --git a/src/gromacs/mdlib/nlistheuristics.c b/src/gromacs/mdlib/nlistheuristics.c index d2f7401295..44f789e7bb 100644 --- a/src/gromacs/mdlib/nlistheuristics.c +++ b/src/gromacs/mdlib/nlistheuristics.c @@ -3,7 +3,7 @@ * * 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. @@ -34,14 +34,13 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "types/nlistheuristics.h" -#include "gmx_fatal.h" -#include "vec.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/nlistheuristics.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) { diff --git a/src/gromacs/mdlib/ns.c b/src/gromacs/mdlib/ns.c index 430e26d304..3a1396cd40 100644 --- a/src/gromacs/mdlib/ns.c +++ b/src/gromacs/mdlib/ns.c @@ -34,33 +34,33 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/ns.h" #include +#include #include -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "macros.h" + +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/nsgrid.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/math/utilities.h" -#include "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 "domdec.h" -#include "adress.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" +#include "adress.h" /* * E X C L U S I O N H A N D L I N G @@ -287,11 +287,8 @@ void init_neighbor_list(FILE *log, t_forcerec *fr, int homenr) /* Did we get the solvent loops so we can use optimized water kernels? */ if (nbl->nlist_sr[eNL_VDWQQ_WATER].kernelptr_vf == NULL || nbl->nlist_sr[eNL_QQ_WATER].kernelptr_vf == NULL -#ifndef DISABLE_WATERWATER_NLIST || nbl->nlist_sr[eNL_VDWQQ_WATERWATER].kernelptr_vf == NULL - || nbl->nlist_sr[eNL_QQ_WATERWATER].kernelptr_vf == NULL -#endif - ) + || nbl->nlist_sr[eNL_QQ_WATERWATER].kernelptr_vf == NULL) { fr->solvent_opt = esolNO; if (log != NULL) @@ -672,13 +669,11 @@ put_in_list_at(gmx_bool bHaveVdW[], if (iwater != esolNO) { - vdwc = &nlist[eNL_VDWQQ_WATER]; - vdw = &nlist[eNL_VDW]; - coul = &nlist[eNL_QQ_WATER]; -#ifndef DISABLE_WATERWATER_NLIST + vdwc = &nlist[eNL_VDWQQ_WATER]; + vdw = &nlist[eNL_VDW]; + coul = &nlist[eNL_QQ_WATER]; vdwc_ww = &nlist[eNL_VDWQQ_WATERWATER]; coul_ww = &nlist[eNL_QQ_WATERWATER]; -#endif } else { @@ -698,9 +693,7 @@ put_in_list_at(gmx_bool bHaveVdW[], if (bDoCoul && bDoVdW) { new_i_nblist(vdwc, i_atom, shift, gid); -#ifndef DISABLE_WATERWATER_NLIST new_i_nblist(vdwc_ww, i_atom, shift, gid); -#endif } if (bDoVdW) { @@ -709,9 +702,7 @@ put_in_list_at(gmx_bool bHaveVdW[], if (bDoCoul) { new_i_nblist(coul, i_atom, shift, gid); -#ifndef DISABLE_WATERWATER_NLIST new_i_nblist(coul_ww, i_atom, shift, gid); -#endif } /* Loop over the j charge groups */ for (j = 0; (j < nj); j++) @@ -736,19 +727,6 @@ put_in_list_at(gmx_bool bHaveVdW[], } else { -#ifdef DISABLE_WATERWATER_NLIST - /* Add entries for the three atoms - only do VdW if we need to */ - if (!bDoVdW) - { - add_j_to_nblist(coul, jj0, bLR); - } - else - { - add_j_to_nblist(vdwc, jj0, bLR); - } - add_j_to_nblist(coul, jj0+1, bLR); - add_j_to_nblist(coul, jj0+2, bLR); -#else /* One entry for the entire water-water interaction */ if (!bDoVdW) { @@ -758,7 +736,6 @@ put_in_list_at(gmx_bool bHaveVdW[], { add_j_to_nblist(vdwc_ww, jj0, bLR); } -#endif } } else if (iwater == esolTIP4P && jwater == esolTIP4P) @@ -771,16 +748,6 @@ put_in_list_at(gmx_bool bHaveVdW[], } else { -#ifdef DISABLE_WATERWATER_NLIST - /* Add entries for the four atoms - only do VdW if we need to */ - if (bDoVdW) - { - add_j_to_nblist(vdw, jj0, bLR); - } - add_j_to_nblist(coul, jj0+1, bLR); - add_j_to_nblist(coul, jj0+2, bLR); - add_j_to_nblist(coul, jj0+3, bLR); -#else /* One entry for the entire water-water interaction */ if (!bDoVdW) { @@ -790,7 +757,6 @@ put_in_list_at(gmx_bool bHaveVdW[], { add_j_to_nblist(vdwc_ww, jj0, bLR); } -#endif } } else @@ -851,10 +817,8 @@ put_in_list_at(gmx_bool bHaveVdW[], close_i_nblist(vdw); close_i_nblist(coul); close_i_nblist(vdwc); -#ifndef DISABLE_WATERWATER_NLIST close_i_nblist(coul_ww); close_i_nblist(vdwc_ww); -#endif } else { @@ -2131,7 +2095,7 @@ static int nsgrid_core(t_commrec *cr, t_forcerec *fr, 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; */ @@ -2159,10 +2123,7 @@ static int nsgrid_core(t_commrec *cr, t_forcerec *fr, 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) || diff --git a/src/gromacs/mdlib/nsgrid.c b/src/gromacs/mdlib/nsgrid.c index 137b06f255..0f0120e0e1 100644 --- a/src/gromacs/mdlib/nsgrid.c +++ b/src/gromacs/mdlib/nsgrid.c @@ -35,26 +35,24 @@ * 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 -#endif +#include "gmxpre.h" -#include +#include "gromacs/legacyheaders/nsgrid.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 "network.h" -#include "domdec.h" -#include "pbc.h" #include -#include "gromacs/fileio/futil.h" +#include + #include "gromacs/fileio/pdbio.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /*********************************** * Grid Routines @@ -291,7 +289,7 @@ static void set_grid_sizes(matrix box, rvec izones_x0, rvec izones_x1, real rlis */ /* 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. diff --git a/src/gromacs/mdlib/perf_est.c b/src/gromacs/mdlib/perf_est.c index c7382ab1ed..837113f2ae 100644 --- a/src/gromacs/mdlib/perf_est.c +++ b/src/gromacs/mdlib/perf_est.c @@ -34,20 +34,18 @@ * 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 -#endif +#include "gmxpre.h" -#include +#include "gromacs/legacyheaders/perf_est.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" +#include +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nbnxn_consts.h" +#include "gromacs/mdlib/nbnxn_search.h" +#include "gromacs/topology/topology.h" +#include "gromacs/utility/fatalerror.h" /* Computational cost of bonded, non-bonded and PME calculations. * This will be machine dependent. diff --git a/src/gromacs/mdlib/pme.c b/src/gromacs/mdlib/pme.c index d070abdb59..67a12ab58d 100644 --- a/src/gromacs/mdlib/pme.c +++ b/src/gromacs/mdlib/pme.c @@ -57,34 +57,37 @@ * /Erik 001109 */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/pme.h" + +#include "config.h" +#include +#include #include +#include #include -#include -#include -#include "typedefs.h" -#include "txtdump.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" -#include "coulomb.h" -#include "gmx_fatal.h" -#include "pme.h" -#include "network.h" -#include "physics.h" -#include "nrnb.h" -#include "macros.h" #include "gromacs/fft/parallel_3dfft.h" -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/pdbio.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/math/gmxcomplex.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/timing/cyclecounter.h" #include "gromacs/timing/wallcycle.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/gmxmpi.h" #include "gromacs/utility/gmxomp.h" +#include "gromacs/utility/smalloc.h" /* Include the SIMD macro file and then check for support */ #include "gromacs/simd/simd.h" @@ -1433,7 +1436,7 @@ static void spread_coefficients_bsplines_thread(pmegrid_t *pm #define PME_SPREAD_SIMD4_ALIGNED #define PME_ORDER 4 #endif -#include "pme_simd4.h" +#include "gromacs/mdlib/pme_simd4.h" #else DO_BSPLINE(4); #endif @@ -1442,7 +1445,7 @@ static void spread_coefficients_bsplines_thread(pmegrid_t *pm #ifdef PME_SIMD4_SPREAD_GATHER #define PME_SPREAD_SIMD4_ALIGNED #define PME_ORDER 5 -#include "pme_simd4.h" +#include "gromacs/mdlib/pme_simd4.h" #else DO_BSPLINE(5); #endif @@ -2596,7 +2599,7 @@ static void gather_f_bsplines(gmx_pme_t pme, real *grid, #define PME_GATHER_F_SIMD4_ALIGNED #define PME_ORDER 4 #endif -#include "pme_simd4.h" +#include "gromacs/mdlib/pme_simd4.h" #else DO_FSPLINE(4); #endif @@ -2605,7 +2608,7 @@ static void gather_f_bsplines(gmx_pme_t pme, real *grid, #ifdef PME_SIMD4_SPREAD_GATHER #define PME_GATHER_F_SIMD4_ALIGNED #define PME_ORDER 5 -#include "pme_simd4.h" +#include "gromacs/mdlib/pme_simd4.h" #else DO_FSPLINE(5); #endif diff --git a/src/gromacs/mdlib/pme_pp.c b/src/gromacs/mdlib/pme_pp.c index 0aee97b824..f00d242ae7 100644 --- a/src/gromacs/mdlib/pme_pp.c +++ b/src/gromacs/mdlib/pme_pp.c @@ -35,25 +35,24 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" +#include "config.h" +#include #include #include -#include -#include "typedefs.h" -#include "types/commrec.h" -#include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "vec.h" -#include "pme.h" -#include "network.h" -#include "domdec.h" -#include "sighandler.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/sighandler.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" enum { eCommType_ChargeA, eCommType_ChargeB, eCommType_SQRTC6A, eCommType_SQRTC6B, diff --git a/src/gromacs/mdlib/qm_gamess.c b/src/gromacs/mdlib/qm_gamess.c index d3ba4ac4ab..d913f7f489 100644 --- a/src/gromacs/mdlib/qm_gamess.c +++ b/src/gromacs/mdlib/qm_gamess.c @@ -34,37 +34,31 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #ifdef GMX_QMMM_GAMESS #include -#include "sysstuff.h" -#include "typedefs.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "macros.h" -#include "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 -#include -#include "gmx_fatal.h" -#include "typedefs.h" #include +#include + +#include "gromacs/fileio/confio.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* QMMM sub routines */ diff --git a/src/gromacs/mdlib/qm_gaussian.c b/src/gromacs/mdlib/qm_gaussian.c index e7422941ae..6339b94f8a 100644 --- a/src/gromacs/mdlib/qm_gaussian.c +++ b/src/gromacs/mdlib/qm_gaussian.c @@ -34,37 +34,31 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #ifdef GMX_QMMM_GAUSSIAN #include -#include "sysstuff.h" -#include "typedefs.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "macros.h" -#include "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 -#include -#include "gmx_fatal.h" -#include "typedefs.h" #include +#include + +#include "gromacs/fileio/confio.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* TODO: this should be made thread-safe */ @@ -207,7 +201,7 @@ void init_gaussian(t_commrec *cr, t_QMrec *qm, t_MMrec *mm) if (buf) { - qm->gauss_dir = strdup(buf); + qm->gauss_dir = gmx_strdup(buf); } else { @@ -217,7 +211,7 @@ void init_gaussian(t_commrec *cr, t_QMrec *qm, t_MMrec *mm) buf = getenv("GMX_QM_GAUSS_EXE"); if (buf) { - qm->gauss_exe = strdup(buf); + qm->gauss_exe = gmx_strdup(buf); } else { @@ -226,7 +220,7 @@ void init_gaussian(t_commrec *cr, t_QMrec *qm, t_MMrec *mm) buf = getenv("GMX_QM_MODIFIED_LINKS_DIR"); if (buf) { - qm->devel_dir = strdup (buf); + qm->devel_dir = gmx_strdup (buf); } else { diff --git a/src/gromacs/mdlib/qm_mopac.c b/src/gromacs/mdlib/qm_mopac.c index 760e4e0058..6eb689cd3e 100644 --- a/src/gromacs/mdlib/qm_mopac.c +++ b/src/gromacs/mdlib/qm_mopac.c @@ -34,37 +34,31 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #ifdef GMX_QMMM_MOPAC #include -#include "sysstuff.h" -#include "typedefs.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "macros.h" -#include "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 -#include -#include "gmx_fatal.h" -#include "typedefs.h" #include +#include + +#include "gromacs/fileio/confio.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* mopac interface routines */ diff --git a/src/gromacs/mdlib/qm_orca.c b/src/gromacs/mdlib/qm_orca.c index 7dbee944af..11ddfd325b 100644 --- a/src/gromacs/mdlib/qm_orca.c +++ b/src/gromacs/mdlib/qm_orca.c @@ -34,35 +34,27 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "sysstuff.h" -#include "typedefs.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "macros.h" -#include "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 -#include -#include "gmx_fatal.h" -#include "typedefs.h" #include +#include + +#include "gromacs/fileio/confio.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" /* ORCA interface routines */ diff --git a/src/gromacs/mdlib/qmmm.c b/src/gromacs/mdlib/qmmm.c index 91a8a2c98a..bb83405a55 100644 --- a/src/gromacs/mdlib/qmmm.c +++ b/src/gromacs/mdlib/qmmm.c @@ -34,38 +34,34 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/qmmm.h" + +#include "config.h" #include -#include "sysstuff.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "macros.h" -#include "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 -#include -#include "gmx_fatal.h" -#include "typedefs.h" #include -#include "mtop_util.h" +#include +#include "gromacs/fileio/confio.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.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 diff --git a/src/gromacs/mdlib/rf_util.c b/src/gromacs/mdlib/rf_util.c index ede7ace0ba..a4703cca24 100644 --- a/src/gromacs/mdlib/rf_util.c +++ b/src/gromacs/mdlib/rf_util.c @@ -34,18 +34,17 @@ * 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 -#endif +#include "gmxpre.h" -#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/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/mshift.h" +#include "gromacs/pbcutil/pbc.h" real RF_excl_correction(const t_forcerec *fr, t_graph *g, const t_mdatoms *mdatoms, const t_blocka *excl, diff --git a/src/gromacs/mdlib/shakef.c b/src/gromacs/mdlib/shakef.c index ab09ea47b7..46030d0cbc 100644 --- a/src/gromacs/mdlib/shakef.c +++ b/src/gromacs/mdlib/shakef.c @@ -34,19 +34,16 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "sysstuff.h" -#include "typedefs.h" + +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" #include "gromacs/utility/smalloc.h" -#include "pbc.h" -#include "txtdump.h" -#include "vec.h" -#include "nrnb.h" -#include "constr.h" typedef struct gmx_shakedata { @@ -264,11 +261,11 @@ int vec_shakef(FILE *fplog, gmx_shakedata_t shaked, if (fplog) { fprintf(fplog, "Inner product between old and new vector <= 0.0!\n" - "constraint #%d atoms %u and %u\n", + "constraint #%d atoms %d and %d\n", error-1, iatom[3*(error-1)+1]+1, iatom[3*(error-1)+2]+1); } fprintf(stderr, "Inner product between old and new vector <= 0.0!\n" - "constraint #%d atoms %u and %u\n", + "constraint #%d atoms %d and %d\n", error-1, iatom[3*(error-1)+1]+1, iatom[3*(error-1)+2]+1); nit = 0; } diff --git a/src/gromacs/mdlib/shellfc.c b/src/gromacs/mdlib/shellfc.c index 9ba0868252..ce00047a38 100644 --- a/src/gromacs/mdlib/shellfc.c +++ b/src/gromacs/mdlib/shellfc.c @@ -34,31 +34,33 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/shellfc.h" +#include #include -#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 "mdatoms.h" -#include "vsite.h" -#include "network.h" -#include "names.h" -#include "constr.h" -#include "domdec.h" -#include "physics.h" -#include "shellfc.h" -#include "mtop_util.h" -#include "chargegroup.h" -#include "macros.h" +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/mshift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" typedef struct { int nnucl; diff --git a/src/gromacs/mdlib/sim_util.c b/src/gromacs/mdlib/sim_util.c index a6b166ccfd..b35dd827ac 100644 --- a/src/gromacs/mdlib/sim_util.c +++ b/src/gromacs/mdlib/sim_util.c @@ -34,70 +34,71 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/sim_util.h" + +#include "config.h" #include #include #include #include + #ifdef HAVE_SYS_TIME_H #include #endif -#include "typedefs.h" -#include "gromacs/utility/cstringutil.h" -#include "gromacs/utility/smalloc.h" -#include "names.h" -#include "txtdump.h" -#include "pbc.h" -#include "chargegroup.h" -#include "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 "mdatoms.h" -#include "force.h" -#include "bondf.h" -#include "pme.h" -#include "disre.h" -#include "orires.h" -#include "network.h" -#include "calcmu.h" -#include "constr.h" -#include "xvgr.h" -#include "copyrite.h" -#include "domdec.h" -#include "genborn.h" -#include "nbnxn_atomdata.h" -#include "nbnxn_search.h" -#include "nbnxn_kernels/nbnxn_kernel_ref.h" -#include "nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" -#include "nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" -#include "nbnxn_kernels/nbnxn_kernel_gpu_ref.h" -#include "nonbonded.h" -#include "../gmxlib/nonbonded/nb_kernel.h" -#include "../gmxlib/nonbonded/nb_free_energy.h" - -#include "gromacs/timing/wallcycle.h" -#include "gromacs/timing/walltime_accounting.h" -#include "gromacs/utility/gmxmpi.h" #include "gromacs/essentialdynamics/edsam.h" +#include "gromacs/gmxlib/nonbonded/nb_free_energy.h" +#include "gromacs/gmxlib/nonbonded/nb_kernel.h" +#include "gromacs/imd/imd.h" +#include "gromacs/legacyheaders/calcmu.h" +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/genborn.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nonbonded.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/listed-forces/bonded.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nb_verlet.h" +#include "gromacs/mdlib/nbnxn_atomdata.h" +#include "gromacs/mdlib/nbnxn_search.h" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.h" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.h" +#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h" +#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h" +#include "gromacs/pbcutil/ishift.h" +#include "gromacs/pbcutil/mshift.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/pulling/pull.h" #include "gromacs/pulling/pull_rotation.h" -#include "gromacs/imd/imd.h" -#include "adress.h" -#include "qmmm.h" - -#include "gmx_omp_nthreads.h" +#include "gromacs/timing/wallcycle.h" +#include "gromacs/timing/walltime_accounting.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" -#include "nbnxn_cuda_data_mgmt.h" -#include "nbnxn_cuda/nbnxn_cuda.h" +#include "adress.h" void print_time(FILE *out, gmx_walltime_accounting_t walltime_accounting, @@ -313,9 +314,7 @@ static void calc_virial(int start, int homenr, rvec x[], rvec f[], } } -static void posres_wrapper(FILE *fplog, - int flags, - gmx_bool bSepDVDL, +static void posres_wrapper(int flags, t_inputrec *ir, t_nrnb *nrnb, gmx_localtop_t *top, @@ -337,10 +336,6 @@ static void posres_wrapper(FILE *fplog, ir->ePBC == epbcNONE ? NULL : &pbc, lambda[efptRESTRAINT], &dvdl, fr->rc_scaling, fr->ePBC, fr->posres_com, fr->posres_comB); - if (bSepDVDL) - { - gmx_print_sepdvdl(fplog, interaction_function[F_POSRES].longname, v, dvdl); - } enerd->term[F_POSRES] += v; /* If just the force constant changes, the FEP term is linear, * but if k changes, it is not. @@ -386,9 +381,7 @@ static void fbposres_wrapper(t_inputrec *ir, inc_nrnb(nrnb, eNR_FBPOSRES, top->idef.il[F_FBPOSRES].nr/2); } -static void pull_potential_wrapper(FILE *fplog, - gmx_bool bSepDVDL, - t_commrec *cr, +static void pull_potential_wrapper(t_commrec *cr, t_inputrec *ir, matrix box, rvec x[], rvec f[], @@ -413,17 +406,11 @@ static void pull_potential_wrapper(FILE *fplog, enerd->term[F_COM_PULL] += pull_potential(ir->ePull, ir->pull, mdatoms, &pbc, cr, t, lambda[efptRESTRAINT], x, f, vir_force, &dvdl); - if (bSepDVDL) - { - gmx_print_sepdvdl(fplog, "Com pull", enerd->term[F_COM_PULL], dvdl); - } enerd->dvdl_lin[efptRESTRAINT] += dvdl; wallcycle_stop(wcycle, ewcPULLPOT); } -static void pme_receive_force_ener(FILE *fplog, - gmx_bool bSepDVDL, - t_commrec *cr, +static void pme_receive_force_ener(t_commrec *cr, gmx_wallcycle_t wcycle, gmx_enerdata_t *enerd, t_forcerec *fr) @@ -443,11 +430,6 @@ static void pme_receive_force_ener(FILE *fplog, gmx_pme_receive_f(cr, fr->f_novirsum, fr->vir_el_recip, &e_q, fr->vir_lj_recip, &e_lj, &dvdl_q, &dvdl_lj, &cycles_seppme); - if (bSepDVDL) - { - gmx_print_sepdvdl(fplog, "Electrostatic PME mesh", e_q, dvdl_q); - gmx_print_sepdvdl(fplog, "Lennard-Jones PME mesh", e_lj, dvdl_lj); - } enerd->term[F_COUL_RECIP] += e_q; enerd->term[F_LJ_RECIP] += e_lj; enerd->dvdl_lin[efptCOUL] += dvdl_q; @@ -802,6 +784,11 @@ static void do_nb_verlet_fep(nbnxn_pairlist_set_t *nbl_lists, wallcycle_sub_stop(wcycle, ewcsNONBONDED); } +gmx_bool use_GPU(const nonbonded_verlet_t *nbv) +{ + return nbv != NULL && nbv->bUseGPU; +} + void do_force_cutsVERLET(FILE *fplog, t_commrec *cr, t_inputrec *inputrec, gmx_int64_t step, t_nrnb *nrnb, gmx_wallcycle_t wcycle, @@ -823,7 +810,7 @@ void do_force_cutsVERLET(FILE *fplog, t_commrec *cr, int start, homenr; int nb_kernel_type; double mu[2*DIM]; - gmx_bool bSepDVDL, bStateChanged, bNS, bFillGrid, bCalcCGCM, bBS; + gmx_bool bStateChanged, bNS, bFillGrid, bCalcCGCM, bBS; gmx_bool bDoLongRange, bDoForces, bSepLRF, bUseGPU, bUseOrEmulGPU; gmx_bool bDiffKernels = FALSE; matrix boxs; @@ -840,8 +827,6 @@ void do_force_cutsVERLET(FILE *fplog, t_commrec *cr, start = 0; homenr = mdatoms->homenr; - bSepDVDL = (fr->bSepDVDL && do_per_step(step, inputrec->nstlog)); - clear_mat(vir_force); cg0 = 0; @@ -1251,10 +1236,11 @@ void do_force_cutsVERLET(FILE *fplog, t_commrec *cr, } /* We calculate the non-bonded forces, when done on the CPU, here. - * We do this before calling do_force_lowlevel, as in there bondeds - * forces are calculated before PME, which does communication. - * With this order, non-bonded and bonded force calculation imbalance - * can be balanced out by the domain decomposition load balancing. + * We do this before calling do_force_lowlevel, because in that + * function, the listed forces are calculated before PME, which + * does communication. With this order, non-bonded and listed + * force calculation imbalance can be balanced out by the domain + * decomposition load balancing. */ if (!bUseOrEmulGPU) @@ -1334,22 +1320,22 @@ void do_force_cutsVERLET(FILE *fplog, t_commrec *cr, update_QMMMrec(cr, fr, x, mdatoms, box, top); } - if ((flags & GMX_FORCE_BONDED) && top->idef.il[F_POSRES].nr > 0) + if ((flags & GMX_FORCE_LISTED) && top->idef.il[F_POSRES].nr > 0) { - posres_wrapper(fplog, flags, bSepDVDL, inputrec, nrnb, top, box, x, + posres_wrapper(flags, inputrec, nrnb, top, box, x, enerd, lambda, fr); } - if ((flags & GMX_FORCE_BONDED) && top->idef.il[F_FBPOSRES].nr > 0) + if ((flags & GMX_FORCE_LISTED) && top->idef.il[F_FBPOSRES].nr > 0) { fbposres_wrapper(inputrec, nrnb, top, box, x, enerd, fr); } /* Compute the bonded and non-bonded energies and optionally forces */ - do_force_lowlevel(fplog, step, fr, inputrec, &(top->idef), + do_force_lowlevel(fr, inputrec, &(top->idef), cr, nrnb, wcycle, mdatoms, x, hist, f, bSepLRF ? fr->f_twin : f, enerd, fcd, top, fr->born, - &(top->atomtypes), bBornRadii, box, + bBornRadii, box, inputrec->fepvals, lambda, graph, &(top->excls), fr->mu_tot, flags, &cycles_pme); @@ -1574,7 +1560,7 @@ void do_force_cutsVERLET(FILE *fplog, t_commrec *cr, /* Since the COM pulling is always done mass-weighted, no forces are * applied to vsites and this call can be done after vsite spreading. */ - pull_potential_wrapper(fplog, bSepDVDL, cr, inputrec, box, x, + pull_potential_wrapper(cr, inputrec, box, x, f, vir_force, mdatoms, enerd, lambda, t, wcycle); } @@ -1595,7 +1581,7 @@ void do_force_cutsVERLET(FILE *fplog, t_commrec *cr, /* In case of node-splitting, the PP nodes receive the long-range * forces, virial and energy from the PME nodes here. */ - pme_receive_force_ener(fplog, bSepDVDL, cr, wcycle, enerd, fr); + pme_receive_force_ener(cr, wcycle, enerd, fr); } if (bDoForces) @@ -1628,7 +1614,7 @@ void do_force_cutsGROUP(FILE *fplog, t_commrec *cr, int cg0, cg1, i, j; int start, homenr; double mu[2*DIM]; - gmx_bool bSepDVDL, bStateChanged, bNS, bFillGrid, bCalcCGCM, bBS; + gmx_bool bStateChanged, bNS, bFillGrid, bCalcCGCM, bBS; gmx_bool bDoLongRangeNS, bDoForces, bDoPotential, bSepLRF; gmx_bool bDoAdressWF; matrix boxs; @@ -1640,8 +1626,6 @@ void do_force_cutsGROUP(FILE *fplog, t_commrec *cr, start = 0; homenr = mdatoms->homenr; - bSepDVDL = (fr->bSepDVDL && do_per_step(step, inputrec->nstlog)); - clear_mat(vir_force); cg0 = 0; @@ -1926,22 +1910,22 @@ void do_force_cutsGROUP(FILE *fplog, t_commrec *cr, update_QMMMrec(cr, fr, x, mdatoms, box, top); } - if ((flags & GMX_FORCE_BONDED) && top->idef.il[F_POSRES].nr > 0) + if ((flags & GMX_FORCE_LISTED) && top->idef.il[F_POSRES].nr > 0) { - posres_wrapper(fplog, flags, bSepDVDL, inputrec, nrnb, top, box, x, + posres_wrapper(flags, inputrec, nrnb, top, box, x, enerd, lambda, fr); } - if ((flags & GMX_FORCE_BONDED) && top->idef.il[F_FBPOSRES].nr > 0) + if ((flags & GMX_FORCE_LISTED) && top->idef.il[F_FBPOSRES].nr > 0) { fbposres_wrapper(inputrec, nrnb, top, box, x, enerd, fr); } /* Compute the bonded and non-bonded energies and optionally forces */ - do_force_lowlevel(fplog, step, fr, inputrec, &(top->idef), + do_force_lowlevel(fr, inputrec, &(top->idef), cr, nrnb, wcycle, mdatoms, x, hist, f, bSepLRF ? fr->f_twin : f, enerd, fcd, top, fr->born, - &(top->atomtypes), bBornRadii, box, + bBornRadii, box, inputrec->fepvals, lambda, graph, &(top->excls), fr->mu_tot, flags, @@ -2049,7 +2033,7 @@ void do_force_cutsGROUP(FILE *fplog, t_commrec *cr, if (inputrec->ePull == epullUMBRELLA || inputrec->ePull == epullCONST_F) { - pull_potential_wrapper(fplog, bSepDVDL, cr, inputrec, box, x, + pull_potential_wrapper(cr, inputrec, box, x, f, vir_force, mdatoms, enerd, lambda, t, wcycle); } @@ -2070,7 +2054,7 @@ void do_force_cutsGROUP(FILE *fplog, t_commrec *cr, /* In case of node-splitting, the PP nodes receive the long-range * forces, virial and energy from the PME nodes here. */ - pme_receive_force_ener(fplog, bSepDVDL, cr, wcycle, enerd, fr); + pme_receive_force_ener(cr, wcycle, enerd, fr); } if (bDoForces) @@ -2486,8 +2470,8 @@ void calc_enervirdiff(FILE *fplog, int eDispCorr, t_forcerec *fr) } } -void calc_dispcorr(FILE *fplog, t_inputrec *ir, t_forcerec *fr, - gmx_int64_t step, int natoms, +void calc_dispcorr(t_inputrec *ir, t_forcerec *fr, + int natoms, matrix box, real lambda, tensor pres, tensor virial, real *prescorr, real *enercorr, real *dvdlcorr) { @@ -2588,10 +2572,6 @@ void calc_dispcorr(FILE *fplog, t_inputrec *ir, t_forcerec *fr, } } - if (fr->bSepDVDL && do_per_step(step, ir->nstlog)) - { - gmx_print_sepdvdl(fplog, "Dispersion correction", *enercorr, dvdlambda); - } if (fr->efep != efepNO) { *dvdlcorr += dvdlambda; @@ -2696,7 +2676,7 @@ void finish_run(FILE *fplog, t_commrec *cr, t_inputrec *inputrec, t_nrnb nrnb[], gmx_wallcycle_t wcycle, gmx_walltime_accounting_t walltime_accounting, - wallclock_gpu_t *gputimes, + nonbonded_verlet_t *nbv, gmx_bool bWriteStat) { int i, j; @@ -2760,6 +2740,8 @@ void finish_run(FILE *fplog, t_commrec *cr, if (SIMMASTER(cr)) { + wallclock_gpu_t* gputimes = use_GPU(nbv) ? + nbnxn_cuda_get_timings(nbv->cu_nbv) : NULL; wallcycle_print(fplog, cr->nnodes, cr->npmenodes, elapsed_time_over_all_ranks, wcycle, gputimes); diff --git a/src/gromacs/mdlib/stat.c b/src/gromacs/mdlib/stat.c index 393e4fe884..280237f215 100644 --- a/src/gromacs/mdlib/stat.c +++ b/src/gromacs/mdlib/stat.c @@ -34,40 +34,34 @@ * 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 -#endif +#include "gmxpre.h" -#include #include -#include "typedefs.h" -#include "types/commrec.h" -#include "sysstuff.h" -#include "gmx_fatal.h" -#include "network.h" -#include "txtdump.h" -#include "names.h" -#include "physics.h" -#include "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 "network.h" -#include "rbin.h" -#include "tgroup.h" -#include "gromacs/fileio/xtcio.h" +#include + #include "gromacs/fileio/gmxfio.h" #include "gromacs/fileio/trnio.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 "gromacs/fileio/xtcio.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/md_support.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/rbin.h" +#include "gromacs/legacyheaders/sim_util.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/vcm.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct gmx_global_stat { diff --git a/src/gromacs/mdlib/tables.c b/src/gromacs/mdlib/tables.c index b5b628b3ea..1c3389e493 100644 --- a/src/gromacs/mdlib/tables.c +++ b/src/gromacs/mdlib/tables.c @@ -34,26 +34,25 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/tables.h" #include + +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/units.h" #include "gromacs/math/utilities.h" -#include "typedefs.h" -#include "names.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.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 "network.h" -#include "physics.h" -#include "force.h" -#include "gromacs/fileio/gmxfio.h" -#include "macros.h" -#include "tables.h" /* All the possible (implemented) table functions */ enum { diff --git a/src/gromacs/mdlib/tgroup.c b/src/gromacs/mdlib/tgroup.c index cd32b2477b..1baec82abd 100644 --- a/src/gromacs/mdlib/tgroup.c +++ b/src/gromacs/mdlib/tgroup.c @@ -35,23 +35,21 @@ * 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 -#endif +#include "gmxpre.h" +#include "gromacs/legacyheaders/tgroup.h" #include -#include "macros.h" -#include "main.h" + +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/rbin.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "gromacs/fileio/futil.h" -#include "tgroup.h" -#include "vec.h" -#include "network.h" -#include "update.h" -#include "rbin.h" -#include "mtop_util.h" -#include "gmx_omp_nthreads.h" static void init_grptcstat(int ngtc, t_grp_tcstat tcstat[]) { diff --git a/src/gromacs/mdlib/tpi.c b/src/gromacs/mdlib/tpi.c index 8eaa88b740..7da23c74c3 100644 --- a/src/gromacs/mdlib/tpi.c +++ b/src/gromacs/mdlib/tpi.c @@ -34,48 +34,45 @@ * 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 -#endif +#include "gmxpre.h" +#include +#include #include #include -#include -#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 "txtdump.h" -#include "typedefs.h" -#include "update.h" -#include "constr.h" -#include "vec.h" -#include "tgroup.h" -#include "mdebin.h" -#include "vsite.h" -#include "force.h" -#include "mdrun.h" -#include "domdec.h" -#include "gromacs/random/random.h" -#include "physics.h" -#include "xvgr.h" -#include "mdatoms.h" -#include "ns.h" -#include "mtop_util.h" -#include "pme.h" -#include "gromacs/gmxlib/conformation-utilities.h" #include "gromacs/fileio/confio.h" #include "gromacs/fileio/gmxfio.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/gmxlib/conformation-utilities.h" +#include "gromacs/legacyheaders/chargegroup.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/random/random.h" #include "gromacs/timing/wallcycle.h" #include "gromacs/timing/walltime_accounting.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" static void global_max(t_commrec *cr, int *n) { @@ -381,25 +378,25 @@ double do_tpi(FILE *fplog, t_commrec *cr, snew(leg, 4+nener); e = 0; sprintf(str, "-kT log(/)"); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); sprintf(str, "f. -kT log"); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); sprintf(str, "f. "); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); sprintf(str, "f. V"); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); sprintf(str, "f. "); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); for (i = 0; i < ngid; i++) { sprintf(str, "f. ", *(groups->grpname[groups->grps[egcENER].nm_ind[i]])); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); } if (bDispCorr) { sprintf(str, "f. "); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); } if (bCharge) { @@ -407,17 +404,17 @@ double do_tpi(FILE *fplog, t_commrec *cr, { sprintf(str, "f. ", *(groups->grpname[groups->grps[egcENER].nm_ind[i]])); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); } if (bRFExcl) { sprintf(str, "f. "); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); } if (EEL_FULL(fr->eeltype)) { sprintf(str, "f. "); - leg[e++] = strdup(str); + leg[e++] = gmx_strdup(str); } } xvgr_legend(fp_tpi, 4+nener, (const char**)leg, oenv); @@ -660,7 +657,7 @@ double do_tpi(FILE *fplog, t_commrec *cr, bNS = FALSE; /* Calculate long range corrections to pressure and energy */ - calc_dispcorr(fplog, inputrec, fr, step, top_global->natoms, state->box, + calc_dispcorr(inputrec, fr, top_global->natoms, state->box, lambda, pres, vir, &prescorr, &enercorr, &dvdlcorr); /* figure out how to rearrange the next 4 lines MRS 8/4/2009 */ enerd->term[F_DISPCORR] = enercorr; diff --git a/src/gromacs/mdlib/update.c b/src/gromacs/mdlib/update.c index 93b7f59c1e..373212ca8a 100644 --- a/src/gromacs/mdlib/update.c +++ b/src/gromacs/mdlib/update.c @@ -34,41 +34,37 @@ * 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 -#endif +#include "gmxpre.h" +#include "gromacs/legacyheaders/update.h" -#include #include - -#include "types/commrec.h" -#include "sysstuff.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "nrnb.h" -#include "physics.h" -#include "macros.h" -#include "vec.h" -#include "main.h" -#include "update.h" -#include "gromacs/random/random.h" -#include "mshift.h" -#include "tgroup.h" -#include "force.h" -#include "names.h" -#include "txtdump.h" -#include "mdrun.h" -#include "constr.h" -#include "disre.h" -#include "orires.h" -#include "gmx_omp_nthreads.h" +#include #include "gromacs/fileio/confio.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/tgroup.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/mshift.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pulling/pull.h" +#include "gromacs/random/random.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*/ diff --git a/src/gromacs/mdlib/vcm.c b/src/gromacs/mdlib/vcm.c index 3be1995d40..31c2cf2c94 100644 --- a/src/gromacs/mdlib/vcm.c +++ b/src/gromacs/mdlib/vcm.c @@ -35,18 +35,17 @@ * 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 -#endif +#include "gmxpre.h" -#include "macros.h" -#include "vcm.h" -#include "vec.h" +#include "gromacs/legacyheaders/vcm.h" + +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/utility/smalloc.h" -#include "names.h" -#include "txtdump.h" -#include "network.h" -#include "pbc.h" t_vcm *init_vcm(FILE *fp, gmx_groups_t *groups, t_inputrec *ir) { diff --git a/src/gromacs/mdlib/vsite.c b/src/gromacs/mdlib/vsite.c index c63d8aa756..984426f319 100644 --- a/src/gromacs/mdlib/vsite.c +++ b/src/gromacs/mdlib/vsite.c @@ -34,25 +34,26 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/legacyheaders/vsite.h" #include -#include "typedefs.h" -#include "vsite.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "nrnb.h" -#include "vec.h" -#include "network.h" -#include "mshift.h" -#include "pbc.h" -#include "domdec.h" -#include "mtop_util.h" -#include "gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.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/topology/mtop_util.h" #include "gromacs/utility/gmxomp.h" +#include "gromacs/utility/smalloc.h" /* Routines to send/recieve coordinates and force * of constructing atoms. diff --git a/src/gromacs/mdlib/wall.c b/src/gromacs/mdlib/wall.c index 6de4e9e447..bdc5c90e40 100644 --- a/src/gromacs/mdlib/wall.c +++ b/src/gromacs/mdlib/wall.c @@ -35,21 +35,20 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" #include #include + +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/typedefs.h" #include "gromacs/math/utilities.h" -#include "sysstuff.h" -#include "typedefs.h" -#include "macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" -#include "force.h" -#include "gromacs/fileio/filenm.h" -#include "nrnb.h" -#include "vec.h" void make_wall_tables(FILE *fplog, const output_env_t oenv, const t_inputrec *ir, const char *tabfn, diff --git a/src/gromacs/mdlib/wnblist.c b/src/gromacs/mdlib/wnblist.c index eb99f7a3a4..afcef8db51 100644 --- a/src/gromacs/mdlib/wnblist.c +++ b/src/gromacs/mdlib/wnblist.c @@ -35,23 +35,22 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "force.h" -#include "gromacs/utility/smalloc.h" -#include "types/commrec.h" -#include "ns.h" -#include "nrnb.h" -#include "gmx_fatal.h" -#include "macros.h" -#include "gromacs/fileio/futil.h" -#include "names.h" -#include "domdec.h" + #include "gromacs/fileio/gmxfio.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" #define header "Neighborlist:" diff --git a/src/gromacs/onlinehelp/CMakeLists.txt b/src/gromacs/onlinehelp/CMakeLists.txt index a6448783a8..c34de31cc0 100644 --- a/src/gromacs/onlinehelp/CMakeLists.txt +++ b/src/gromacs/onlinehelp/CMakeLists.txt @@ -35,10 +35,6 @@ file(GLOB ONLINEHELP_SOURCES *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${ONLINEHELP_SOURCES} PARENT_SCOPE) -set(ONLINEHELP_PUBLIC_HEADERS - helptopicinterface.h) -gmx_install_headers(onlinehelp ${ONLINEHELP_PUBLIC_HEADERS}) - if (BUILD_TESTING) add_subdirectory(tests) endif() diff --git a/src/gromacs/onlinehelp/helpformat.cpp b/src/gromacs/onlinehelp/helpformat.cpp index e98f6a63a9..e5f7212393 100644 --- a/src/gromacs/onlinehelp/helpformat.cpp +++ b/src/gromacs/onlinehelp/helpformat.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_onlinehelp */ +#include "gmxpre.h" + #include "helpformat.h" #include diff --git a/src/gromacs/onlinehelp/helpformat.h b/src/gromacs/onlinehelp/helpformat.h index 6891adfb08..98df196f44 100644 --- a/src/gromacs/onlinehelp/helpformat.h +++ b/src/gromacs/onlinehelp/helpformat.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -45,7 +45,7 @@ #include -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/onlinehelp/helpmanager.cpp b/src/gromacs/onlinehelp/helpmanager.cpp index 733509737d..45193dcd51 100644 --- a/src/gromacs/onlinehelp/helpmanager.cpp +++ b/src/gromacs/onlinehelp/helpmanager.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_onlinehelp */ +#include "gmxpre.h" + #include "helpmanager.h" #include diff --git a/src/gromacs/onlinehelp/helpmanager.h b/src/gromacs/onlinehelp/helpmanager.h index 122d72242e..4418edf871 100644 --- a/src/gromacs/onlinehelp/helpmanager.h +++ b/src/gromacs/onlinehelp/helpmanager.h @@ -1,7 +1,7 @@ /* * 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. @@ -45,7 +45,7 @@ #include -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/onlinehelp/helptopic.cpp b/src/gromacs/onlinehelp/helptopic.cpp index 10a86d8553..8bcaa6ac94 100644 --- a/src/gromacs/onlinehelp/helptopic.cpp +++ b/src/gromacs/onlinehelp/helptopic.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_onlinehelp */ +#include "gmxpre.h" + #include "helptopic.h" #include diff --git a/src/gromacs/onlinehelp/helptopic.h b/src/gromacs/onlinehelp/helptopic.h index f67bc8e993..bff75e3876 100644 --- a/src/gromacs/onlinehelp/helptopic.h +++ b/src/gromacs/onlinehelp/helptopic.h @@ -1,7 +1,7 @@ /* * 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. @@ -44,11 +44,10 @@ #ifndef GMX_ONLINEHELP_HELPTOPIC_H #define GMX_ONLINEHELP_HELPTOPIC_H -#include "../utility/common.h" -#include "../utility/stringutil.h" -#include "../utility/uniqueptr.h" - -#include "helptopicinterface.h" +#include "gromacs/onlinehelp/helptopicinterface.h" +#include "gromacs/utility/common.h" +#include "gromacs/utility/stringutil.h" +#include "gromacs/utility/uniqueptr.h" namespace gmx { diff --git a/src/gromacs/onlinehelp/helptopicinterface.h b/src/gromacs/onlinehelp/helptopicinterface.h index 1c6926369f..2a6479ed27 100644 --- a/src/gromacs/onlinehelp/helptopicinterface.h +++ b/src/gromacs/onlinehelp/helptopicinterface.h @@ -32,7 +32,20 @@ * 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 +/*! \libinternal \defgroup module_onlinehelp Help Formatting for Online Help (onlinehelp) + * \ingroup group_utilitymodules + * \brief + * Provides functionality for formatting help text for console and other + * formats. + * + * This module provides helper functions and classes for formatting console + * help, as well as man pages and HTML help from the source code. It should + * not be necessary to call any methods in this module outside the \Gromacs + * library. + * + * \author Teemu Murtola + */ +/*! \libinternal \file * \brief * Declares gmx::HelpTopicInterface. * @@ -43,28 +56,22 @@ #ifndef GMX_ONLINEHELP_HELPTOPICINTERFACE_H #define GMX_ONLINEHELP_HELPTOPICINTERFACE_H -#include "../utility/uniqueptr.h" +#include "gromacs/utility/uniqueptr.h" namespace gmx { class HelpWriterContext; -/*! \brief +/*! \libinternal \brief * Provides a single online help topic. * - * \if libapi * Implementations of these methods should not throw, except that writeHelp() * is allowed to throw on out-of-memory or I/O errors since those it cannot * avoid. * * Header helptopic.h contains classes that implement this interface and make * it simple to write concrete help topic classes. - * \endif - * - * This class is in a public header, and exposed through HelpTopicPointer, but - * it is not intended to be used outside the library. To access a help topic - * with public API methods, use HelpManager. * * \inlibraryapi * \ingroup module_onlinehelp diff --git a/src/gromacs/onlinehelp/helpwritercontext.cpp b/src/gromacs/onlinehelp/helpwritercontext.cpp index 2a30686f39..8ede31c71a 100644 --- a/src/gromacs/onlinehelp/helpwritercontext.cpp +++ b/src/gromacs/onlinehelp/helpwritercontext.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_onlinehelp */ +#include "gmxpre.h" + #include "helpwritercontext.h" #include @@ -61,7 +63,7 @@ namespace gmx namespace { -//! \addtogroup module_onlinehelp +//! \internal \addtogroup module_onlinehelp //! \{ struct t_sandr diff --git a/src/gromacs/onlinehelp/helpwritercontext.h b/src/gromacs/onlinehelp/helpwritercontext.h index 157ea00b8a..8bbc2b63e8 100644 --- a/src/gromacs/onlinehelp/helpwritercontext.h +++ b/src/gromacs/onlinehelp/helpwritercontext.h @@ -46,7 +46,7 @@ #include #include -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/onlinehelp/tests/helpformat.cpp b/src/gromacs/onlinehelp/tests/helpformat.cpp index b7a03e94ac..797593e6b8 100644 --- a/src/gromacs/onlinehelp/tests/helpformat.cpp +++ b/src/gromacs/onlinehelp/tests/helpformat.cpp @@ -39,10 +39,12 @@ * \author Teemu Murtola * \ingroup module_onlinehelp */ -#include +#include "gmxpre.h" #include "gromacs/onlinehelp/helpformat.h" +#include + #include "testutils/stringtest.h" namespace diff --git a/src/gromacs/onlinehelp/tests/helpmanager.cpp b/src/gromacs/onlinehelp/tests/helpmanager.cpp index b3ce50e09f..09b22225f1 100644 --- a/src/gromacs/onlinehelp/tests/helpmanager.cpp +++ b/src/gromacs/onlinehelp/tests/helpmanager.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_onlinehelp */ +#include "gmxpre.h" + #include "gromacs/onlinehelp/helpmanager.h" #include diff --git a/src/gromacs/onlinehelp/tests/mock_helptopic.cpp b/src/gromacs/onlinehelp/tests/mock_helptopic.cpp index f982a7ac16..5d7484d1f9 100644 --- a/src/gromacs/onlinehelp/tests/mock_helptopic.cpp +++ b/src/gromacs/onlinehelp/tests/mock_helptopic.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_onlinehelp */ +#include "gmxpre.h" + #include "mock_helptopic.h" #include diff --git a/src/gromacs/options.h b/src/gromacs/options.h index 95ab621557..a6bc7e8362 100644 --- a/src/gromacs/options.h +++ b/src/gromacs/options.h @@ -1,7 +1,7 @@ /* * 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. @@ -146,8 +146,10 @@ #ifndef GMX_OPTIONS_H #define GMX_OPTIONS_H -#include "options/basicoptions.h" -#include "options/filenameoption.h" -#include "options/options.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/options/basicoptions.h" +#include "gromacs/options/filenameoption.h" +#include "gromacs/options/filenameoptionmanager.h" +#include "gromacs/options/options.h" #endif diff --git a/src/gromacs/options/CMakeLists.txt b/src/gromacs/options/CMakeLists.txt index cfb6a36b5b..446c55228a 100644 --- a/src/gromacs/options/CMakeLists.txt +++ b/src/gromacs/options/CMakeLists.txt @@ -39,6 +39,7 @@ set(OPTIONS_PUBLIC_HEADERS abstractoption.h basicoptions.h filenameoption.h + filenameoptionmanager.h optionfiletype.h optionflags.h options.h diff --git a/src/gromacs/options/abstractoption.cpp b/src/gromacs/options/abstractoption.cpp index 0db9950f98..a71ed24353 100644 --- a/src/gromacs/options/abstractoption.cpp +++ b/src/gromacs/options/abstractoption.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_options */ -#include "gromacs/options/abstractoption.h" +#include "gmxpre.h" + +#include "abstractoption.h" #include "gromacs/options/abstractoptionstorage.h" #include "gromacs/options/optionflags.h" diff --git a/src/gromacs/options/abstractoption.h b/src/gromacs/options/abstractoption.h index ea365d2773..2793f2f0fa 100644 --- a/src/gromacs/options/abstractoption.h +++ b/src/gromacs/options/abstractoption.h @@ -57,22 +57,17 @@ #include #include -#include "../utility/common.h" -#include "../utility/uniqueptr.h" - -#include "optionflags.h" +#include "gromacs/options/optionflags.h" +#include "gromacs/utility/common.h" namespace gmx { class AbstractOptionStorage; template class OptionStorageTemplate; +class OptionManagerContainer; class Options; -//! Smart pointer for managing an AbstractOptionStorage object. -typedef gmx_unique_ptr::type - AbstractOptionStoragePointer; - /*! \brief * Abstract base class for specifying option properties. * @@ -108,8 +103,10 @@ class AbstractOption /*! \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. @@ -119,8 +116,16 @@ class AbstractOption * They should also throw APIError if they detect problems. * * Should only be called by Options::addOption(). + * + * The ownership of the return value is passed, but is not using a + * smart pointer to avoid introducing such a dependency in an installed + * header. The implementation will always consist of a single `new` + * call and returning that value, and the caller always immediately + * wraps the pointer in a smart pointer, so there is not exception + * safety issue. */ - virtual AbstractOptionStoragePointer createStorage() const = 0; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const = 0; //! Sets the description for the option. void setDescription(const char *descr) { descr_ = descr; } diff --git a/src/gromacs/options/abstractoptionstorage.h b/src/gromacs/options/abstractoptionstorage.h index 9cb9ff543e..9081d03898 100644 --- a/src/gromacs/options/abstractoptionstorage.h +++ b/src/gromacs/options/abstractoptionstorage.h @@ -45,9 +45,8 @@ #include -#include "../utility/common.h" - -#include "optionflags.h" +#include "gromacs/options/optionflags.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/options/basicoptions.cpp b/src/gromacs/options/basicoptions.cpp index f1af57aa32..4124555607 100644 --- a/src/gromacs/options/basicoptions.cpp +++ b/src/gromacs/options/basicoptions.cpp @@ -39,8 +39,9 @@ * \author Teemu Murtola * \ingroup module_options */ +#include "gmxpre.h" + #include "basicoptions.h" -#include "basicoptionstorage.h" #include #include @@ -54,6 +55,8 @@ #include "gromacs/utility/exceptions.h" #include "gromacs/utility/stringutil.h" +#include "basicoptionstorage.h" + namespace { @@ -138,9 +141,10 @@ bool BooleanOptionInfo::defaultValue() const * BooleanOption */ -AbstractOptionStoragePointer BooleanOption::createStorage() const +AbstractOptionStorage * +BooleanOption::createStorage(const OptionManagerContainer & /*managers*/) const { - return AbstractOptionStoragePointer(new BooleanOptionStorage(*this)); + return new BooleanOptionStorage(*this); } @@ -195,9 +199,10 @@ IntegerOptionInfo::IntegerOptionInfo(IntegerOptionStorage *option) * IntegerOption */ -AbstractOptionStoragePointer IntegerOption::createStorage() const +AbstractOptionStorage * +IntegerOption::createStorage(const OptionManagerContainer & /*managers*/) const { - return AbstractOptionStoragePointer(new IntegerOptionStorage(*this)); + return new IntegerOptionStorage(*this); } @@ -242,9 +247,10 @@ Int64OptionInfo::Int64OptionInfo(Int64OptionStorage *option) * Int64Option */ -AbstractOptionStoragePointer Int64Option::createStorage() const +AbstractOptionStorage * +Int64Option::createStorage(const OptionManagerContainer & /*managers*/) const { - return AbstractOptionStoragePointer(new Int64OptionStorage(*this)); + return new Int64OptionStorage(*this); } @@ -343,9 +349,10 @@ void DoubleOptionInfo::setScaleFactor(double factor) * DoubleOption */ -AbstractOptionStoragePointer DoubleOption::createStorage() const +AbstractOptionStorage * +DoubleOption::createStorage(const OptionManagerContainer & /*managers*/) const { - return AbstractOptionStoragePointer(new DoubleOptionStorage(*this)); + return new DoubleOptionStorage(*this); } @@ -446,9 +453,10 @@ void FloatOptionInfo::setScaleFactor(double factor) * FloatOption */ -AbstractOptionStoragePointer FloatOption::createStorage() const +AbstractOptionStorage * +FloatOption::createStorage(const OptionManagerContainer & /*managers*/) const { - return AbstractOptionStoragePointer(new FloatOptionStorage(*this)); + return new FloatOptionStorage(*this); } @@ -515,11 +523,6 @@ StringOptionStorage::StringOptionStorage(const StringOption &settings) GMX_THROW(APIError("Conflicting default values")); } } - // If there is no default value, match is still -1. - if (enumIndexStore_ != NULL) - { - *enumIndexStore_ = match; - } } if (settings.defaultEnumIndex_ >= 0) { @@ -527,6 +530,12 @@ StringOptionStorage::StringOptionStorage(const StringOption &settings) addValue(allowed_[settings.defaultEnumIndex_]); commitValues(); } + // Somewhat subtly, this does not update the stored enum index if the + // caller has not provided store() or storeVector(), because values() + // will be empty in such a case. This leads to (desired) behavior of + // preserving the existing value in the enum index store variable in such + // cases. + refreshEnumIndexStore(); } std::string StringOptionStorage::formatExtraDescription() const @@ -585,15 +594,27 @@ void StringOptionStorage::convertValue(const std::string &value) void StringOptionStorage::refreshValues() { MyBase::refreshValues(); + refreshEnumIndexStore(); +} + +void StringOptionStorage::refreshEnumIndexStore() +{ if (enumIndexStore_ != NULL) { for (size_t i = 0; i < values().size(); ++i) { - ValueList::const_iterator match = - std::find(allowed_.begin(), allowed_.end(), values()[i]); - GMX_ASSERT(match != allowed_.end(), - "Enum value not found (internal error)"); - enumIndexStore_[i] = static_cast(match - allowed_.begin()); + if (values()[i].empty()) + { + enumIndexStore_[i] = -1; + } + else + { + ValueList::const_iterator match = + std::find(allowed_.begin(), allowed_.end(), values()[i]); + GMX_ASSERT(match != allowed_.end(), + "Enum value not found (internal error)"); + enumIndexStore_[i] = static_cast(match - allowed_.begin()); + } } } } @@ -631,9 +652,10 @@ const std::vector &StringOptionInfo::allowedValues() const * StringOption */ -AbstractOptionStoragePointer StringOption::createStorage() const +AbstractOptionStorage * +StringOption::createStorage(const OptionManagerContainer & /*managers*/) const { - return AbstractOptionStoragePointer(new StringOptionStorage(*this)); + return new StringOptionStorage(*this); } } // namespace gmx diff --git a/src/gromacs/options/basicoptions.h b/src/gromacs/options/basicoptions.h index e733ad8760..4d58fcf241 100644 --- a/src/gromacs/options/basicoptions.h +++ b/src/gromacs/options/basicoptions.h @@ -48,10 +48,9 @@ #include -#include "../legacyheaders/types/simple.h" -#include "../utility/gmxassert.h" - -#include "abstractoption.h" +#include "gromacs/options/abstractoption.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/utility/gmxassert.h" namespace gmx { @@ -98,7 +97,8 @@ class BooleanOption : public OptionTemplate private: //! Creates a BooleanOptionStorage object. - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; }; /*! \brief @@ -140,7 +140,8 @@ class IntegerOption : public OptionTemplate private: //! Creates an IntegerOptionStorage object. - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; /*! \brief * Needed to initialize IntegerOptionStorage from this class without @@ -169,7 +170,8 @@ class Int64Option : public OptionTemplate private: //! Creates an Int64OptionStorage object. - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; /*! \brief * Needed to initialize Int64OptionStorage from this class without @@ -214,7 +216,8 @@ class DoubleOption : public OptionTemplate private: //! Creates a DoubleOptionStorage object. - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; bool bTime_; @@ -252,7 +255,8 @@ class FloatOption : public OptionTemplate private: //! Creates a FloatOptionStorage object. - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; bool bTime_; @@ -359,7 +363,10 @@ class StringOption : public OptionTemplate * The index (zero-based) of the selected value in the array \p values * provided to enumValues() is written into \p *store after the * option gets its value. If the option has not been provided, - * and there is no default value, -1 is stored. + * and there is no default value, -1 is stored. If store(), + * storeVector() or defaultEnumIndex() is not present, the value in + * \p *store is kept as a default value, otherwise it is always + * overwritten. * * Cannot be specified without enumValue(). * @@ -372,7 +379,8 @@ class StringOption : public OptionTemplate private: //! Creates a StringOptionStorage object. - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; const char *const *enumValues_; int enumValuesCount_; diff --git a/src/gromacs/options/basicoptionstorage.h b/src/gromacs/options/basicoptionstorage.h index 02529cd7a2..59ab9f16fc 100644 --- a/src/gromacs/options/basicoptionstorage.h +++ b/src/gromacs/options/basicoptionstorage.h @@ -45,8 +45,8 @@ #include #include -#include "basicoptions.h" -#include "optionstoragetemplate.h" +#include "gromacs/options/basicoptions.h" +#include "gromacs/options/optionstoragetemplate.h" namespace gmx { @@ -206,6 +206,8 @@ class StringOptionStorage : public OptionStorageTemplate virtual void convertValue(const std::string &value); virtual void refreshValues(); + void refreshEnumIndexStore(); + StringOptionInfo info_; ValueList allowed_; int *enumIndexStore_; diff --git a/src/gromacs/options/filenameoption.cpp b/src/gromacs/options/filenameoption.cpp index f5b58f0665..1f13641786 100644 --- a/src/gromacs/options/filenameoption.cpp +++ b/src/gromacs/options/filenameoption.cpp @@ -39,237 +39,159 @@ * \author Teemu Murtola * \ingroup module_options */ +#include "gmxpre.h" + #include "filenameoption.h" -#include "filenameoptionstorage.h" + +#include #include #include #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/exceptions.h" +#include "gromacs/utility/gmxassert.h" #include "gromacs/utility/stringutil.h" +#include "filenameoptionstorage.h" + namespace gmx { namespace { -class FileTypeRegistry; - //! \addtogroup module_options //! \{ -//! Shorthand for a list of file extensions. -typedef std::vector 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 } +}; /******************************************************************** * 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_; } - - //! Returns whether \p filename has a valid extension for this type. - bool hasKnownExtension(const std::string &filename) const; - //! Adds a default extension for this type to \p filename. - std::string addExtension(const std::string &filename) const; /*! \brief - * Adds an extension to \p filename if it results in an existing file. + * Returns a handler for a single file type. * - * Tries to add each extension for this file type to \p filename and - * checks whether this results in an existing file. - * The first match is returned. - * Returns an empty string if no existing file is found. + * \param[in] fileType File type (from filenm.h) to use. */ - std::string findFileWithExtension(const std::string &filename) const; + explicit FileTypeHandler(int fileType); - private: - //! Possible extensions for this file type. - ExtensionList extensions_; + //! 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 fileType (from filenm.h) is accepted for this type. + bool isValidType(int fileType) const; + private: /*! \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_); } - } - return false; -} - -std::string -FileTypeHandler::addExtension(const std::string &filename) const -{ - if (extensions_.empty()) - { - return filename; - } - return filename + extensions_[0]; -} - -std::string -FileTypeHandler::findFileWithExtension(const std::string &filename) const -{ - for (size_t i = 0; i < extensions_.size(); ++i) - { - std::string testFilename(filename + extensions_[i]); - if (File::exists(testFilename)) + else if (ftp2ext_with_dot(fileType_)[0] != '\0') { - return testFilename; + extensionCount_ = 1; } } - return std::string(); } -/******************************************************************** - * FileTypeRegistry - */ - -/*! \internal \brief - * Singleton for managing static file type info for FileNameOptionStorage. - */ -class FileTypeRegistry +int FileTypeHandler::extensionCount() const { - 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 filetypes_; -}; - -// static -const FileTypeRegistry & -FileTypeRegistry::instance() -{ - static FileTypeRegistry singleton; - return singleton; + return extensionCount_; } -const FileTypeHandler & -FileTypeRegistry::handlerForType(OptionFileType type, int legacyType) const +const char *FileTypeHandler::extension(int i) const { - int index = type; - if (type == eftUnknown && legacyType >= 0) + GMX_ASSERT(i >= 0 && i < extensionCount_, "Invalid extension index"); + if (genericTypes_ != NULL) { - index = eftOptionFileType_NR + legacyType; + return ftp2ext_with_dot(genericTypes_[i]); } - GMX_RELEASE_ASSERT(index >= 0 && static_cast(index) < filetypes_.size(), - "Invalid file type"); - return filetypes_[index]; + return ftp2ext_with_dot(fileType_); } -FileTypeRegistry::FileTypeRegistry() -{ - 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) - { - registerType(eftOptionFileType_NR + i, i); - } -} - -void FileTypeRegistry::registerType(int type, int ftp) +bool +FileTypeHandler::isValidType(int fileType) const { - GMX_RELEASE_ASSERT(type >= 0 && static_cast(type) < filetypes_.size(), - "Invalid file type"); - const int genericTypeCount = ftp2generic_count(ftp); - if (genericTypeCount > 0) + if (genericTypes_ != NULL) { - const int *const genericTypes = ftp2generic_list(ftp); - filetypes_[type].extensions_.clear(); - filetypes_[type].extensions_.reserve(genericTypeCount); - for (int i = 0; i < genericTypeCount; ++i) + for (int i = 0; i < extensionCount(); ++i) { - filetypes_[type].extensions_.push_back(ftp2ext_with_dot(genericTypes[i])); + if (fileType == genericTypes_[i]) + { + return true; + } } + return false; } else { - registerType(type, ftp2ext_with_dot(ftp)); + return fileType == fileType_; } } -void FileTypeRegistry::registerType(int type, const char *extension) -{ - GMX_RELEASE_ASSERT(type >= 0 && static_cast(type) < filetypes_.size(), - "Invalid file type"); - filetypes_[type].extensions_.assign(1, extension); -} - -/*! \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] 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) -{ - 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. - return value; - } - const FileTypeRegistry ®istry = FileTypeRegistry::instance(); - const FileTypeHandler &typeHandler = registry.handlerForType(filetype, legacyType); - if (typeHandler.hasKnownExtension(value)) - { - return value; - } - if (bCompleteToExisting) - { - std::string newValue = typeHandler.findFileWithExtension(value); - if (!newValue.empty()) - { - return newValue; - } - } - return typeHandler.addExtension(value); -} - //! \} } // namespace @@ -278,19 +200,58 @@ std::string completeFileName(const std::string &value, OptionFileType filetype, * FileNameOptionStorage */ -FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings) - : MyBase(settings), info_(this), filetype_(settings.filetype_), - legacyType_(settings.legacyType_), - bRead_(settings.bRead_), bWrite_(settings.bWrite_), +FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings, + FileNameOptionManager *manager) + : MyBase(settings), info_(this), manager_(manager), fileType_(-1), + defaultExtension_(""), 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 map(c_fileTypeMapping); + ConstArrayRef::const_iterator i; + for (i = map.begin(); i != map.end(); ++i) + { + if (i->optionType == settings.optionType_) + { + fileType_ = i->fileType; + break; + } + } + } + FileTypeHandler typeHandler(fileType_); + if (settings.defaultType_ >= 0 && settings.defaultType_ < efNR) + { + // This also assures that the default type is not a generic type. + GMX_RELEASE_ASSERT(typeHandler.isValidType(settings.defaultType_), + "Default type for a file option is not an accepted " + "type for the option"); + FileTypeHandler defaultHandler(settings.defaultType_); + defaultExtension_ = defaultHandler.extension(0); + } + else if (typeHandler.extensionCount() > 0) + { + defaultExtension_ = typeHandler.extension(0); + } if (settings.defaultBasename_ != NULL) { - std::string defaultValue = - completeFileName(settings.defaultBasename_, filetype_, - legacyType_, false); + std::string defaultValue(settings.defaultBasename_); + int type = fn2ftp(settings.defaultBasename_); + GMX_RELEASE_ASSERT(type == efNR || type == settings.defaultType_, + "Default basename has an extension that does not " + "match the default type"); + if (type == efNR) + { + defaultValue.append(defaultExtension()); + } setDefaultValueIfSet(defaultValue); - if (isRequired()) + if (isRequired() || settings.bLegacyOptionalBehavior_) { setDefaultValue(defaultValue); } @@ -299,27 +260,24 @@ FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings) 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"; } @@ -333,18 +291,16 @@ std::string FileNameOptionStorage::typeString() const 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; @@ -357,21 +313,136 @@ std::string FileNameOptionStorage::formatSingleValue(const std::string &value) c void FileNameOptionStorage::convertValue(const std::string &value) { - bool bInput = isInputFile() || isInputOutputFile(); - addValue(completeFileName(value, filetype_, legacyType_, bInput)); + if (manager_ != NULL) + { + std::string processedValue = manager_->completeFileName(value, info_); + if (!processedValue.empty()) + { + // If the manager returns a value, use it without further checks, + // except for sanity checking. + if (!isDirectoryOption()) + { + const int fileType = fn2ftp(processedValue.c_str()); + if (fileType == efNR) + { + // If the manager returned an invalid file name, assume + // that it knows what it is doing. But assert that it + // only does that for the only case that it is currently + // required for: VMD plugins. + GMX_ASSERT(isInputFile() && isTrajectoryOption(), + "Manager returned an invalid file name"); + } + else + { + GMX_ASSERT(isValidType(fileType), + "Manager returned an invalid file name"); + } + } + addValue(processedValue); + return; + } + } + // Currently, directory options are simple, and don't need any + // special processing. + // TODO: Consider splitting them into a separate DirectoryOption. + if (isDirectoryOption()) + { + addValue(value); + return; + } + const int fileType = fn2ftp(value.c_str()); + if (fileType == efNR) + { + std::string message + = formatString("File '%s' cannot be used by GROMACS because it " + "does not have a recognizable extension.\n" + "The following extensions are possible for this option:\n %s", + value.c_str(), joinStrings(extensions(), ", ").c_str()); + GMX_THROW(InvalidInputError(message)); + } + else if (!isValidType(fileType)) + { + std::string message + = formatString("File name '%s' cannot be used for this option.\n" + "Only the following extensions are possible:\n %s", + value.c_str(), joinStrings(extensions(), ", ").c_str()); + GMX_THROW(InvalidInputError(message)); + } + addValue(value); +} + +void FileNameOptionStorage::processAll() +{ + if (manager_ != NULL && hasFlag(efOption_HasDefaultValue)) + { + ValueList &valueList = values(); + GMX_RELEASE_ASSERT(valueList.size() == 1, + "There should be only one default value"); + if (!valueList[0].empty()) + { + const std::string &oldValue = valueList[0]; + GMX_ASSERT(endsWith(oldValue, defaultExtension()), + "Default value does not have the expected extension"); + const std::string prefix + = stripSuffixIfPresent(oldValue, defaultExtension()); + const std::string newValue + = manager_->completeDefaultFileName(prefix, info_); + if (!newValue.empty() && newValue != oldValue) + { + GMX_ASSERT(isValidType(fn2ftp(newValue.c_str())), + "Manager returned an invalid default value"); + valueList[0] = newValue; + refreshValues(); + } + } + } } bool FileNameOptionStorage::isDirectoryOption() const { - return legacyType_ == efRND; + return fileType_ == efRND; } -ConstArrayRef FileNameOptionStorage::extensions() const +bool FileNameOptionStorage::isTrajectoryOption() const { - const FileTypeRegistry ®istry = FileTypeRegistry::instance(); - const FileTypeHandler &typeHandler = registry.handlerForType(filetype_, legacyType_); - const ExtensionList &extensions = typeHandler.extensions(); - return constArrayRefFromVector(extensions.begin(), extensions.end()); + return fileType_ == efTRX; +} + +const char *FileNameOptionStorage::defaultExtension() const +{ + return defaultExtension_; +} + +std::vector FileNameOptionStorage::extensions() const +{ + FileTypeHandler typeHandler(fileType_); + std::vector result; + result.reserve(typeHandler.extensionCount()); + for (int i = 0; i < typeHandler.extensionCount(); ++i) + { + result.push_back(typeHandler.extension(i)); + } + return result; +} + +bool FileNameOptionStorage::isValidType(int fileType) const +{ + FileTypeHandler typeHandler(fileType_); + return typeHandler.isValidType(fileType); +} + +ConstArrayRef FileNameOptionStorage::fileTypes() const +{ + if (fileType_ < 0) + { + return ConstArrayRef(); + } + const int genericTypeCount = ftp2generic_count(fileType_); + if (genericTypeCount > 0) + { + return constArrayRefFromArray(ftp2generic_list(fileType_), genericTypeCount); + } + return constArrayRefFromArray(&fileType_, 1); } /******************************************************************** @@ -413,18 +484,39 @@ bool FileNameOptionInfo::isDirectoryOption() const return option().isDirectoryOption(); } +bool FileNameOptionInfo::isTrajectoryOption() const +{ + return option().isTrajectoryOption(); +} + +const char *FileNameOptionInfo::defaultExtension() const +{ + return option().defaultExtension(); +} + FileNameOptionInfo::ExtensionList FileNameOptionInfo::extensions() const { return option().extensions(); } +bool FileNameOptionInfo::isValidType(int fileType) const +{ + return option().isValidType(fileType); +} + +ConstArrayRef FileNameOptionInfo::fileTypes() const +{ + return option().fileTypes(); +} + /******************************************************************** * FileNameOption */ -AbstractOptionStoragePointer FileNameOption::createStorage() const +AbstractOptionStorage * +FileNameOption::createStorage(const OptionManagerContainer &managers) const { - return AbstractOptionStoragePointer(new FileNameOptionStorage(*this)); + return new FileNameOptionStorage(*this, managers.get()); } } // namespace gmx diff --git a/src/gromacs/options/filenameoption.h b/src/gromacs/options/filenameoption.h index 21e48aa7a5..2c1536fc8c 100644 --- a/src/gromacs/options/filenameoption.h +++ b/src/gromacs/options/filenameoption.h @@ -44,15 +44,17 @@ #define GMX_OPTIONS_FILENAMEOPTION_H #include +#include -#include "abstractoption.h" -#include "optionfiletype.h" +#include "gromacs/options/abstractoption.h" +#include "gromacs/options/optionfiletype.h" namespace gmx { template class ConstArrayRef; class FileNameOptionInfo; +class FileNameOptionManager; class FileNameOptionStorage; /*! \brief @@ -71,8 +73,9 @@ class FileNameOption : public OptionTemplate //! 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), defaultType_(-1), + bLegacyOptionalBehavior_(false), bRead_(false), bWrite_(false), bLibrary_(false) { } @@ -83,7 +86,7 @@ class FileNameOption : public OptionTemplate * 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. * @@ -92,6 +95,16 @@ class FileNameOption : public OptionTemplate */ 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(); } @@ -126,14 +139,43 @@ class FileNameOption : public OptionTemplate * * Use this method instead of defaultValue() or defaultValueIfSet() to * set a default value for a file name option. No extension needs to - * be provided; it is automatically added based on filetype(). + * be provided; it is automatically added based on filetype() or + * defaultType(). * The behavior is also adjusted based on required(): if the option is * 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. + * + * If FileNameOptionManager is used, 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(); } + /*! \brief + * Sets a default type/extension for the file option. + * + * For options that accept multiple types of files (e.g., + * eftTrajectory), this method sets the default extension used + * for completing defaultBasename(), as well as the default extension + * used by FileNameOptionManager to complete various file names. + * + * The value should be one of the enumerated `ef*` values from + * filenm.h, and be a valid type for the type specified with + * filetype(). + */ + MyClass &defaultType(int filetype) + { defaultType_ = filetype; return me(); } private: // Use defaultBasename() instead. @@ -141,11 +183,14 @@ class FileNameOption : public OptionTemplate using MyBase::defaultValueIfSet; //! Creates a FileNameOptionStorage object. - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; - OptionFileType filetype_; + OptionFileType optionType_; int legacyType_; const char *defaultBasename_; + int defaultType_; + bool bLegacyOptionalBehavior_; bool bRead_; bool bWrite_; bool bLibrary_; @@ -167,7 +212,7 @@ class FileNameOptionInfo : public OptionInfo { public: //! Shorthand for a list of extensions. - typedef ConstArrayRef ExtensionList; + typedef std::vector ExtensionList; //! Creates an option info object for the given option. explicit FileNameOptionInfo(FileNameOptionStorage *option); @@ -187,8 +232,16 @@ class FileNameOptionInfo : public OptionInfo //! Whether the option specifies directories. bool isDirectoryOption() const; + //! Whether the option specifies a generic trajectory file. + bool isTrajectoryOption() const; + //! Returns the default extension for this option. + const char *defaultExtension() const; //! Returns the list of extensions this option accepts. ExtensionList extensions() const; + //! Returns whether \p fileType (from filenm.h) is accepted for this option. + bool isValidType(int fileType) const; + //! Returns the list of file types this option accepts. + ConstArrayRef fileTypes() const; private: const FileNameOptionStorage &option() const; diff --git a/src/gromacs/options/filenameoptionmanager.cpp b/src/gromacs/options/filenameoptionmanager.cpp new file mode 100644 index 0000000000..834ec2cc78 --- /dev/null +++ b/src/gromacs/options/filenameoptionmanager.cpp @@ -0,0 +1,292 @@ +/* + * 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 + * \ingroup module_options + */ +#include "gmxpre.h" + +#include "filenameoptionmanager.h" + +#include + +#include + +#include "gromacs/fileio/filenm.h" +#include "gromacs/options/basicoptions.h" +#include "gromacs/options/filenameoption.h" +#include "gromacs/options/options.h" +#include "gromacs/utility/arrayref.h" +#include "gromacs/utility/exceptions.h" +#include "gromacs/utility/file.h" +#include "gromacs/utility/path.h" +#include "gromacs/utility/stringutil.h" + +namespace gmx +{ + +namespace +{ + +//! Extensions that are recognized as compressed files. +const char *const c_compressedExtensions[] = +{ ".gz", ".Z" }; + +/******************************************************************** + * Helper functions + */ + +/*! \brief + * Adds an extension to \p prefix if it results in an existing file. + * + * Tries to add each extension for this file type to \p prefix and + * checks whether this results in an existing file. + * The first match is returned. + * Returns an empty string if no existing file is found. + */ +std::string findExistingExtension(const std::string &prefix, + const FileNameOptionInfo &option) +{ + ConstArrayRef types = option.fileTypes(); + ConstArrayRef::const_iterator i; + for (i = types.begin(); i != types.end(); ++i) + { + std::string testFilename(prefix + ftp2ext_with_dot(*i)); + if (File::exists(testFilename)) + { + return testFilename; + } + } + return std::string(); +} + +} // namespace + +/******************************************************************** + * FileNameOptionManager::Impl + */ + +/*! \internal \brief + * Private implemention class for FileNameOptionManager. + * + * \ingroup module_options + */ +class FileNameOptionManager::Impl +{ + public: + Impl() : bInputCheckingDisabled_(false) {} + + //! Global default file name, if set. + std::string defaultFileName_; + //! Whether input option processing has been disabled. + bool bInputCheckingDisabled_; +}; + +/******************************************************************** + * FileNameOptionManager + */ + +FileNameOptionManager::FileNameOptionManager() + : impl_(new Impl()) +{ +} + +FileNameOptionManager::~FileNameOptionManager() +{ +} + +void FileNameOptionManager::disableInputOptionChecking(bool bDisable) +{ + impl_->bInputCheckingDisabled_ = bDisable; +} + +void FileNameOptionManager::addDefaultFileNameOption( + Options *options, const char *name) +{ + options->addOption( + StringOption(name).store(&impl_->defaultFileName_) + .description("Set the default filename for all file options")); +} + +std::string FileNameOptionManager::completeFileName( + const std::string &value, const FileNameOptionInfo &option) +{ + const bool bInput = option.isInputFile() || option.isInputOutputFile(); + // Currently, directory options are simple, and don't need any + // special processing. + // TODO: Consider splitting them into a separate DirectoryOption. + if (option.isDirectoryOption()) + { + if (!impl_->bInputCheckingDisabled_ && bInput && !Directory::exists(value)) + { + std::string message + = formatString("Directory '%s' does not exist or is not accessible.", + value.c_str()); + // TODO: Get actual errno value from the attempt to open the file + // to provide better feedback to the user. + GMX_THROW(InvalidInputError(message)); + } + return value; + } + const int fileType = fn2ftp(value.c_str()); + if (bInput && !impl_->bInputCheckingDisabled_) + { + if (fileType == efNR && File::exists(value)) + { + ConstArrayRef compressedExtensions(c_compressedExtensions); + ConstArrayRef::const_iterator ext; + for (ext = compressedExtensions.begin(); ext != compressedExtensions.end(); ++ext) + { + if (endsWith(value, *ext)) + { + std::string newValue = value.substr(0, value.length() - std::strlen(*ext)); + if (option.isValidType(fn2ftp(newValue.c_str()))) + { + return newValue; + } + else + { + return std::string(); + } + } + } + // VMD plugins may be able to read the file. + if (option.isInputFile() && option.isTrajectoryOption()) + { + return value; + } + } + else if (fileType == efNR) + { + std::string processedValue = findExistingExtension(value, option); + if (!processedValue.empty()) + { + return processedValue; + } + if (option.isLibraryFile()) + { + // TODO: Treat also library files here. + return value + option.defaultExtension(); + } + else + { + std::string message + = formatString("File '%s' does not exist or is not accessible.\n" + "The following extensions were tried to complete the file name:\n %s", + value.c_str(), joinStrings(option.extensions(), ", ").c_str()); + GMX_THROW(InvalidInputError(message)); + } + } + else if (option.isValidType(fileType)) + { + if (option.isLibraryFile()) + { + // TODO: Treat also library files. + } + else if (!File::exists(value)) + { + std::string message + = formatString("File '%s' does not exist or is not accessible.", + value.c_str()); + // TODO: Get actual errno value from the attempt to open the file + // to provide better feedback to the user. + GMX_THROW(InvalidInputError(message)); + } + return value; + } + } + else // Not an input file + { + if (fileType == efNR) + { + return value + option.defaultExtension(); + } + else if (option.isValidType(fileType)) + { + return value; + } + } + return std::string(); +} + +std::string FileNameOptionManager::completeDefaultFileName( + const std::string &prefix, const FileNameOptionInfo &option) +{ + if (option.isDirectoryOption() || impl_->bInputCheckingDisabled_) + { + return std::string(); + } + const bool bInput = option.isInputFile() || option.isInputOutputFile(); + const std::string realPrefix + = !impl_->defaultFileName_.empty() ? impl_->defaultFileName_ : prefix; + if (bInput) + { + std::string completedName = findExistingExtension(realPrefix, option); + if (!completedName.empty()) + { + return completedName; + } + if (option.isLibraryFile()) + { + // TODO: Treat also library files here. + return realPrefix + option.defaultExtension(); + } + else if (option.isSet()) + { + std::string message + = formatString("No file name was provided, and the default file " + "'%s' does not exist or is not accessible.\n" + "The following extensions were tried to complete the file name:\n %s", + prefix.c_str(), joinStrings(option.extensions(), ", ").c_str()); + GMX_THROW(InvalidInputError(message)); + } + else if (option.isRequired()) + { + std::string message + = formatString("Required option was not provided, and the default file " + "'%s' does not exist or is not accessible.\n" + "The following extensions were tried to complete the file name:\n %s", + prefix.c_str(), joinStrings(option.extensions(), ", ").c_str()); + GMX_THROW(InvalidInputError(message)); + } + // We get here with the legacy optional behavior. + } + return realPrefix + option.defaultExtension(); +} + +} // namespace gmx diff --git a/src/gromacs/options/filenameoptionmanager.h b/src/gromacs/options/filenameoptionmanager.h new file mode 100644 index 0000000000..0fd50ceec8 --- /dev/null +++ b/src/gromacs/options/filenameoptionmanager.h @@ -0,0 +1,162 @@ +/* + * 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 + * \inpublicapi + * \ingroup module_options + */ +#ifndef GMX_OPTIONS_FILENAMEOPTIONMANAGER_H +#define GMX_OPTIONS_FILENAMEOPTIONMANAGER_H + +#include + +#include "gromacs/options/options.h" +#include "gromacs/utility/common.h" + +namespace gmx +{ + +class FileNameOptionInfo; +class Options; + +/*! \brief + * Handles interaction of file name options with global options. + * + * This class contains all logic that completes file names based on user input + * and file system contents. Additionally, this class implements support for a + * global default file name that overrides any option-specific default, as well + * as additional control over how the completion is done. + * + * \todo + * Most of the functionality in this class is specific to command line parsing, + * so it would be cleaner to replace this with an interface, and have the + * actual code in the `commandline` module. + * + * 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: + * the values provided to FileNameOption are used as they are, and exceptions + * are thrown if they are no valid instead of attempting to complete them. + * + * \see Options::addManager() + * + * \inpublicapi + * \ingroup module_selection + */ +class FileNameOptionManager : public OptionManagerInterface +{ + public: + FileNameOptionManager(); + virtual ~FileNameOptionManager(); + + /*! \brief + * Disables special input file option handling. + * + * If disabled, this removes all file system calls from the file + * name option parsing. + * The values returned by FileNameOption for input and input/output + * files are handled with the same simple rule as for output files: + * the default extension is added if the file does not end in a + * recognized extension, and no other checking is done. + * + * This changes the following behavior: + * - Providing non-existent files does not trigger errors. + * - Extensions for input files are not completed to an existing file. + * - Compressed input files do not work. + */ + void disableInputOptionChecking(bool bDisable); + + /*! \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); + + /*! \brief + * Completes file name option values. + * + * \param[in] value Value provided by the user. + * \param[in] option Option for which the value should be completed. + * \returns Value for the file name option. + * \throws std::bad_alloc if out of memory. + * \throws InvalidInputError if the value is not valid for this + * option. + * + * This method is called for each value that the user provides to + * a FileNameOption. The return value (if non-empty) is used as the + * value of the option instead of the user-provided one. + */ + std::string completeFileName(const std::string &value, + const FileNameOptionInfo &option); + /*! \brief + * Completes default values for file name options. + * + * \param[in] prefix Default prefix for the file name. + * \param[in] option Option for which the value should be completed. + * \returns Value for the file name option. + * \throws std::bad_alloc if out of memory. + * \throws InvalidInputError if the value is not valid for this + * option. + * + * This method is called for each FileNameOption that has a default + * value (either a standard default value, or if the user provided the + * option without an explicit value). \p prefix is the default value + * without the default extension for the option. + * If the return value is non-empty, it is used as the default value + * for the option instead of \p prefix + default extension. + */ + std::string completeDefaultFileName(const std::string &prefix, + const FileNameOptionInfo &option); + + private: + class Impl; + + PrivateImplPointer impl_; +}; + +} // namespace gmx + +#endif diff --git a/src/gromacs/options/filenameoptionstorage.h b/src/gromacs/options/filenameoptionstorage.h index f5f94c60a1..7628a379d1 100644 --- a/src/gromacs/options/filenameoptionstorage.h +++ b/src/gromacs/options/filenameoptionstorage.h @@ -43,15 +43,17 @@ #define GMX_OPTIONS_FILENAMEOPTIONSTORAGE_H #include +#include -#include "filenameoption.h" -#include "optionfiletype.h" -#include "optionstoragetemplate.h" +#include "gromacs/options/filenameoption.h" +#include "gromacs/options/optionfiletype.h" +#include "gromacs/options/optionstoragetemplate.h" namespace gmx { class FileNameOption; +class FileNameOptionManager; /*! \internal \brief * Converts, validates, and stores file names. @@ -59,8 +61,14 @@ class FileNameOption; class FileNameOptionStorage : public OptionStorageTemplate { 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; @@ -78,15 +86,25 @@ class FileNameOptionStorage : public OptionStorageTemplate //! \copydoc FileNameOptionInfo::isDirectoryOption() bool isDirectoryOption() const; + //! \copydoc FileNameOptionInfo::isTrajectoryOption() + bool isTrajectoryOption() const; + //! \copydoc FileNameOptionInfo::defaultExtension() + const char *defaultExtension() const; //! \copydoc FileNameOptionInfo::extensions() - ConstArrayRef extensions() const; + std::vector extensions() const; + //! \copydoc FileNameOptionInfo::isValidType() + bool isValidType(int fileType) const; + //! \copydoc FileNameOptionInfo::fileTypes() + ConstArrayRef fileTypes() const; private: virtual void convertValue(const std::string &value); + virtual void processAll(); FileNameOptionInfo info_; - OptionFileType filetype_; - int legacyType_; + FileNameOptionManager *manager_; + int fileType_; + const char *defaultExtension_; bool bRead_; bool bWrite_; bool bLibrary_; diff --git a/src/gromacs/options/optionflags.h b/src/gromacs/options/optionflags.h index 5a4ff6399b..9157ecba9d 100644 --- a/src/gromacs/options/optionflags.h +++ b/src/gromacs/options/optionflags.h @@ -46,7 +46,7 @@ #ifndef GMX_OPTIONS_OPTIONFLAGS_H #define GMX_OPTIONS_OPTIONFLAGS_H -#include "../utility/flags.h" +#include "gromacs/utility/flags.h" namespace gmx { diff --git a/src/gromacs/options/optionmanagercontainer.h b/src/gromacs/options/optionmanagercontainer.h new file mode 100644 index 0000000000..b282cd6390 --- /dev/null +++ b/src/gromacs/options/optionmanagercontainer.h @@ -0,0 +1,124 @@ +/* + * 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 + * \inlibraryapi + * \ingroup module_options + */ +#ifndef GMX_OPTIONS_OPTIONMANAGERCONTAINER_H +#define GMX_OPTIONS_OPTIONMANAGERCONTAINER_H + +#include + +#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 + ManagerType *get() const + { + ManagerType *result = NULL; + for (ListType::const_iterator i = list_.begin(); i != list_.end(); ++i) + { + ManagerType *curr = dynamic_cast(*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 ListType; + + ListType list_; + + GMX_DISALLOW_COPY_AND_ASSIGN(OptionManagerContainer); +}; + +} // namespace gmx + +#endif diff --git a/src/gromacs/options/options-impl.h b/src/gromacs/options/options-impl.h index 6b06f1fcd7..3fba6da02a 100644 --- a/src/gromacs/options/options-impl.h +++ b/src/gromacs/options/options-impl.h @@ -1,7 +1,7 @@ /* * 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. @@ -45,8 +45,10 @@ #include #include -#include "abstractoption.h" -#include "options.h" +#include "gromacs/options/abstractoption.h" +#include "gromacs/options/optionmanagercontainer.h" +#include "gromacs/options/options.h" +#include "gromacs/utility/uniqueptr.h" namespace gmx { @@ -65,6 +67,9 @@ class AbstractOptionStorage; class Options::Impl { public: + //! Smart pointer for managing an AbstractOptionStorage object. + typedef gmx_unique_ptr::type + AbstractOptionStoragePointer; //! Convenience type for list of sections. typedef std::vector SubSectionList; //! Convenience type for list of options. @@ -107,6 +112,12 @@ class Options::Impl 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. * diff --git a/src/gromacs/options/options.cpp b/src/gromacs/options/options.cpp index 8b3c22e264..aec42fc98f 100644 --- a/src/gromacs/options/options.cpp +++ b/src/gromacs/options/options.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_options */ -#include "gromacs/options/options.h" +#include "gmxpre.h" + +#include "options.h" #include "gromacs/options/abstractoption.h" #include "gromacs/options/abstractoptionstorage.h" @@ -54,6 +56,14 @@ namespace gmx { +/******************************************************************** + * OptionManagerInterface + */ + +OptionManagerInterface::~OptionManagerInterface() +{ +} + /******************************************************************** * Options::Impl */ @@ -148,8 +158,28 @@ void Options::setDescription(const ConstArrayRef &descArray) 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"); @@ -162,7 +192,12 @@ void Options::addSubSection(Options *section) OptionInfo *Options::addOption(const AbstractOption &settings) { - AbstractOptionStoragePointer option(settings.createStorage()); + Options::Impl *root = impl_.get(); + while (root->parent_ != NULL) + { + root = root->parent_->impl_.get(); + } + Impl::AbstractOptionStoragePointer option(settings.createStorage(root->managers_)); if (impl_->findOption(option->name().c_str()) != NULL) { GMX_THROW(APIError("Duplicate option: " + option->name())); diff --git a/src/gromacs/options/options.h b/src/gromacs/options/options.h index cd5f1dc7b0..6c6c51fcfd 100644 --- a/src/gromacs/options/options.h +++ b/src/gromacs/options/options.h @@ -48,10 +48,9 @@ #include -#include "../utility/common.h" -#include "../utility/gmxassert.h" - -#include "abstractoption.h" +#include "gromacs/options/abstractoption.h" +#include "gromacs/utility/common.h" +#include "gromacs/utility/gmxassert.h" namespace gmx { @@ -62,6 +61,27 @@ class AbstractOption; 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. * @@ -152,6 +172,28 @@ class Options */ void setDescription(const ConstArrayRef &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. * @@ -161,9 +203,8 @@ class Options * 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 diff --git a/src/gromacs/options/optionsassigner.cpp b/src/gromacs/options/optionsassigner.cpp index a5ed703bee..df3f1320d8 100644 --- a/src/gromacs/options/optionsassigner.cpp +++ b/src/gromacs/options/optionsassigner.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_options */ -#include "gromacs/options/optionsassigner.h" +#include "gmxpre.h" + +#include "optionsassigner.h" #include diff --git a/src/gromacs/options/optionsassigner.h b/src/gromacs/options/optionsassigner.h index 5047b180dc..d56529e707 100644 --- a/src/gromacs/options/optionsassigner.h +++ b/src/gromacs/options/optionsassigner.h @@ -1,7 +1,7 @@ /* * 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. @@ -47,7 +47,7 @@ #include -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/options/optionstoragetemplate.h b/src/gromacs/options/optionstoragetemplate.h index dae027c79a..ad00611d04 100644 --- a/src/gromacs/options/optionstoragetemplate.h +++ b/src/gromacs/options/optionstoragetemplate.h @@ -48,12 +48,11 @@ #include -#include "../utility/common.h" -#include "../utility/exceptions.h" -#include "../utility/gmxassert.h" - -#include "abstractoption.h" -#include "abstractoptionstorage.h" +#include "gromacs/options/abstractoption.h" +#include "gromacs/options/abstractoptionstorage.h" +#include "gromacs/utility/common.h" +#include "gromacs/utility/exceptions.h" +#include "gromacs/utility/gmxassert.h" namespace gmx { diff --git a/src/gromacs/options/optionsvisitor.cpp b/src/gromacs/options/optionsvisitor.cpp index 4d0b3f678b..814ae734fd 100644 --- a/src/gromacs/options/optionsvisitor.cpp +++ b/src/gromacs/options/optionsvisitor.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2012, by the GROMACS development team, led by + * Copyright (c) 2010,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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_options */ -#include "gromacs/options/optionsvisitor.h" +#include "gmxpre.h" + +#include "optionsvisitor.h" #include "gromacs/options/abstractoptionstorage.h" #include "gromacs/options/options.h" diff --git a/src/gromacs/options/optionsvisitor.h b/src/gromacs/options/optionsvisitor.h index 862b28ee57..934efb97fb 100644 --- a/src/gromacs/options/optionsvisitor.h +++ b/src/gromacs/options/optionsvisitor.h @@ -1,7 +1,7 @@ /* * 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. @@ -47,9 +47,8 @@ #include -#include "../utility/common.h" - -#include "abstractoption.h" +#include "gromacs/options/abstractoption.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/options/tests/CMakeLists.txt b/src/gromacs/options/tests/CMakeLists.txt index 0991c1fb4d..21806d0aed 100644 --- a/src/gromacs/options/tests/CMakeLists.txt +++ b/src/gromacs/options/tests/CMakeLists.txt @@ -1,7 +1,7 @@ # # 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. @@ -35,6 +35,7 @@ gmx_add_unit_test(OptionsUnitTests options-test abstractoptionstorage.cpp filenameoption.cpp + filenameoptionmanager.cpp option.cpp optionsassigner.cpp timeunitmanager.cpp) diff --git a/src/gromacs/options/tests/abstractoptionstorage.cpp b/src/gromacs/options/tests/abstractoptionstorage.cpp index 716e0b1f56..1682129575 100644 --- a/src/gromacs/options/tests/abstractoptionstorage.cpp +++ b/src/gromacs/options/tests/abstractoptionstorage.cpp @@ -42,16 +42,18 @@ * \author Teemu Murtola * \ingroup module_options */ -#include +#include "gmxpre.h" + #include +#include #include #include #include "gromacs/options/abstractoption.h" #include "gromacs/options/options.h" -#include "gromacs/options/optionstoragetemplate.h" #include "gromacs/options/optionsassigner.h" +#include "gromacs/options/optionstoragetemplate.h" #include "gromacs/utility/exceptions.h" #include "testutils/testasserts.h" @@ -151,9 +153,10 @@ class MockOption : public gmx::OptionTemplate } private: - virtual gmx::AbstractOptionStoragePointer createStorage() const + virtual gmx::AbstractOptionStorage *createStorage( + const gmx::OptionManagerContainer & /*managers*/) const { - return gmx::AbstractOptionStoragePointer(new MockOptionStorage(*this)); + return new MockOptionStorage(*this); } }; diff --git a/src/gromacs/options/tests/filenameoption.cpp b/src/gromacs/options/tests/filenameoption.cpp index 76956c6950..6097d3232c 100644 --- a/src/gromacs/options/tests/filenameoption.cpp +++ b/src/gromacs/options/tests/filenameoption.cpp @@ -34,50 +34,48 @@ */ /*! \internal \file * \brief - * Tests file name option implementation. + * Tests basic file name option implementation. * * \author Teemu Murtola * \ingroup module_options */ -#include +#include "gmxpre.h" + +#include "gromacs/options/filenameoption.h" #include -#include "gromacs/options/filenameoption.h" +#include "gromacs/fileio/filenm.h" #include "gromacs/options/options.h" #include "gromacs/options/optionsassigner.h" #include "gromacs/utility/exceptions.h" -#include "gromacs/utility/file.h" #include "testutils/testasserts.h" -#include "testutils/testfilemanager.h" namespace { using gmx::FileNameOption; -using gmx::test::TestFileManager; -TEST(FileNameOptionTest, AddsMissingExtension) +TEST(FileNameOptionTest, HandlesRequiredDefaultValueWithoutExtension) { gmx::Options options(NULL, NULL); std::string value; ASSERT_NO_THROW_GMX(options.addOption( - FileNameOption("f").store(&value) - .filetype(gmx::eftTrajectory).outputFile())); + FileNameOption("f").store(&value).required() + .filetype(gmx::eftGenericData).outputFile() + .defaultBasename("testfile"))); + EXPECT_EQ("testfile.dat", value); gmx::OptionsAssigner assigner(&options); EXPECT_NO_THROW_GMX(assigner.start()); - EXPECT_NO_THROW_GMX(assigner.startOption("f")); - EXPECT_NO_THROW_GMX(assigner.appendValue("testfile")); - EXPECT_NO_THROW_GMX(assigner.finishOption()); EXPECT_NO_THROW_GMX(assigner.finish()); EXPECT_NO_THROW_GMX(options.finish()); - EXPECT_EQ("testfile.xtc", value); + EXPECT_EQ("testfile.dat", value); } -TEST(FileNameOptionTest, HandlesRequiredDefaultValueWithoutExtension) +TEST(FileNameOptionTest, HandlesRequiredOptionWithoutValue) { gmx::Options options(NULL, NULL); std::string value; @@ -89,29 +87,30 @@ TEST(FileNameOptionTest, HandlesRequiredDefaultValueWithoutExtension) 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("testfile.dat", value); } -TEST(FileNameOptionTest, HandlesRequiredOptionWithoutValue) +TEST(FileNameOptionTest, HandlesOptionalUnsetOption) { gmx::Options options(NULL, NULL); std::string value; ASSERT_NO_THROW_GMX(options.addOption( - FileNameOption("f").store(&value).required() - .filetype(gmx::eftGenericData).outputFile() + 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.startOption("f")); - EXPECT_NO_THROW_GMX(assigner.finishOption()); EXPECT_NO_THROW_GMX(assigner.finish()); EXPECT_NO_THROW_GMX(options.finish()); - EXPECT_EQ("testfile.dat", value); + EXPECT_TRUE(value.empty()); } TEST(FileNameOptionTest, HandlesOptionalDefaultValueWithoutExtension) @@ -134,27 +133,84 @@ TEST(FileNameOptionTest, HandlesOptionalDefaultValueWithoutExtension) EXPECT_EQ("testfile.ndx", value); } -TEST(FileNameOptionTest, AddsMissingExtensionBasedOnExistingFile) +TEST(FileNameOptionTest, HandlesRequiredCustomDefaultExtension) +{ + gmx::Options options(NULL, NULL); + std::string value; + ASSERT_NO_THROW_GMX(options.addOption( + FileNameOption("f").store(&value).required() + .filetype(gmx::eftTrajectory).outputFile() + .defaultBasename("testfile") + .defaultType(efPDB))); + EXPECT_EQ("testfile.pdb", value); + + gmx::OptionsAssigner assigner(&options); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_NO_THROW_GMX(options.finish()); + + EXPECT_EQ("testfile.pdb", value); +} + +TEST(FileNameOptionTest, HandlesOptionalCustomDefaultExtension) { gmx::Options options(NULL, NULL); std::string value; ASSERT_NO_THROW_GMX(options.addOption( FileNameOption("f").store(&value) - .filetype(gmx::eftTrajectory).inputFile())); - TestFileManager tempFiles; - std::string filename(tempFiles.getTemporaryFilePath(".trr")); - gmx::File::writeFileFromString(filename, "Dummy trajectory file"); - std::string inputValue(filename.substr(0, filename.length() - 4)); + .filetype(gmx::eftTrajectory).outputFile() + .defaultBasename("testfile") + .defaultType(efPDB))); + EXPECT_TRUE(value.empty()); 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); + EXPECT_EQ("testfile.pdb", value); +} + +TEST(FileNameOptionTest, GivesErrorOnUnknownFileSuffix) +{ + gmx::Options options(NULL, NULL); + std::string value; + ASSERT_NO_THROW_GMX(options.addOption( + FileNameOption("f").store(&value) + .filetype(gmx::eftIndex).outputFile())); + EXPECT_TRUE(value.empty()); + + gmx::OptionsAssigner assigner(&options); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.startOption("f")); + EXPECT_THROW_GMX(assigner.appendValue("testfile.foo"), gmx::InvalidInputError); + EXPECT_NO_THROW_GMX(assigner.finishOption()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_NO_THROW_GMX(options.finish()); + + EXPECT_TRUE(value.empty()); +} + +TEST(FileNameOptionTest, GivesErrorOnInvalidFileSuffix) +{ + gmx::Options options(NULL, NULL); + std::string value; + ASSERT_NO_THROW_GMX(options.addOption( + FileNameOption("f").store(&value) + .filetype(gmx::eftTrajectory).outputFile())); + EXPECT_TRUE(value.empty()); + + gmx::OptionsAssigner assigner(&options); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.startOption("f")); + EXPECT_THROW_GMX(assigner.appendValue("testfile.dat"), gmx::InvalidInputError); + EXPECT_NO_THROW_GMX(assigner.finishOption()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_NO_THROW_GMX(options.finish()); + + EXPECT_TRUE(value.empty()); } } // namespace diff --git a/src/gromacs/options/tests/filenameoptionmanager.cpp b/src/gromacs/options/tests/filenameoptionmanager.cpp new file mode 100644 index 0000000000..8e2e523883 --- /dev/null +++ b/src/gromacs/options/tests/filenameoptionmanager.cpp @@ -0,0 +1,312 @@ +/* + * 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 + * Tests file name option implementation dependent on gmx::FileNameOptionManager. + * + * \author Teemu Murtola + * \ingroup module_options + */ +#include "gmxpre.h" + +#include "gromacs/options/filenameoptionmanager.h" + +#include + +#include "gromacs/fileio/filenm.h" +#include "gromacs/options/filenameoption.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" + +namespace +{ + +using gmx::FileNameOption; + +class FileNameOptionManagerTest : public ::testing::Test +{ + public: + FileNameOptionManagerTest() + : options_(NULL, NULL) + { + options_.addManager(&manager_); + } + + std::string createDummyFile(const char *suffix) + { + std::string filename(tempFiles_.getTemporaryFilePath(suffix)); + gmx::File::writeFileFromString(filename, "Dummy file"); + return filename; + } + + gmx::FileNameOptionManager manager_; + gmx::Options options_; + gmx::test::TestFileManager tempFiles_; +}; + +/******************************************************************** + * Actual tests + */ + +TEST_F(FileNameOptionManagerTest, AddsMissingExtension) +{ + std::string value; + ASSERT_NO_THROW_GMX(options_.addOption( + FileNameOption("f").store(&value) + .filetype(gmx::eftTrajectory).outputFile())); + + gmx::OptionsAssigner assigner(&options_); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.startOption("f")); + EXPECT_NO_THROW_GMX(assigner.appendValue("testfile")); + EXPECT_NO_THROW_GMX(assigner.finishOption()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_NO_THROW_GMX(options_.finish()); + + EXPECT_EQ("testfile.xtc", value); +} + +TEST_F(FileNameOptionManagerTest, AddsMissingCustomDefaultExtension) +{ + std::string value; + ASSERT_NO_THROW_GMX(options_.addOption( + FileNameOption("f").store(&value) + .filetype(gmx::eftTrajectory).outputFile() + .defaultType(efPDB))); + + gmx::OptionsAssigner assigner(&options_); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.startOption("f")); + EXPECT_NO_THROW_GMX(assigner.appendValue("testfile")); + EXPECT_NO_THROW_GMX(assigner.finishOption()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_NO_THROW_GMX(options_.finish()); + + EXPECT_EQ("testfile.pdb", value); +} + +TEST_F(FileNameOptionManagerTest, GivesErrorOnMissingInputFile) +{ + std::string value; + ASSERT_NO_THROW_GMX(options_.addOption( + FileNameOption("f").store(&value) + .filetype(gmx::eftIndex).inputFile())); + EXPECT_TRUE(value.empty()); + + gmx::OptionsAssigner assigner(&options_); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.startOption("f")); + EXPECT_THROW_GMX(assigner.appendValue("missing.ndx"), gmx::InvalidInputError); + EXPECT_NO_THROW_GMX(assigner.finishOption()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_NO_THROW_GMX(options_.finish()); + + EXPECT_TRUE(value.empty()); +} + +TEST_F(FileNameOptionManagerTest, GivesErrorOnMissingGenericInputFile) +{ + std::string value; + ASSERT_NO_THROW_GMX(options_.addOption( + FileNameOption("f").store(&value) + .filetype(gmx::eftTrajectory).inputFile())); + EXPECT_TRUE(value.empty()); + + gmx::OptionsAssigner assigner(&options_); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.startOption("f")); + EXPECT_THROW_GMX(assigner.appendValue("missing.trr"), gmx::InvalidInputError); + EXPECT_NO_THROW_GMX(assigner.finishOption()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_NO_THROW_GMX(options_.finish()); + + EXPECT_TRUE(value.empty()); +} + +TEST_F(FileNameOptionManagerTest, GivesErrorOnMissingDefaultInputFile) +{ + std::string value; + ASSERT_NO_THROW_GMX(options_.addOption( + FileNameOption("f").store(&value) + .filetype(gmx::eftIndex).inputFile() + .defaultBasename("missing"))); + + 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_THROW_GMX(options_.finish(), gmx::InvalidInputError); +} + +TEST_F(FileNameOptionManagerTest, GivesErrorOnMissingRequiredInputFile) +{ + std::string value; + ASSERT_NO_THROW_GMX(options_.addOption( + FileNameOption("f").store(&value).required() + .filetype(gmx::eftIndex).inputFile() + .defaultBasename("missing"))); + EXPECT_EQ("missing.ndx", value); + + gmx::OptionsAssigner assigner(&options_); + EXPECT_NO_THROW_GMX(assigner.start()); + EXPECT_NO_THROW_GMX(assigner.finish()); + EXPECT_THROW_GMX(options_.finish(), gmx::InvalidInputError); +} + +TEST_F(FileNameOptionManagerTest, AddsMissingExtensionBasedOnExistingFile) +{ + std::string filename(createDummyFile(".trr")); + std::string inputValue(gmx::Path::stripExtension(filename)); + + 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_F(FileNameOptionManagerTest, + AddsMissingExtensionForRequiredDefaultNameBasedOnExistingFile) +{ + std::string filename(createDummyFile(".trr")); + std::string inputValue(gmx::Path::stripExtension(filename)); + + 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_F(FileNameOptionManagerTest, + AddsMissingExtensionForOptionalDefaultNameBasedOnExistingFile) +{ + std::string filename(createDummyFile(".trr")); + std::string inputValue(gmx::Path::stripExtension(filename)); + + 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_F(FileNameOptionManagerTest, + AddsMissingExtensionForRequiredFromDefaultNameOptionBasedOnExistingFile) +{ + std::string filename(createDummyFile(".trr")); + std::string inputValue(gmx::Path::stripExtension(filename)); + + std::string value; + 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_F(FileNameOptionManagerTest, + AddsMissingExtensionForOptionalFromDefaultNameOptionBasedOnExistingFile) +{ + std::string filename(createDummyFile(".trr")); + std::string inputValue(gmx::Path::stripExtension(filename)); + + std::string value; + 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()); + + EXPECT_EQ(filename, value); +} + +} // namespace diff --git a/src/gromacs/options/tests/option.cpp b/src/gromacs/options/tests/option.cpp index 97e7d9a5f7..70b513bdb7 100644 --- a/src/gromacs/options/tests/option.cpp +++ b/src/gromacs/options/tests/option.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -42,8 +42,10 @@ * \author Teemu Murtola * \ingroup module_options */ -#include +#include "gmxpre.h" + #include +#include #include diff --git a/src/gromacs/options/tests/optionsassigner.cpp b/src/gromacs/options/tests/optionsassigner.cpp index e12d787ba2..cf9648cc1c 100644 --- a/src/gromacs/options/tests/optionsassigner.cpp +++ b/src/gromacs/options/tests/optionsassigner.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -45,6 +45,10 @@ * \author Teemu Murtola * \ingroup module_options */ +#include "gmxpre.h" + +#include "gromacs/options/optionsassigner.h" + #include #include @@ -52,7 +56,6 @@ #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" -#include "gromacs/options/optionsassigner.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/stringutil.h" @@ -183,11 +186,11 @@ TEST(OptionsAssignerTest, HandlesSubSections) 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()); @@ -223,13 +226,13 @@ TEST(OptionsAssignerTest, HandlesNoStrictSubSections) 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); @@ -824,6 +827,56 @@ TEST(OptionsAssignerStringTest, HandlesEnumDefaultValue) EXPECT_EQ(1, index); } +TEST(OptionsAssignerStringTest, HandlesEnumDefaultValueFromVariable) +{ + gmx::Options options(NULL, NULL); + std::string value("test"); + const char * const allowed[] = { "none", "test", "value" }; + int index = -1; + using gmx::StringOption; + ASSERT_NO_THROW(options.addOption( + StringOption("p").store(&value) + .enumValue(allowed).storeEnumIndex(&index))); + EXPECT_EQ("test", value); + EXPECT_EQ(1, index); + + gmx::OptionsAssigner assigner(&options); + EXPECT_NO_THROW(assigner.start()); + EXPECT_NO_THROW(assigner.finish()); + EXPECT_NO_THROW(options.finish()); + + EXPECT_EQ("test", value); + EXPECT_EQ(1, index); +} + +TEST(OptionsAssignerStringTest, HandlesEnumDefaultValueFromVector) +{ + gmx::Options options(NULL, NULL); + std::vector value; + value.push_back("test"); + value.push_back("value"); + const char * const allowed[] = { "none", "test", "value" }; + int index[2] = {-1, -1}; + using gmx::StringOption; + ASSERT_NO_THROW(options.addOption( + StringOption("p").storeVector(&value).valueCount(2) + .enumValue(allowed).storeEnumIndex(index))); + EXPECT_EQ("test", value[0]); + EXPECT_EQ("value", value[1]); + EXPECT_EQ(1, index[0]); + EXPECT_EQ(2, index[1]); + + gmx::OptionsAssigner assigner(&options); + EXPECT_NO_THROW(assigner.start()); + EXPECT_NO_THROW(assigner.finish()); + EXPECT_NO_THROW(options.finish()); + + EXPECT_EQ("test", value[0]); + EXPECT_EQ("value", value[1]); + EXPECT_EQ(1, index[0]); + EXPECT_EQ(2, index[1]); +} + TEST(OptionsAssignerStringTest, HandlesEnumDefaultIndex) { gmx::Options options(NULL, NULL); @@ -847,4 +900,23 @@ TEST(OptionsAssignerStringTest, HandlesEnumDefaultIndex) EXPECT_EQ(1, index); } +TEST(OptionsAssignerStringTest, HandlesEnumDefaultIndexFromVariable) +{ + gmx::Options options(NULL, NULL); + const char * const allowed[] = { "none", "test", "value" }; + int index = 1; + using gmx::StringOption; + ASSERT_NO_THROW(options.addOption( + StringOption("p") + .enumValue(allowed).storeEnumIndex(&index))); + EXPECT_EQ(1, index); + + gmx::OptionsAssigner assigner(&options); + EXPECT_NO_THROW(assigner.start()); + EXPECT_NO_THROW(assigner.finish()); + EXPECT_NO_THROW(options.finish()); + + EXPECT_EQ(1, index); +} + } // namespace diff --git a/src/gromacs/options/tests/timeunitmanager.cpp b/src/gromacs/options/tests/timeunitmanager.cpp index 5f19d51b9c..9e5f57fd18 100644 --- a/src/gromacs/options/tests/timeunitmanager.cpp +++ b/src/gromacs/options/tests/timeunitmanager.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -41,12 +41,15 @@ * \author Teemu Murtola * \ingroup module_options */ +#include "gmxpre.h" + +#include "gromacs/options/timeunitmanager.h" + #include #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" #include "gromacs/options/optionsassigner.h" -#include "gromacs/options/timeunitmanager.h" #include "testutils/testasserts.h" diff --git a/src/gromacs/options/timeunitmanager.cpp b/src/gromacs/options/timeunitmanager.cpp index ec2882d3cd..b687c31bb7 100644 --- a/src/gromacs/options/timeunitmanager.cpp +++ b/src/gromacs/options/timeunitmanager.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -39,12 +39,21 @@ * \author Teemu Murtola * \ingroup module_options */ -#include "gromacs/options/timeunitmanager.h" +#include "gmxpre.h" + +#include "timeunitmanager.h" + +#include + +#include #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 { @@ -108,6 +117,27 @@ double TimeUnitManager::inverseTimeScaleFactor() const return 1.0 / timeScaleFactor(); } +void TimeUnitManager::setTimeUnitFromEnvironment() +{ + const char *const value = std::getenv("GMXTIMEUNIT"); + if (value != NULL) + { + ConstArrayRef timeUnits(g_timeUnits); + ConstArrayRef::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) diff --git a/src/gromacs/options/timeunitmanager.h b/src/gromacs/options/timeunitmanager.h index 34f11d97fa..76e08312be 100644 --- a/src/gromacs/options/timeunitmanager.h +++ b/src/gromacs/options/timeunitmanager.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,7 +43,7 @@ #ifndef GMX_OPTIONS_TIMEUNITMANAGER_H #define GMX_OPTIONS_TIMEUNITMANAGER_H -#include "../utility/gmxassert.h" +#include "gromacs/utility/gmxassert.h" namespace gmx { @@ -117,6 +117,10 @@ class TimeUnitManager //! 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. * diff --git a/src/gromacs/pbcutil/CMakeLists.txt b/src/gromacs/pbcutil/CMakeLists.txt new file mode 100644 index 0000000000..0366753a1b --- /dev/null +++ b/src/gromacs/pbcutil/CMakeLists.txt @@ -0,0 +1,47 @@ +# +# 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() diff --git a/src/gromacs/legacyheaders/types/ishift.h b/src/gromacs/pbcutil/ishift.h similarity index 93% rename from src/gromacs/legacyheaders/types/ishift.h rename to src/gromacs/pbcutil/ishift.h index 4c44dfe92e..464f3c0139 100644 --- a/src/gromacs/legacyheaders/types/ishift.h +++ b/src/gromacs/pbcutil/ishift.h @@ -3,7 +3,7 @@ * * 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. @@ -34,13 +34,8 @@ * 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 @@ -58,7 +53,4 @@ extern "C" { #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 diff --git a/src/gromacs/gmxlib/mshift.c b/src/gromacs/pbcutil/mshift.cpp similarity index 97% rename from src/gromacs/gmxlib/mshift.c rename to src/gromacs/pbcutil/mshift.cpp index 6b6ad831a2..e95ccff45d 100644 --- a/src/gromacs/gmxlib/mshift.c +++ b/src/gromacs/pbcutil/mshift.cpp @@ -34,19 +34,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "mshift.h" #include + +#include + +#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" /************************************************************ * @@ -144,7 +144,7 @@ static void mk_igraph(t_graph *g, int ftype, t_ilist *il, } } -GMX_ATTRIBUTE_NORETURN static void g_error(int line, const char *file) +gmx_noreturn static void g_error(int line, const char *file) { gmx_fatal(FARGS, "Tring to print non existant graph (file %s, line %d)", file, line); @@ -175,7 +175,7 @@ void p_graph(FILE *log, const char *title, t_graph *g) g->nedge[i]); for (j = 0; (j < g->nedge[i]); j++) { - fprintf(log, " %5u", g->edge[i][j]+1); + fprintf(log, " %5d", g->edge[i][j]+1); } fprintf(log, "\n"); } @@ -204,8 +204,8 @@ static void calc_1se(t_graph *g, int ftype, t_ilist *il, 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 @@ -215,8 +215,8 @@ static void calc_1se(t_graph *g, int ftype, t_ilist *il, 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. @@ -270,7 +270,7 @@ static int calc_start_end(FILE *fplog, t_graph *g, t_ilist il[], 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) { @@ -285,7 +285,6 @@ static int calc_start_end(FILE *fplog, t_graph *g, t_ilist il[], static void compact_graph(FILE *fplog, t_graph *g) { int i, j, n, max_nedge; - atom_id *e; max_nedge = 0; n = 0; @@ -295,7 +294,7 @@ static void compact_graph(FILE *fplog, t_graph *g) { 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 */ @@ -486,8 +485,6 @@ t_graph *mk_graph(FILE *fplog, void done_graph(t_graph *g) { - int i; - GCHECK(g); if (g->nnodes > 0) { diff --git a/src/gromacs/legacyheaders/mshift.h b/src/gromacs/pbcutil/mshift.h similarity index 68% rename from src/gromacs/legacyheaders/mshift.h rename to src/gromacs/pbcutil/mshift.h index d4b5c9fa3d..3c8783663d 100644 --- a/src/gromacs/legacyheaders/mshift.h +++ b/src/gromacs/pbcutil/mshift.h @@ -3,7 +3,7 @@ * * 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. @@ -34,18 +34,45 @@ * 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 -#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. @@ -56,7 +83,7 @@ t_graph *mk_graph(FILE *fplog, */ 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 */ @@ -87,4 +114,4 @@ void unshift_self(t_graph *g, matrix box, rvec x[]); } #endif -#endif /* _mshift_h */ +#endif diff --git a/src/gromacs/gmxlib/pbc.c b/src/gromacs/pbcutil/pbc.c similarity index 99% rename from src/gromacs/gmxlib/pbc.c rename to src/gromacs/pbcutil/pbc.c index c96eba4f06..e6d4c49230 100644 --- a/src/gromacs/gmxlib/pbc.c +++ b/src/gromacs/pbcutil/pbc.c @@ -34,26 +34,25 @@ * 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 -#endif +#include "gmxpre.h" + +#include "pbc.h" -#include #include +#include -#include "sysstuff.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "vec.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/legacyheaders/types/inputrec.h" #include "gromacs/math/utilities.h" -#include "main.h" -#include "pbc.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" -#include "txtdump.h" -#include "gmx_fatal.h" -#include "names.h" -#include "macros.h" -#include "gmx_omp_nthreads.h" /* Skip 0 so we have more chance of detecting if we forgot to call set_pbc. */ enum { diff --git a/src/gromacs/legacyheaders/pbc.h b/src/gromacs/pbcutil/pbc.h similarity index 89% rename from src/gromacs/legacyheaders/pbc.h rename to src/gromacs/pbcutil/pbc.h index be7e51fa9e..8fc7b68224 100644 --- a/src/gromacs/legacyheaders/pbc.h +++ b/src/gromacs/pbcutil/pbc.h @@ -34,17 +34,44 @@ * 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 -#include "sysstuff.h" -#include "typedefs.h" +#include "gromacs/legacyheaders/types/commrec_fwd.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/basedefinitions.h" +#include "gromacs/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 @@ -58,6 +85,8 @@ enum { ecenterDEF = ecenterTRIC }; +struct t_graph; + int ePBC2npbcdim(int ePBC); /* Returns the number of dimensions that use pbc, starting at X */ @@ -84,7 +113,7 @@ real max_cutoff2(int ePBC, matrix box); 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. @@ -225,4 +254,4 @@ const char *put_atoms_in_compact_unitcell(int ePBC, int ecenter, } #endif -#endif /* _pbc_h */ +#endif diff --git a/src/gromacs/gmxlib/rmpbc.c b/src/gromacs/pbcutil/rmpbc.c similarity index 95% rename from src/gromacs/gmxlib/rmpbc.c rename to src/gromacs/pbcutil/rmpbc.c index 1c0e0c9acf..4d91ac4783 100644 --- a/src/gromacs/gmxlib/rmpbc.c +++ b/src/gromacs/pbcutil/rmpbc.c @@ -34,19 +34,18 @@ * 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 -#endif - -#include "sysstuff.h" -#include "typedefs.h" -#include "mshift.h" -#include "pbc.h" +#include "gmxpre.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/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" typedef struct { @@ -54,13 +53,13 @@ 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) { diff --git a/src/gromacs/legacyheaders/rmpbc.h b/src/gromacs/pbcutil/rmpbc.h similarity index 84% rename from src/gromacs/legacyheaders/rmpbc.h rename to src/gromacs/pbcutil/rmpbc.h index 0b9c21a04a..ff9107a7d2 100644 --- a/src/gromacs/legacyheaders/rmpbc.h +++ b/src/gromacs/pbcutil/rmpbc.h @@ -3,7 +3,7 @@ * * 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. @@ -34,19 +34,22 @@ * 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 "gromacs/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); @@ -62,14 +65,10 @@ void gmx_rmpbc_copy(gmx_rmpbc_t gpbc, int natoms, matrix box, rvec x[], 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. */ @@ -78,4 +77,4 @@ void rm_gropbc(t_atoms *atoms, rvec x[], matrix box); } #endif -#endif /* _rmpbc_h */ +#endif diff --git a/src/gromacs/pulling/pull.c b/src/gromacs/pulling/pull.c index 458a2fb472..575e07ca87 100644 --- a/src/gromacs/pulling/pull.c +++ b/src/gromacs/pulling/pull.c @@ -34,34 +34,31 @@ * 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 -#endif +#include "gmxpre.h" +#include "pull.h" #include #include #include -#include "gromacs/fileio/futil.h" -#include "index.h" -#include "gromacs/fileio/gmxfio.h" -#include "vec.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "network.h" -#include "gromacs/fileio/filenm.h" #include + +#include "gromacs/fileio/filenm.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "pull.h" -#include "xvgr.h" -#include "names.h" -#include "pbc.h" -#include "mtop_util.h" -#include "mdrun.h" -#include "gmx_ga2la.h" -#include "copyrite.h" -#include "macros.h" -#include "vec.h" static void pull_print_group_x(FILE *out, ivec dim, const t_pull_group *pgrp) { @@ -180,7 +177,7 @@ static FILE *open_pull_out(const char *fn, t_pull *pull, const output_env_t oenv if (pull->dim[m]) { sprintf(buf, "%d %s%c", c+1, "c", 'X'+m); - setname[nsets] = strdup(buf); + setname[nsets] = gmx_strdup(buf); nsets++; } } @@ -190,7 +187,7 @@ static FILE *open_pull_out(const char *fn, t_pull *pull, const output_env_t oenv if (pull->dim[m]) { sprintf(buf, "%d %s%c", c+1, "d", 'X'+m); - setname[nsets] = strdup(buf); + setname[nsets] = gmx_strdup(buf); nsets++; } } @@ -198,7 +195,7 @@ static FILE *open_pull_out(const char *fn, t_pull *pull, const output_env_t oenv else { sprintf(buf, "%d", c+1); - setname[nsets] = strdup(buf); + setname[nsets] = gmx_strdup(buf); nsets++; } } diff --git a/src/gromacs/pulling/pull.h b/src/gromacs/pulling/pull.h index 4ef61ba6ad..3a5f8d6b57 100644 --- a/src/gromacs/pulling/pull.h +++ b/src/gromacs/pulling/pull.h @@ -50,13 +50,14 @@ #ifndef GMX_PULLING_PULL_H #define GMX_PULLING_PULL_H -#include "typedefs.h" -#include "../fileio/filenm.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/typedefs.h" #ifdef __cplusplus extern "C" { #endif +struct t_pbc; /*! \brief Get the distance to the reference and deviation for pull coord coord_ind. * @@ -69,7 +70,7 @@ extern "C" { */ 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); @@ -96,7 +97,7 @@ void clear_pull_forces(t_pull *pull); * * \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); @@ -115,7 +116,7 @@ real pull_potential(int ePull, t_pull *pull, t_mdatoms *md, t_pbc *pbc, * \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); @@ -185,13 +186,13 @@ void pull_print_output(t_pull *pull, gmx_int64_t step, double time); * \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 } diff --git a/src/gromacs/pulling/pull_rotation.c b/src/gromacs/pulling/pull_rotation.c index cdee91efff..dd74b44df5 100644 --- a/src/gromacs/pulling/pull_rotation.c +++ b/src/gromacs/pulling/pull_rotation.c @@ -34,39 +34,38 @@ * 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 -#endif +#include "gmxpre.h" + +#include "pull_rotation.h" + +#include "config.h" #include #include #include -#include "domdec.h" -#include "gromacs/utility/smalloc.h" -#include "network.h" -#include "pbc.h" -#include "mdrun.h" -#include "txtdump.h" -#include "names.h" -#include "mtop_util.h" -#include "names.h" -#include "vec.h" -#include "gmx_ga2la.h" -#include "xvgr.h" -#include "copyrite.h" -#include "macros.h" - -#include "gromacs/fileio/futil.h" #include "gromacs/fileio/gmxfio.h" #include "gromacs/fileio/trnio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/txtdump.h" #include "gromacs/linearalgebra/nrjac.h" +#include "gromacs/math/utilities.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/groupcoord.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/timing/cyclecounter.h" #include "gromacs/timing/wallcycle.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/qsort_threadsafe.h" -#include "gromacs/pulling/pull_rotation.h" -#include "gromacs/mdlib/groupcoord.h" -#include "gromacs/math/utilities.h" +#include "gromacs/utility/smalloc.h" static char *RotStr = {"Enforced rotation:"}; @@ -943,7 +942,7 @@ static FILE *open_rot_out(const char *fn, t_rot *rot, const output_env_t oenv) add_to_string_aligned(&LegendStr, buf); sprintf(buf2, "%s (degrees)", buf); - setname[nsets] = strdup(buf2); + setname[nsets] = gmx_strdup(buf2); nsets++; } for (g = 0; g < rot->ngrp; g++) @@ -963,19 +962,19 @@ static FILE *open_rot_out(const char *fn, t_rot *rot, const output_env_t oenv) } add_to_string_aligned(&LegendStr, buf); sprintf(buf2, "%s (degrees)", buf); - setname[nsets] = strdup(buf2); + setname[nsets] = gmx_strdup(buf2); nsets++; sprintf(buf, "tau%d", g); add_to_string_aligned(&LegendStr, buf); sprintf(buf2, "%s (kJ/mol)", buf); - setname[nsets] = strdup(buf2); + setname[nsets] = gmx_strdup(buf2); nsets++; sprintf(buf, "energy%d", g); add_to_string_aligned(&LegendStr, buf); sprintf(buf2, "%s (kJ/mol)", buf); - setname[nsets] = strdup(buf2); + setname[nsets] = gmx_strdup(buf2); nsets++; } fprintf(fp, "#\n"); diff --git a/src/gromacs/pulling/pull_rotation.h b/src/gromacs/pulling/pull_rotation.h index e7d1cfd1c4..28d380195b 100644 --- a/src/gromacs/pulling/pull_rotation.h +++ b/src/gromacs/pulling/pull_rotation.h @@ -48,8 +48,9 @@ #ifndef GMX_PULLING_PULL_ROTATION_H #define GMX_PULLING_PULL_ROTATION_H -#include "typedefs.h" -#include "../fileio/filenm.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus diff --git a/src/gromacs/pulling/pullutil.c b/src/gromacs/pulling/pullutil.c index 19e762346c..53072c1ef2 100644 --- a/src/gromacs/pulling/pullutil.c +++ b/src/gromacs/pulling/pullutil.c @@ -34,29 +34,23 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "sysstuff.h" -#include "princ.h" -#include "gromacs/fileio/futil.h" -#include "vec.h" -#include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "types/commrec.h" -#include "names.h" -#include "gmx_fatal.h" -#include "macros.h" -#include "symtab.h" -#include "index.h" #include "gromacs/fileio/confio.h" -#include "network.h" -#include "pbc.h" -#include "pull.h" -#include "gmx_ga2la.h" +#include "gromacs/legacyheaders/gmx_ga2la.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/pulling/pull.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void pull_set_pbcatom(t_commrec *cr, t_pull_group *pgrp, rvec *x, diff --git a/src/gromacs/random/random.c b/src/gromacs/random/random.c index b70fddfcde..1e8390abe2 100644 --- a/src/gromacs/random/random.c +++ b/src/gromacs/random/random.c @@ -34,27 +34,22 @@ * 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 -#endif +#include "gmxpre.h" #include "random.h" +#include "config.h" + +#include #include #include -#ifdef HAVE_UNISTD_H -#include -#endif #include -#include -#ifdef GMX_NATIVE_WINDOWS -#include -#endif #include "external/Random123-1.08/include/Random123/threefry.h" #include "gromacs/math/utilities.h" -#include "random_gausstable.h" +#include "gromacs/random/random_gausstable.h" +#include "gromacs/utility/sysinfo.h" #define RNG_N 624 #define RNG_M 397 @@ -236,12 +231,8 @@ gmx_rng_make_seed(void) else { /* No random device available, use time-of-day and process id */ -#ifdef GMX_NATIVE_WINDOWS - my_pid = (long)_getpid(); -#else - my_pid = (long)getpid(); -#endif - data = (unsigned int)(((long)time(NULL)+my_pid) % (long)1000000); + my_pid = gmx_getpid(); + data = (unsigned int)(((long)time(NULL)+my_pid) % (long)1000000); } return data; } diff --git a/src/gromacs/random/random.h b/src/gromacs/random/random.h index e1a938b3fd..a4eb24ebb4 100644 --- a/src/gromacs/random/random.h +++ b/src/gromacs/random/random.h @@ -35,23 +35,23 @@ * 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 -#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 * @@ -322,4 +322,4 @@ gmx_rng_cycle_6gaussian_table(gmx_int64_t ctr1, gmx_int64_t ctr2, } #endif -#endif /* _GMX_RANDOM_H_ */ +#endif diff --git a/src/gromacs/random/tests/random.cpp b/src/gromacs/random/tests/random.cpp index 835a638011..e52a67d7a4 100644 --- a/src/gromacs/random/tests/random.cpp +++ b/src/gromacs/random/tests/random.cpp @@ -39,6 +39,8 @@ * \author Roland Schulz * \ingroup module_random */ +#include "gmxpre.h" + #include #include diff --git a/src/gromacs/selection.h b/src/gromacs/selection.h index 0588ce36aa..ef47702a21 100644 --- a/src/gromacs/selection.h +++ b/src/gromacs/selection.h @@ -1,7 +1,7 @@ /* * 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. @@ -81,9 +81,9 @@ #ifndef GMX_SELECTION_H #define GMX_SELECTION_H -#include "selection/selection.h" -#include "selection/selectioncollection.h" -#include "selection/selectionoption.h" -#include "selection/selectionoptionmanager.h" +#include "gromacs/selection/selection.h" +#include "gromacs/selection/selectioncollection.h" +#include "gromacs/selection/selectionoption.h" +#include "gromacs/selection/selectionoptionmanager.h" #endif diff --git a/src/gromacs/selection/centerofmass.cpp b/src/gromacs/selection/centerofmass.cpp index a46facd626..474175ef89 100644 --- a/src/gromacs/selection/centerofmass.cpp +++ b/src/gromacs/selection/centerofmass.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,11 +39,16 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/selection/centerofmass.h" +#include "gmxpre.h" -#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/legacyheaders/pbc.h" -#include "gromacs/legacyheaders/vec.h" +#include "centerofmass.h" + +#include + +#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) diff --git a/src/gromacs/selection/centerofmass.h b/src/gromacs/selection/centerofmass.h index 7cefe1a02b..4aa7cf8288 100644 --- a/src/gromacs/selection/centerofmass.h +++ b/src/gromacs/selection/centerofmass.h @@ -74,7 +74,13 @@ #ifndef GMX_SELECTION_CENTEROFMASS_H #define GMX_SELECTION_CENTEROFMASS_H -#include "../legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/math/vectypes.h" + +struct t_block; +struct t_blocka; +struct t_pbc; +struct t_topology; /*! \brief * Calculate a single center of geometry. diff --git a/src/gromacs/selection/compiler.cpp b/src/gromacs/selection/compiler.cpp index 2cc7655e15..4b696a29ae 100644 --- a/src/gromacs/selection/compiler.cpp +++ b/src/gromacs/selection/compiler.cpp @@ -269,19 +269,18 @@ * calculated. * Currently, no other processing is done. */ -#include "compiler.h" +#include "gmxpre.h" -#include +#include "compiler.h" #include #include -#include "gromacs/legacyheaders/vec.h" +#include +#include "gromacs/math/vec.h" #include "gromacs/selection/indexutil.h" -#include "gromacs/selection/poscalc.h" #include "gromacs/selection/selection.h" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/smalloc.h" #include "gromacs/utility/stringutil.h" @@ -289,8 +288,10 @@ #include "evaluate.h" #include "keywords.h" #include "mempool.h" +#include "poscalc.h" #include "selectioncollection-impl.h" #include "selelem.h" +#include "selmethod.h" using std::min; using gmx::SelectionTreeElement; @@ -1602,7 +1603,7 @@ init_item_minmax_groups(const SelectionTreeElementPointer &sel) * \param[in,out] sc Selection collection data. * * The evaluation group of each \ref SEL_ROOT element corresponding to a - * selection in \p sc is set to NULL. The evaluation grop for \ref SEL_ROOT + * selection in \p sc is set to NULL. The evaluation group for \ref SEL_ROOT * elements corresponding to subexpressions that need full evaluation is set * to \c sc->gall. */ @@ -1977,8 +1978,7 @@ evaluate_boolean_static_part(gmx_sel_evaluate_t *data, { child->cdata->evaluate = &_gmx_sel_evaluate_static; /* The cgrp has only been allocated if it originated from an - * external index group. In that case, we need special handling - * to preserve the name of the group and to not leak memory. + * external index group. * If cgrp has been set in make_static(), it is not allocated, * and hence we can overwrite it safely. */ if (child->u.cgrp.nalloc_index > 0) @@ -2440,6 +2440,54 @@ init_root_item(const SelectionTreeElementPointer &root, } +/******************************************************************** + * REQUIRED ATOMS ANALYSIS + ********************************************************************/ + +/*! \brief + * Finds the highest atom index required to evaluate a selection subtree. + * + * \param[in] sel Root of the selection subtree to process. + * \param[in,out] maxAtomIndex The highest atom index required to evaluate the + * subtree. The existing value is never decreased, so multiple calls with + * the same parameter will compute the maximum over several subtrees. + * + * For evaluation that starts from a \ref SEL_ROOT element with a fixed group, + * children will never extend the evaluation group except for method parameter + * evaluation (which have their own root element), so it is sufficient to check + * the root. However, children of \ref SEL_EXPRESSION elements (i.e., the + * method parameters) may have been independently evaluated to a static group + * that no longer has a separate root, so those need to be checked as well. + * + * Position calculations are not considered here, but are analyzed through the + * position calculation collection in the main compilation method. + */ +static void +init_required_atoms(const SelectionTreeElementPointer &sel, int *maxAtomIndex) +{ + // Process children. + if (sel->type != SEL_SUBEXPRREF) + { + SelectionTreeElementPointer child = sel->child; + while (child) + { + init_required_atoms(child, maxAtomIndex); + child = child->next; + } + } + + if (sel->type == SEL_ROOT + || (sel->type == SEL_CONST && sel->v.type == GROUP_VALUE)) + { + if (sel->u.cgrp.isize > 0) + { + *maxAtomIndex = + std::max(*maxAtomIndex, gmx_ana_index_get_max_index(&sel->u.cgrp)); + } + } +} + + /******************************************************************** * FINAL SUBEXPRESSION OPTIMIZATION ********************************************************************/ @@ -2833,9 +2881,10 @@ SelectionCompiler::compile(SelectionCollection *coll) coll->printTree(stderr, false); } - /* Initialize evaluation groups, position calculations for methods, perform - * some final optimization, and free the memory allocated for the - * compilation. */ + // Initialize evaluation groups, maximum atom index needed for evaluation, + // position calculations for methods, perform some final optimization, and + // free the memory allocated for the compilation. + coll->impl_->maxAtomIndex_ = 0; /* By default, use whole residues/molecules. */ flags = POS_COMPLWHOLE; PositionCalculationCollection::typeFromEnum(coll->impl_->rpost_.c_str(), @@ -2845,10 +2894,14 @@ SelectionCompiler::compile(SelectionCollection *coll) { init_root_item(item, &sc->gall); postprocess_item_subexpressions(item); + init_required_atoms(item, &coll->impl_->maxAtomIndex_); init_item_comg(item, &sc->pcc, post, flags); free_item_compilerdata(item); item = item->next; } + coll->impl_->maxAtomIndex_ = + std::max(coll->impl_->maxAtomIndex_, + sc->pcc.getHighestRequiredAtomIndex()); /* Allocate memory for the evaluation memory pool. */ _gmx_sel_mempool_reserve(sc->mempool, 0); diff --git a/src/gromacs/selection/evaluate.cpp b/src/gromacs/selection/evaluate.cpp index 9b1fb6ed21..dd3d3d1de5 100644 --- a/src/gromacs/selection/evaluate.cpp +++ b/src/gromacs/selection/evaluate.cpp @@ -50,23 +50,25 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include +#include "gmxpre.h" -#include "gromacs/legacyheaders/vec.h" +#include "evaluate.h" + +#include #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" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" -#include "evaluate.h" #include "mempool.h" +#include "poscalc.h" #include "selectioncollection-impl.h" #include "selelem.h" +#include "selmethod.h" using gmx::SelectionTreeElement; using gmx::SelectionTreeElementPointer; diff --git a/src/gromacs/selection/evaluate.h b/src/gromacs/selection/evaluate.h index df0aefeb06..337e9be336 100644 --- a/src/gromacs/selection/evaluate.h +++ b/src/gromacs/selection/evaluate.h @@ -1,7 +1,7 @@ /* * 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. @@ -49,21 +49,21 @@ #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. */ @@ -72,7 +72,7 @@ typedef struct gmx_sel_evaluate_t t_trxframe *fr; /** PBC data. */ t_pbc *pbc; -} gmx_sel_evaluate_t; +}; /*! \name Utility functions */ @@ -80,7 +80,7 @@ typedef struct gmx_sel_evaluate_t /** 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 diff --git a/src/gromacs/selection/indexutil.cpp b/src/gromacs/selection/indexutil.cpp index 27b867a9a1..a38fe36205 100644 --- a/src/gromacs/selection/indexutil.cpp +++ b/src/gromacs/selection/indexutil.cpp @@ -39,17 +39,21 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/selection/indexutil.h" +#include "gmxpre.h" +#include "indexutil.h" + +#include #include +#include #include #include -#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" /******************************************************************** @@ -246,7 +250,7 @@ gmx_ana_indexgrps_find(gmx_ana_index_t *dest, std::string *destName, int n = find_group(const_cast(name), src->nr, const_cast(names)); sfree(names); - if (n == NOTSET) + if (n < 0) { dest->isize = 0; return false; @@ -419,6 +423,19 @@ gmx_ana_index_dump(FILE *fp, gmx_ana_index_t *g, int maxn) fprintf(fp, "\n"); } +int +gmx_ana_index_get_max_index(gmx_ana_index_t *g) +{ + if (g->isize == 0) + { + return 0; + } + else + { + return *std::max_element(g->index, g->index + g->isize); + } +} + /*! * \param[in] g Index group to check. * \returns true if the index group is sorted and has no duplicates, @@ -439,6 +456,19 @@ gmx_ana_index_check_sorted(gmx_ana_index_t *g) return true; } +bool +gmx_ana_index_check_range(gmx_ana_index_t *g, int natoms) +{ + for (int i = 0; i < g->isize; ++i) + { + if (g->index[i] < 0 || g->index[i] >= natoms) + { + return false; + } + } + return true; +} + /******************************************************************** * Set operations ********************************************************************/ @@ -464,7 +494,7 @@ cmp_atomid(const void *a, const void *b) 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); } /*! @@ -844,7 +874,7 @@ gmx_ana_index_make_block(t_blocka *t, t_topology *top, gmx_ana_index_t *g, break; default: /* Should not be reached */ - gmx_bug("internal error"); + GMX_RELEASE_ASSERT(false, "Unreachable code was reached"); break; } } diff --git a/src/gromacs/selection/indexutil.h b/src/gromacs/selection/indexutil.h index 9092febb4a..dbfe7e77cf 100644 --- a/src/gromacs/selection/indexutil.h +++ b/src/gromacs/selection/indexutil.h @@ -1,7 +1,7 @@ /* * 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. @@ -61,12 +61,17 @@ #ifndef GMX_SELECTION_INDEXUTIL_H #define GMX_SELECTION_INDEXUTIL_H +#include + #include -#include "../legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/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. @@ -85,7 +90,7 @@ typedef enum /*! \brief * Stores a single index group. */ -typedef struct gmx_ana_index_t +struct gmx_ana_index_t { /** Number of atoms. */ int isize; @@ -93,12 +98,12 @@ typedef struct gmx_ana_index_t 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; @@ -168,7 +173,7 @@ typedef struct gmx_ana_indexmap_t * actually static. */ bool bStatic; -} gmx_ana_indexmap_t; +}; /*! \name Functions for handling gmx_ana_indexgrps_t @@ -231,9 +236,27 @@ gmx_ana_index_copy(gmx_ana_index_t *dest, gmx_ana_index_t *src, bool bAlloc); void gmx_ana_index_dump(FILE *fp, gmx_ana_index_t *g, int maxn); +/*! \brief + * Returns maximum atom index that appears in an index group. + * + * \param[in] g Index group to query. + * \returns Largest atom index that appears in \p g, or zero if \p g is empty. + */ +int +gmx_ana_index_get_max_index(gmx_ana_index_t *g); /** Checks whether an index group is sorted. */ bool gmx_ana_index_check_sorted(gmx_ana_index_t *g); +/*! \brief + * Checks whether an index group has atoms from a defined range. + * + * \param[in] g Index group to check. + * \param[in] natoms Largest atom number allowed. + * \returns true if all atoms in the index group are in the + * range 0 to \p natoms (i.e., no atoms over \p natoms are referenced). + */ +bool +gmx_ana_index_check_range(gmx_ana_index_t *g, int natoms); /*@}*/ /*! \name Functions for set operations on gmx_ana_index_t diff --git a/src/gromacs/selection/mempool.cpp b/src/gromacs/selection/mempool.cpp index 177ff0f77b..675932440f 100644 --- a/src/gromacs/selection/mempool.cpp +++ b/src/gromacs/selection/mempool.cpp @@ -39,6 +39,10 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "mempool.h" + #include #include @@ -48,8 +52,6 @@ #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" -#include "mempool.h" - //! Alignment in bytes for all returned blocks. #define ALIGN_STEP 8 diff --git a/src/gromacs/selection/mempool.h b/src/gromacs/selection/mempool.h index 352ed5fab6..d131eb9d06 100644 --- a/src/gromacs/selection/mempool.h +++ b/src/gromacs/selection/mempool.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011, 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. @@ -47,6 +47,8 @@ #ifndef GMX_SELECTION_MEMPOOL_H #define GMX_SELECTION_MEMPOOL_H +#include + struct gmx_ana_index_t; /** Opaque struct for memory pooling. */ diff --git a/src/gromacs/selection/nbsearch.cpp b/src/gromacs/selection/nbsearch.cpp index 24a66ddbda..7e32fa6536 100644 --- a/src/gromacs/selection/nbsearch.cpp +++ b/src/gromacs/selection/nbsearch.cpp @@ -40,9 +40,6 @@ * The grid implementation could still be optimized in several different ways: * - Triclinic grid cells are not the most efficient shape, but make PBC * handling easier. - * - Precalculating the required PBC shift for a pair of cells outside the - * inner loop. After this is done, it should be quite straightforward to - * move to rectangular cells. * - Pruning grid cells from the search list if they are completely outside * the sphere that is being considered. * - A better heuristic could be added for falling back to simple loops for a @@ -55,23 +52,28 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/selection/nbsearch.h" +#include "gmxpre.h" -#include +#include "nbsearch.h" + +#include +#include #include #include #include "thread_mpi/mutex.h" -#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/legacyheaders/pbc.h" -#include "gromacs/legacyheaders/vec.h" - +#include "gromacs/legacyheaders/names.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/selection/position.h" +#include "gromacs/topology/block.h" #include "gromacs/utility/arrayref.h" +#include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" +#include "gromacs/utility/stringutil.h" namespace gmx { @@ -98,10 +100,14 @@ class AnalysisNeighborhoodSearchImpl * Initializes the search with a given box and reference positions. * * \param[in] mode Search mode to use. + * \param[in] bXY Whether to use 2D searching. + * \param[in] excls Exclusions. * \param[in] pbc PBC information. * \param[in] positions Set of reference positions. */ void init(AnalysisNeighborhood::SearchMode mode, + bool bXY, + const t_blocka *excls, const t_pbc *pbc, const AnalysisNeighborhoodPositions &positions); PairSearchImplPointer getPairSearch(); @@ -118,23 +124,23 @@ class AnalysisNeighborhoodSearchImpl * \param[in] pbc Information about the box. * \returns false if grid search is not suitable. */ - bool initGridCells(const t_pbc *pbc); + bool initGridCells(const t_pbc &pbc); /*! \brief * Sets ua a search grid for a given box. * * \param[in] pbc Information about the box. * \returns false if grid search is not suitable. */ - bool initGrid(const t_pbc *pbc); + bool initGrid(const t_pbc &pbc); /*! \brief * Maps a point into a grid cell. * * \param[in] x Point to map. * \param[out] cell Indices of the grid cell in which \p x lies. - * - * \p x should be within the triclinic unit cell. + * \param[out] xout Coordinates to use + * (will be within the triclinic unit cell). */ - void mapPointToGridCell(const rvec x, ivec cell) const; + void mapPointToGridCell(const rvec x, ivec cell, rvec xout) const; /*! \brief * Calculates linear index of a grid cell. * @@ -149,6 +155,16 @@ class AnalysisNeighborhoodSearchImpl * \param[in] i Index to add. */ void addToGridCell(const ivec cell, int i); + /*! \brief + * Calculates the index of a neighboring grid cell. + * + * \param[in] sourceCell Location of the source cell. + * \param[in] index Index of the neighbor to calculate. + * \param[out] shift Shift to apply to get the periodic distance + * for distances between the cells. + * \returns Grid cell index of the neighboring cell. + */ + int getNeighboringCell(const ivec sourceCell, int index, rvec shift) const; //! Whether to try grid searching. bool bTryGrid_; @@ -156,20 +172,19 @@ class AnalysisNeighborhoodSearchImpl real cutoff_; //! The cutoff squared. real cutoff2_; + //! Whether to do searching in XY plane only. + bool bXY_; //! Number of reference points for the current frame. int nref_; //! Reference point positions. const rvec *xref_; - //! Reference position ids (NULL if not available). - const int *refid_; + //! Reference position exclusion IDs. + const int *refExclusionIds_; + //! Exclusions. + const t_blocka *excls_; //! PBC data. - t_pbc *pbc_; - - //! Number of excluded reference positions for current test particle. - int nexcl_; - //! Exclusions for current test particle. - int *excl_; + t_pbc pbc_; //! Whether grid searching is actually used for the current positions. bool bGrid_; @@ -208,6 +223,9 @@ class AnalysisNeighborhoodPairSearchImpl explicit AnalysisNeighborhoodPairSearchImpl(const AnalysisNeighborhoodSearchImpl &search) : search_(search) { + testExclusionIds_ = NULL; + nexcl_ = 0; + excl_ = NULL; clear_rvec(xtest_); clear_ivec(testcell_); reset(-1); @@ -233,12 +251,20 @@ class AnalysisNeighborhoodPairSearchImpl const AnalysisNeighborhoodSearchImpl &search_; //! Reference to the test positions. ConstArrayRef testPositions_; + //! Reference to the test exclusion indices. + const int *testExclusionIds_; + //! Number of excluded reference positions for current test particle. + int nexcl_; + //! Exclusions for current test particle. + const int *excl_; //! Index of the currently active test position in \p testPositions_. int testIndex_; //! Stores test position during a pair loop. rvec xtest_; //! Stores the previous returned position during a pair loop. int previ_; + //! Stores the pair distance corresponding to previ_; + real prevr2_; //! Stores the current exclusion index during loops. int exclind_; //! Stores the test particle cell index during loops. @@ -265,14 +291,12 @@ AnalysisNeighborhoodSearchImpl::AnalysisNeighborhoodSearchImpl(real cutoff) bTryGrid_ = false; } cutoff2_ = sqr(cutoff_); + bXY_ = false; - nref_ = 0; - xref_ = NULL; - refid_ = NULL; - pbc_ = NULL; - - nexcl_ = 0; - excl_ = NULL; + nref_ = 0; + xref_ = NULL; + refExclusionIds_ = NULL; + std::memset(&pbc_, 0, sizeof(pbc_)); bGrid_ = false; @@ -358,16 +382,16 @@ void AnalysisNeighborhoodSearchImpl::initGridCellNeighborList() } } -bool AnalysisNeighborhoodSearchImpl::initGridCells(const t_pbc *pbc) +bool AnalysisNeighborhoodSearchImpl::initGridCells(const t_pbc &pbc) { const real targetsize = - pow(pbc->box[XX][XX] * pbc->box[YY][YY] * pbc->box[ZZ][ZZ] + pow(pbc.box[XX][XX] * pbc.box[YY][YY] * pbc.box[ZZ][ZZ] * 10 / nref_, static_cast(1./3.)); int cellCount = 1; for (int dd = 0; dd < DIM; ++dd) { - ncelldim_[dd] = static_cast(pbc->box[dd][dd] / targetsize); + ncelldim_[dd] = static_cast(pbc.box[dd][dd] / targetsize); cellCount *= ncelldim_[dd]; if (ncelldim_[dd] < 3) { @@ -388,10 +412,10 @@ bool AnalysisNeighborhoodSearchImpl::initGridCells(const t_pbc *pbc) return true; } -bool AnalysisNeighborhoodSearchImpl::initGrid(const t_pbc *pbc) +bool AnalysisNeighborhoodSearchImpl::initGrid(const t_pbc &pbc) { /* TODO: This check could be improved. */ - if (0.5*pbc->max_cutoff2 < cutoff2_) + if (0.5*pbc.max_cutoff2 < cutoff2_) { return false; } @@ -401,12 +425,12 @@ bool AnalysisNeighborhoodSearchImpl::initGrid(const t_pbc *pbc) return false; } - bTric_ = TRICLINIC(pbc->box); + bTric_ = TRICLINIC(pbc.box); if (bTric_) { for (int dd = 0; dd < DIM; ++dd) { - svmul(1.0 / ncelldim_[dd], pbc->box[dd], cellbox_[dd]); + svmul(1.0 / ncelldim_[dd], pbc.box[dd], cellbox_[dd]); } m_inv_ur0(cellbox_, recipcell_); } @@ -414,7 +438,7 @@ bool AnalysisNeighborhoodSearchImpl::initGrid(const t_pbc *pbc) { for (int dd = 0; dd < DIM; ++dd) { - cellbox_[dd][dd] = pbc->box[dd][dd] / ncelldim_[dd]; + cellbox_[dd][dd] = pbc.box[dd][dd] / ncelldim_[dd]; recipcell_[dd][dd] = 1.0 / cellbox_[dd][dd]; } } @@ -423,25 +447,52 @@ bool AnalysisNeighborhoodSearchImpl::initGrid(const t_pbc *pbc) } void AnalysisNeighborhoodSearchImpl::mapPointToGridCell(const rvec x, - ivec cell) const + ivec cell, + rvec xout) const { + rvec xtmp; + copy_rvec(x, xtmp); if (bTric_) { rvec tx; - - tmvmul_ur0(recipcell_, x, tx); + tmvmul_ur0(recipcell_, xtmp, tx); for (int dd = 0; dd < DIM; ++dd) { - cell[dd] = static_cast(tx[dd]); + const int cellCount = ncelldim_[dd]; + int cellIndex = static_cast(floor(tx[dd])); + while (cellIndex < 0) + { + cellIndex += cellCount; + rvec_add(xtmp, pbc_.box[dd], xtmp); + } + while (cellIndex >= cellCount) + { + cellIndex -= cellCount; + rvec_sub(xtmp, pbc_.box[dd], xtmp); + } + cell[dd] = cellIndex; } } else { for (int dd = 0; dd < DIM; ++dd) { - cell[dd] = static_cast(x[dd] * recipcell_[dd][dd]); + const int cellCount = ncelldim_[dd]; + int cellIndex = static_cast(floor(xtmp[dd] * recipcell_[dd][dd])); + while (cellIndex < 0) + { + cellIndex += cellCount; + xtmp[dd] += pbc_.box[dd][dd]; + } + while (cellIndex >= cellCount) + { + cellIndex -= cellCount; + xtmp[dd] -= pbc_.box[dd][dd]; + } + cell[dd] = cellIndex; } } + copy_rvec(xtmp, xout); } int AnalysisNeighborhoodSearchImpl::getGridCellIndex(const ivec cell) const @@ -462,19 +513,72 @@ void AnalysisNeighborhoodSearchImpl::addToGridCell(const ivec cell, int i) cells_[ci].push_back(i); } +int AnalysisNeighborhoodSearchImpl::getNeighboringCell( + const ivec sourceCell, int index, rvec shift) const +{ + ivec cell; + ivec_add(sourceCell, gnboffs_[index], cell); + + // TODO: Consider unifying with the similar shifting code in + // mapPointToGridCell(). + clear_rvec(shift); + for (int d = 0; d < DIM; ++d) + { + const int cellCount = ncelldim_[d]; + if (cell[d] < 0) + { + cell[d] += cellCount; + rvec_add(shift, pbc_.box[d], shift); + } + else if (cell[d] >= cellCount) + { + cell[d] -= cellCount; + rvec_sub(shift, pbc_.box[d], shift); + } + } + + return getGridCellIndex(cell); +} + void AnalysisNeighborhoodSearchImpl::init( AnalysisNeighborhood::SearchMode mode, + bool bXY, + const t_blocka *excls, const t_pbc *pbc, const AnalysisNeighborhoodPositions &positions) { GMX_RELEASE_ASSERT(positions.index_ == -1, "Individual indexed positions not supported as reference"); - pbc_ = const_cast(pbc); + bXY_ = bXY; + if (bXY_ && pbc->ePBC != epbcNONE) + { + if (pbc->ePBC != epbcXY && pbc->ePBC != epbcXYZ) + { + std::string message = + formatString("Computations in the XY plane are not supported with PBC type '%s'", + EPBC(pbc->ePBC)); + GMX_THROW(NotImplementedError(message)); + } + if (std::fabs(pbc->box[ZZ][XX]) > GMX_REAL_EPS*pbc->box[ZZ][ZZ] || + std::fabs(pbc->box[ZZ][YY]) > GMX_REAL_EPS*pbc->box[ZZ][ZZ]) + { + GMX_THROW(NotImplementedError("Computations in the XY plane are not supported when the last box vector is not parallel to the Z axis")); + } + set_pbc(&pbc_, epbcXY, const_cast(pbc->box)); + } + else if (pbc != NULL) + { + pbc_ = *pbc; + } + else + { + pbc_.ePBC = epbcNONE; + } nref_ = positions.count_; // TODO: Consider whether it would be possible to support grid searching in // more cases. if (mode == AnalysisNeighborhood::eSearchMode_Simple - || pbc_ == NULL || pbc_->ePBC != epbcXYZ) + || pbc_.ePBC != epbcXYZ) { bGrid_ = false; } @@ -492,17 +596,10 @@ void AnalysisNeighborhoodSearchImpl::init( } xref_ = xref_alloc_; - for (int i = 0; i < nref_; ++i) - { - copy_rvec(positions.x_[i], xref_alloc_[i]); - } - put_atoms_in_triclinic_unitcell(ecenterTRIC, pbc_->box, - nref_, xref_alloc_); for (int i = 0; i < nref_; ++i) { ivec refcell; - - mapPointToGridCell(xref_[i], refcell); + mapPointToGridCell(positions.x_[i], refcell, xref_alloc_[i]); addToGridCell(refcell, i); } } @@ -510,29 +607,17 @@ void AnalysisNeighborhoodSearchImpl::init( { xref_ = positions.x_; } - // TODO: Once exclusions are supported, this may need to be initialized. - refid_ = NULL; -} - -#if 0 -/*! \brief - * Sets the exclusions for the next neighborhood search. - * - * \param[in,out] d Neighborhood search data structure. - * \param[in] nexcl Number of reference positions to exclude from next - * search. - * \param[in] excl Indices of reference positions to exclude. - * - * The set exclusions remain in effect until the next call of this function. - */ -void -gmx_ana_nbsearch_set_excl(gmx_ana_nbsearch_t *d, int nexcl, int excl[]) -{ - - d->nexcl = nexcl; - d->excl = excl; + excls_ = excls; + refExclusionIds_ = NULL; + if (excls != NULL) + { + // TODO: Check that the IDs are ascending, or remove the limitation. + refExclusionIds_ = positions.exclusionIds_; + GMX_RELEASE_ASSERT(refExclusionIds_ != NULL, + "Exclusion IDs must be set for reference positions " + "when exclusions are enabled"); + } } -#endif /******************************************************************** * AnalysisNeighborhoodPairSearchImpl @@ -546,12 +631,30 @@ void AnalysisNeighborhoodPairSearchImpl::reset(int testIndex) copy_rvec(testPositions_[testIndex_], xtest_); if (search_.bGrid_) { - put_atoms_in_triclinic_unitcell(ecenterTRIC, search_.pbc_->box, - 1, &xtest_); - search_.mapPointToGridCell(xtest_, testcell_); + search_.mapPointToGridCell(testPositions_[testIndex], testcell_, xtest_); + } + else + { + copy_rvec(testPositions_[testIndex_], xtest_); + } + if (search_.excls_ != NULL) + { + const int exclIndex = testExclusionIds_[testIndex]; + if (exclIndex < search_.excls_->nr) + { + const int startIndex = search_.excls_->index[exclIndex]; + nexcl_ = search_.excls_->index[exclIndex + 1] - startIndex; + excl_ = &search_.excls_->a[startIndex]; + } + else + { + nexcl_ = 0; + excl_ = NULL; + } } } previ_ = -1; + prevr2_ = 0.0; exclind_ = 0; prevnbi_ = 0; prevcai_ = -1; @@ -568,34 +671,17 @@ void AnalysisNeighborhoodPairSearchImpl::nextTestPosition() bool AnalysisNeighborhoodPairSearchImpl::isExcluded(int j) { - if (exclind_ < search_.nexcl_) + if (exclind_ < nexcl_) { - if (search_.refid_) + const int refId = search_.refExclusionIds_[j]; + while (exclind_ < nexcl_ && excl_[exclind_] < refId) { - while (exclind_ < search_.nexcl_ - && search_.excl_[exclind_] < search_.refid_[j]) - { - ++exclind_; - } - if (exclind_ < search_.nexcl_ - && search_.refid_[j] == search_.excl_[exclind_]) - { - ++exclind_; - return true; - } + ++exclind_; } - else + if (exclind_ < nexcl_ && refId == excl_[exclind_]) { - while (search_.bGrid_ && exclind_ < search_.nexcl_ - && search_.excl_[exclind_] < j) - { - ++exclind_; - } - if (search_.excl_[exclind_] == j) - { - ++exclind_; - return true; - } + ++exclind_; + return true; } } return false; @@ -604,6 +690,9 @@ bool AnalysisNeighborhoodPairSearchImpl::isExcluded(int j) void AnalysisNeighborhoodPairSearchImpl::startSearch( const AnalysisNeighborhoodPositions &positions) { + testExclusionIds_ = positions.exclusionIds_; + GMX_RELEASE_ASSERT(search_.excls_ == NULL || testExclusionIds_ != NULL, + "Exclusion IDs must be set when exclusions are enabled"); if (positions.index_ < 0) { testPositions_ = constArrayRefFromArray(positions.x_, positions.count_); @@ -625,21 +714,16 @@ bool AnalysisNeighborhoodPairSearchImpl::searchNext(Action action) { if (search_.bGrid_) { + GMX_RELEASE_ASSERT(!search_.bXY_, "Grid-based XY searches not implemented"); + int nbi = prevnbi_; int cai = prevcai_ + 1; for (; nbi < search_.ngridnb_; ++nbi) { - ivec cell; - - ivec_add(testcell_, search_.gnboffs_[nbi], cell); - cell[XX] = (cell[XX] + search_.ncelldim_[XX]) % search_.ncelldim_[XX]; - cell[YY] = (cell[YY] + search_.ncelldim_[YY]) % search_.ncelldim_[YY]; - cell[ZZ] = (cell[ZZ] + search_.ncelldim_[ZZ]) % search_.ncelldim_[ZZ]; - - const int ci = search_.getGridCellIndex(cell); + rvec shift; + const int ci = search_.getNeighboringCell(testcell_, nbi, shift); const int cellSize = static_cast(search_.cells_[ci].size()); - /* TODO: Calculate the required PBC shift outside the inner loop */ for (; cai < cellSize; ++cai) { const int i = search_.cells_[ci][cai]; @@ -648,7 +732,8 @@ bool AnalysisNeighborhoodPairSearchImpl::searchNext(Action action) continue; } rvec dx; - pbc_dx_aiuc(search_.pbc_, xtest_, search_.xref_[i], dx); + rvec_sub(xtest_, search_.xref_[i], dx); + rvec_add(dx, shift, dx); const real r2 = norm2(dx); if (r2 <= search_.cutoff2_) { @@ -657,6 +742,7 @@ bool AnalysisNeighborhoodPairSearchImpl::searchNext(Action action) prevnbi_ = nbi; prevcai_ = cai; previ_ = i; + prevr2_ = r2; return true; } } @@ -674,20 +760,24 @@ bool AnalysisNeighborhoodPairSearchImpl::searchNext(Action action) continue; } rvec dx; - if (search_.pbc_) + if (search_.pbc_.ePBC != epbcNONE) { - pbc_dx(search_.pbc_, xtest_, search_.xref_[i], dx); + pbc_dx(&search_.pbc_, xtest_, search_.xref_[i], dx); } else { rvec_sub(xtest_, search_.xref_[i], dx); } - const real r2 = norm2(dx); + const real r2 + = search_.bXY_ + ? dx[XX]*dx[XX] + dx[YY]*dx[YY] + : norm2(dx); if (r2 <= search_.cutoff2_) { if (action(i, r2)) { - previ_ = i; + previ_ = i; + prevr2_ = r2; return true; } } @@ -707,7 +797,7 @@ void AnalysisNeighborhoodPairSearchImpl::initFoundPair( } else { - *pair = AnalysisNeighborhoodPair(previ_, testIndex_); + *pair = AnalysisNeighborhoodPair(previ_, testIndex_, prevr2_); } } @@ -788,7 +878,7 @@ class AnalysisNeighborhood::Impl typedef AnalysisNeighborhoodSearch::ImplPointer SearchImplPointer; typedef std::vector SearchList; - Impl() : cutoff_(0), mode_(eSearchMode_Automatic) + Impl() : cutoff_(0), excls_(NULL), mode_(eSearchMode_Automatic), bXY_(false) { } ~Impl() @@ -806,7 +896,9 @@ class AnalysisNeighborhood::Impl tMPI::mutex createSearchMutex_; SearchList searchList_; real cutoff_; + const t_blocka *excls_; SearchMode mode_; + bool bXY_; }; AnalysisNeighborhood::Impl::SearchImplPointer @@ -848,6 +940,18 @@ void AnalysisNeighborhood::setCutoff(real cutoff) impl_->cutoff_ = cutoff; } +void AnalysisNeighborhood::setXYMode(bool bXY) +{ + impl_->bXY_ = bXY; +} + +void AnalysisNeighborhood::setTopologyExclusions(const t_blocka *excls) +{ + GMX_RELEASE_ASSERT(impl_->searchList_.empty(), + "Changing the exclusions after initSearch() not currently supported"); + impl_->excls_ = excls; +} + void AnalysisNeighborhood::setMode(SearchMode mode) { impl_->mode_ = mode; @@ -863,7 +967,7 @@ AnalysisNeighborhood::initSearch(const t_pbc *pbc, const AnalysisNeighborhoodPositions &positions) { Impl::SearchImplPointer search(impl_->getSearch()); - search->init(mode(), pbc, positions); + search->init(mode(), impl_->bXY_, impl_->excls_, pbc, positions); return AnalysisNeighborhoodSearch(search); } @@ -926,7 +1030,7 @@ AnalysisNeighborhoodSearch::nearestPoint( int closestPoint = -1; MindistAction action(&closestPoint, &minDist2); (void)pairSearch.searchNext(action); - return AnalysisNeighborhoodPair(closestPoint, 0); + return AnalysisNeighborhoodPair(closestPoint, 0, minDist2); } AnalysisNeighborhoodPairSearch diff --git a/src/gromacs/selection/nbsearch.h b/src/gromacs/selection/nbsearch.h index c3a2994824..fd7b41b129 100644 --- a/src/gromacs/selection/nbsearch.h +++ b/src/gromacs/selection/nbsearch.h @@ -1,7 +1,7 @@ /* * 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. @@ -51,13 +51,14 @@ #include -#include "../legacyheaders/typedefs.h" -#include "../utility/common.h" -#include "../utility/gmxassert.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/utility/arrayref.h" +#include "gromacs/utility/common.h" +#include "gromacs/utility/gmxassert.h" +#include "gromacs/utility/real.h" -#include "indexutil.h" - -struct gmx_ana_pos_t; +struct t_blocka; +struct t_pbc; namespace gmx { @@ -107,15 +108,31 @@ class AnalysisNeighborhoodPositions * to methods that accept positions. */ AnalysisNeighborhoodPositions(const rvec &x) - : count_(1), index_(-1), x_(&x) + : count_(1), index_(-1), x_(&x), exclusionIds_(NULL) { } /*! \brief * Initializes positions from an array of position vectors. */ AnalysisNeighborhoodPositions(const rvec x[], int count) - : count_(count), index_(-1), x_(x) + : count_(count), index_(-1), x_(x), exclusionIds_(NULL) + { + } + + /*! \brief + * Sets indices to use for mapping exclusions to these positions. + * + * The exclusion IDs can always be set, but they are ignored unless + * actual exclusions have been set with + * AnalysisNeighborhood::setTopologyExclusions(). + */ + AnalysisNeighborhoodPositions & + exclusionIds(ConstArrayRef ids) { + GMX_ASSERT(static_cast(ids.size()) == count_, + "Exclusion id array should match the number of positions"); + exclusionIds_ = ids.data(); + return *this; } /*! \brief @@ -138,6 +155,7 @@ class AnalysisNeighborhoodPositions int count_; int index_; const rvec *x_; + const int *exclusionIds_; //! To access the positions for initialization. friend class internal::AnalysisNeighborhoodSearchImpl; @@ -168,12 +186,8 @@ class AnalysisNeighborhoodPositions * a single thread. * * \todo - * Support for exclusions. - * The 4.5/4.6 C API had very low-level support for exclusions, which was not - * very convenient to use, and hadn't been tested much. The internal code that - * it used to do the exclusion during the search itself is still there, but it - * needs more thought on what would be a convenient way to initialize it. - * Can be implemented once there is need for it in some calling code. + * Generalize the exclusion machinery to make it easier to use for other cases + * than atom-atom exclusions from the topology. * * \inpublicapi * \ingroup module_selection @@ -197,7 +211,7 @@ class AnalysisNeighborhood ~AnalysisNeighborhood(); /*! \brief - * Set cutoff distance for the neighborhood searching. + * Sets cutoff distance for the neighborhood searching. * * \param[in] cutoff Cutoff distance for the search * (<=0 stands for no cutoff). @@ -208,6 +222,34 @@ class AnalysisNeighborhood * Does not throw. */ void setCutoff(real cutoff); + /*! \brief + * Sets the search to only happen in the XY plane. + * + * Z component of the coordinates is not used in the searching, + * and returned distances are computed in the XY plane. + * Only boxes with the third box vector parallel to the Z axis are + * currently implemented. + * + * Does not throw. + */ + void setXYMode(bool bXY); + /*! \brief + * Sets atom exclusions from a topology. + * + * The \p excls structure specifies the exclusions from test positions + * to reference positions, i.e., a block starting at `excls->index[i]` + * specifies the exclusions for test position `i`, and the indices in + * `excls->a` are indices of the reference positions. If `excls->nr` + * is smaller than a test position id, then such test positions do not + * have any exclusions. + * It is assumed that the indices within a block of indices in + * `excls->a` is ascending. + * + * Does not throw. + * + * \see AnalysisNeighborhoodPositions::exclusionIds() + */ + void setTopologyExclusions(const t_blocka *excls); /*! \brief * Sets the algorithm to use for searching. * @@ -258,10 +300,10 @@ class AnalysisNeighborhoodPair { public: //! Initializes an invalid pair. - AnalysisNeighborhoodPair() : refIndex_(-1), testIndex_(0) {} + AnalysisNeighborhoodPair() : refIndex_(-1), testIndex_(0), distance2_(0.0) {} //! Initializes a pair object with the given data. - AnalysisNeighborhoodPair(int refIndex, int testIndex) - : refIndex_(refIndex), testIndex_(testIndex) + AnalysisNeighborhoodPair(int refIndex, int testIndex, real distance2) + : refIndex_(refIndex), testIndex_(testIndex), distance2_(distance2) { } @@ -295,10 +337,19 @@ class AnalysisNeighborhoodPair GMX_ASSERT(isValid(), "Accessing invalid object"); return testIndex_; } + /*! \brief + * Returns the squared distance between the pair of positions. + */ + real distance2() const + { + GMX_ASSERT(isValid(), "Accessing invalid object"); + return distance2_; + } private: int refIndex_; int testIndex_; + real distance2_; }; /*! \brief diff --git a/src/gromacs/selection/params.cpp b/src/gromacs/selection/params.cpp index e0305da772..9c76fe7aea 100644 --- a/src/gromacs/selection/params.cpp +++ b/src/gromacs/selection/params.cpp @@ -39,14 +39,14 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include #include -#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 "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/messagestringcollector.h" @@ -54,9 +54,10 @@ #include "gromacs/utility/stringutil.h" #include "parsetree.h" -#include "position.h" #include "scanner.h" #include "selelem.h" +#include "selmethod.h" +#include "selparam.h" using gmx::SelectionParserValue; using gmx::SelectionParserValueList; @@ -540,7 +541,7 @@ parse_values_varnum(const SelectionParserValueList &values, param->val.u.r[i++] = value->u.r.r1; break; case STR_VALUE: - param->val.u.s[i++] = strdup(value->stringValue().c_str()); + param->val.u.s[i++] = gmx_strdup(value->stringValue().c_str()); break; case POS_VALUE: copy_rvec(value->u.x, param->val.u.p->x[i++]); break; default: /* Should not be reached */ @@ -865,7 +866,7 @@ parse_values_std(const SelectionParserValueList &values, param->val.u.r[i] = value->u.r.r1; break; case STR_VALUE: - param->val.u.s[i] = strdup(value->stringValue().c_str()); + param->val.u.s[i] = gmx_strdup(value->stringValue().c_str()); break; case POS_VALUE: gmx_ana_pos_init_const(¶m->val.u.p[i], value->u.x); diff --git a/src/gromacs/selection/parser.cpp b/src/gromacs/selection/parser.cpp index bf326b2516..b0beaa649c 100644 --- a/src/gromacs/selection/parser.cpp +++ b/src/gromacs/selection/parser.cpp @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.6.2. */ +/* A Bison parser, made by GNU Bison 2.7.12-4996. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.6.2" +#define YYBISON_VERSION "2.7.12-4996" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -58,6 +58,25 @@ /* Pull parsers. */ #define YYPULL 0 +/* "%code top" blocks. */ +/* Line 349 of yacc.c */ +#line 43 "parser.y" + +/*! \internal \file parser.cpp + * \brief Generated (from parser.y by Bison) parser for the selection language. + * + * \ingroup module_selection + */ +/*! \internal \file parser.h + * \brief Generated (from parser.y by Bison) parser include file. + * + * \ingroup module_selection + */ +#include "gmxpre.h" + + +/* Line 349 of yacc.c */ +#line 80 "parser.cpp" /* Substitute the variable and function names. */ #define yypush_parse _gmx_sel_yypush_parse @@ -72,19 +91,9 @@ #define yynerrs _gmx_sel_yynerrs /* Copy the first part of user declarations. */ -/* Line 336 of yacc.c */ -#line 43 "parser.y" +/* Line 371 of yacc.c */ +#line 56 "parser.y" -/*! \internal \file parser.cpp - * \brief Generated (from parser.y by Bison) parser for the selection language. - * - * \ingroup module_selection - */ -/*! \internal \file parser.h - * \brief Generated (from parser.y by Bison) parser include file. - * - * \ingroup module_selection - */ #include "gromacs/utility/scoped_ptr_sfree.h" #include "parser_internal.h" @@ -103,8 +112,8 @@ using gmx::SelectionTreeElementPointer; #pragma warning(disable: 4065) #endif -/* Line 336 of yacc.c */ -#line 108 "parser.cpp" +/* Line 371 of yacc.c */ +#line 117 "parser.cpp" # ifndef YY_NULL # if defined __cplusplus && 201103L <= __cplusplus @@ -124,8 +133,8 @@ using gmx::SelectionTreeElementPointer; /* In a future release of Bison, this section will be replaced by #include "parser.h". */ -#ifndef _GMX_SEL_YY_PARSER_H -# define _GMX_SEL_YY_PARSER_H +#ifndef YY__GMX_SEL_YY_PARSER_H_INCLUDED +# define YY__GMX_SEL_YY_PARSER_H_INCLUDED /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 1 @@ -134,7 +143,7 @@ using gmx::SelectionTreeElementPointer; extern int _gmx_sel_yydebug; #endif /* "%code requires" blocks. */ -/* Line 350 of yacc.c */ +/* Line 387 of yacc.c */ #line 1 "parser.y" /* @@ -172,15 +181,15 @@ extern int _gmx_sel_yydebug; * the research papers on the package. Check out http://www.gromacs.org. */ -/* Line 350 of yacc.c */ -#line 73 "parser.y" +/* Line 387 of yacc.c */ +#line 76 "parser.y" #include "parsetree.h" #include "selelem.h" -/* Line 350 of yacc.c */ -#line 184 "parser.cpp" +/* Line 387 of yacc.c */ +#line 193 "parser.cpp" /* Tokens. */ #ifndef YYTOKENTYPE @@ -226,8 +235,8 @@ extern int _gmx_sel_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { -/* Line 350 of yacc.c */ -#line 78 "parser.y" +/* Line 387 of yacc.c */ +#line 81 "parser.y" int i; real r; @@ -243,8 +252,8 @@ typedef union YYSTYPE gmx::SelectionParserParameterListPointer *plist; -/* Line 350 of yacc.c */ -#line 248 "parser.cpp" +/* Line 387 of yacc.c */ +#line 257 "parser.cpp" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -276,12 +285,12 @@ void _gmx_sel_yypstate_delete (_gmx_sel_yypstate *ps); void _gmx_sel_yypstate_delete (); #endif -#endif /* !_GMX_SEL_YY_PARSER_H */ +#endif /* !YY__GMX_SEL_YY_PARSER_H_INCLUDED */ /* Copy the second part of user declarations. */ -/* Line 353 of yacc.c */ -#line 285 "parser.cpp" +/* Line 390 of yacc.c */ +#line 294 "parser.cpp" #ifdef short # undef short @@ -334,24 +343,33 @@ typedef short int yytype_int16; # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ -# define YY_(msgid) msgid +# define YY_(Msgid) Msgid +# endif +#endif + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if (! defined __GNUC__ || __GNUC__ < 2 \ + || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) +# define __attribute__(Spec) /* empty */ # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) +# define YYUSE(E) ((void) (E)) #else -# define YYUSE(e) /* empty */ +# define YYUSE(E) /* empty */ #endif + /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint -# define YYID(n) (n) +# define YYID(N) (N) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) @@ -578,15 +596,15 @@ static const yytype_int8 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 193, 193, 198, 209, 210, 232, 237, 248, 260, - 266, 273, 280, 287, 297, 298, 305, 306, 320, 321, - 325, 326, 329, 330, 333, 334, 342, 353, 364, 375, - 379, 390, 397, 406, 407, 412, 413, 414, 418, 426, - 434, 442, 453, 468, 479, 493, 501, 512, 518, 524, - 530, 536, 542, 548, 555, 566, 581, 590, 594, 604, - 618, 626, 634, 647, 649, 655, 660, 671, 680, 681, - 686, 691, 699, 710, 711, 715, 721, 729, 739, 745, - 751, 757, 763, 767, 773, 779, 786, 790, 796, 802 + 0, 196, 196, 201, 212, 213, 235, 240, 251, 263, + 269, 276, 283, 290, 300, 301, 308, 309, 323, 324, + 328, 329, 332, 333, 336, 337, 345, 356, 367, 378, + 382, 393, 400, 409, 410, 415, 416, 417, 421, 429, + 437, 445, 456, 471, 482, 496, 504, 515, 521, 527, + 533, 539, 545, 551, 558, 569, 584, 593, 597, 607, + 621, 629, 637, 650, 652, 658, 663, 674, 683, 684, + 689, 694, 702, 713, 714, 718, 724, 732, 742, 748, + 754, 760, 766, 770, 776, 782, 789, 793, 799, 805 }; #endif @@ -759,10 +777,10 @@ static const yytype_int16 yytable[] = 0, 16, 0, 0, 0, 0, 0, 0, 39 }; -#define yypact_value_is_default(yystate) \ - ((yystate) == (-84)) +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-84))) -#define yytable_value_is_error(yytable_value) \ +#define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = @@ -872,47 +890,18 @@ do \ } \ while (YYID (0)) - +/* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) -#endif - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) - - /* This macro is provided for backward compatibility. */ - #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif /* YYLEX -- calling `yylex' with the right arguments. */ - #ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) #else @@ -974,11 +963,7 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner) # else YYUSE (yyoutput); # endif - switch (yytype) - { - default: - break; - } + YYUSE (yytype); } @@ -1221,7 +1206,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, { YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULL; @@ -1284,11 +1268,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, break; } yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } } } } @@ -1308,10 +1294,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, # undef YYCASE_ } - yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } if (*yymsg_alloc < yysize) { @@ -1372,183 +1360,183 @@ yydestruct (yymsg, yytype, yyvaluep, scanner) switch (yytype) { case 6: /* STR */ -/* Line 1381 of yacc.c */ -#line 173 "parser.y" - { free(((*yyvaluep).str)); }; -/* Line 1381 of yacc.c */ -#line 1380 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 176 "parser.y" + { free(((*yyvaluep).str)); }; +/* Line 1393 of yacc.c */ +#line 1368 "parser.cpp" + break; case 7: /* IDENTIFIER */ -/* Line 1381 of yacc.c */ -#line 173 "parser.y" - { free(((*yyvaluep).str)); }; -/* Line 1381 of yacc.c */ -#line 1387 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 176 "parser.y" + { free(((*yyvaluep).str)); }; +/* Line 1393 of yacc.c */ +#line 1375 "parser.cpp" + break; case 16: /* KEYWORD_POS */ -/* Line 1381 of yacc.c */ -#line 173 "parser.y" - { free(((*yyvaluep).str)); }; -/* Line 1381 of yacc.c */ -#line 1394 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 176 "parser.y" + { free(((*yyvaluep).str)); }; +/* Line 1393 of yacc.c */ +#line 1382 "parser.cpp" + break; case 23: /* PARAM */ -/* Line 1381 of yacc.c */ -#line 174 "parser.y" - { if(((*yyvaluep).str)) free(((*yyvaluep).str)); }; -/* Line 1381 of yacc.c */ -#line 1401 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 177 "parser.y" + { if(((*yyvaluep).str)) free(((*yyvaluep).str)); }; +/* Line 1393 of yacc.c */ +#line 1389 "parser.cpp" + break; case 26: /* CMP_OP */ -/* Line 1381 of yacc.c */ -#line 173 "parser.y" - { free(((*yyvaluep).str)); }; -/* Line 1381 of yacc.c */ -#line 1408 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 176 "parser.y" + { free(((*yyvaluep).str)); }; +/* Line 1393 of yacc.c */ +#line 1396 "parser.cpp" + break; case 50: /* commands */ -/* Line 1381 of yacc.c */ -#line 175 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1415 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 178 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1403 "parser.cpp" + break; case 51: /* command */ -/* Line 1381 of yacc.c */ -#line 175 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1422 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 178 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1410 "parser.cpp" + break; case 52: /* cmd_plain */ -/* Line 1381 of yacc.c */ -#line 175 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1429 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 178 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1417 "parser.cpp" + break; case 53: /* selection */ -/* Line 1381 of yacc.c */ -#line 175 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1436 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 178 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1424 "parser.cpp" + break; case 57: /* string */ -/* Line 1381 of yacc.c */ -#line 173 "parser.y" - { free(((*yyvaluep).str)); }; -/* Line 1381 of yacc.c */ -#line 1443 "parser.cpp" - break; - case 58: /* sel_expr */ -/* Line 1381 of yacc.c */ +/* Line 1393 of yacc.c */ #line 176 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1450 "parser.cpp" - break; + { free(((*yyvaluep).str)); }; +/* Line 1393 of yacc.c */ +#line 1431 "parser.cpp" + break; + case 58: /* sel_expr */ +/* Line 1393 of yacc.c */ +#line 179 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1438 "parser.cpp" + break; case 59: /* pos_mod */ -/* Line 1381 of yacc.c */ -#line 174 "parser.y" - { if(((*yyvaluep).str)) free(((*yyvaluep).str)); }; -/* Line 1381 of yacc.c */ -#line 1457 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 177 "parser.y" + { if(((*yyvaluep).str)) free(((*yyvaluep).str)); }; +/* Line 1393 of yacc.c */ +#line 1445 "parser.cpp" + break; case 61: /* num_expr */ -/* Line 1381 of yacc.c */ -#line 176 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1464 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 179 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1452 "parser.cpp" + break; case 62: /* str_expr */ -/* Line 1381 of yacc.c */ -#line 176 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1471 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 179 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1459 "parser.cpp" + break; case 63: /* pos_expr */ -/* Line 1381 of yacc.c */ -#line 176 "parser.y" - { delete ((*yyvaluep).sel); }; -/* Line 1381 of yacc.c */ -#line 1478 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 179 "parser.y" + { delete ((*yyvaluep).sel); }; +/* Line 1393 of yacc.c */ +#line 1466 "parser.cpp" + break; case 64: /* method_params */ -/* Line 1381 of yacc.c */ -#line 177 "parser.y" - { delete ((*yyvaluep).plist); }; -/* Line 1381 of yacc.c */ -#line 1485 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 180 "parser.y" + { delete ((*yyvaluep).plist); }; +/* Line 1393 of yacc.c */ +#line 1473 "parser.cpp" + break; case 65: /* method_param_list */ -/* Line 1381 of yacc.c */ -#line 177 "parser.y" - { delete ((*yyvaluep).plist); }; -/* Line 1381 of yacc.c */ -#line 1492 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 180 "parser.y" + { delete ((*yyvaluep).plist); }; +/* Line 1393 of yacc.c */ +#line 1480 "parser.cpp" + break; case 66: /* method_param */ -/* Line 1381 of yacc.c */ -#line 177 "parser.y" - { delete ((*yyvaluep).param); }; -/* Line 1381 of yacc.c */ -#line 1499 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 180 "parser.y" + { delete ((*yyvaluep).param); }; +/* Line 1393 of yacc.c */ +#line 1487 "parser.cpp" + break; case 67: /* value_list */ -/* Line 1381 of yacc.c */ -#line 178 "parser.y" - { delete ((*yyvaluep).vlist); }; -/* Line 1381 of yacc.c */ -#line 1506 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 181 "parser.y" + { delete ((*yyvaluep).vlist); }; +/* Line 1393 of yacc.c */ +#line 1494 "parser.cpp" + break; case 68: /* value_list_contents */ -/* Line 1381 of yacc.c */ -#line 178 "parser.y" - { delete ((*yyvaluep).vlist); }; -/* Line 1381 of yacc.c */ -#line 1513 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 181 "parser.y" + { delete ((*yyvaluep).vlist); }; +/* Line 1393 of yacc.c */ +#line 1501 "parser.cpp" + break; case 69: /* basic_value_list */ -/* Line 1381 of yacc.c */ -#line 178 "parser.y" - { delete ((*yyvaluep).vlist); }; -/* Line 1381 of yacc.c */ -#line 1520 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 181 "parser.y" + { delete ((*yyvaluep).vlist); }; +/* Line 1393 of yacc.c */ +#line 1508 "parser.cpp" + break; case 70: /* basic_value_list_contents */ -/* Line 1381 of yacc.c */ -#line 178 "parser.y" - { delete ((*yyvaluep).vlist); }; -/* Line 1381 of yacc.c */ -#line 1527 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 181 "parser.y" + { delete ((*yyvaluep).vlist); }; +/* Line 1393 of yacc.c */ +#line 1515 "parser.cpp" + break; case 71: /* value_item */ -/* Line 1381 of yacc.c */ -#line 179 "parser.y" - { delete ((*yyvaluep).val); }; -/* Line 1381 of yacc.c */ -#line 1534 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 182 "parser.y" + { delete ((*yyvaluep).val); }; +/* Line 1393 of yacc.c */ +#line 1522 "parser.cpp" + break; case 72: /* basic_value_item */ -/* Line 1381 of yacc.c */ -#line 179 "parser.y" - { delete ((*yyvaluep).val); }; -/* Line 1381 of yacc.c */ -#line 1541 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 182 "parser.y" + { delete ((*yyvaluep).val); }; +/* Line 1393 of yacc.c */ +#line 1529 "parser.cpp" + break; case 73: /* value_item_range */ -/* Line 1381 of yacc.c */ -#line 179 "parser.y" - { delete ((*yyvaluep).val); }; -/* Line 1381 of yacc.c */ -#line 1548 "parser.cpp" - break; +/* Line 1393 of yacc.c */ +#line 182 "parser.y" + { delete ((*yyvaluep).val); }; +/* Line 1393 of yacc.c */ +#line 1536 "parser.cpp" + break; default: - break; + break; } } @@ -1656,13 +1644,36 @@ yypush_parse (yyps, yypushed_char, yypushed_val, scanner) /* The lookahead symbol. */ int yychar; + +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") +#else +/* Default value used for initialization, for pacifying older GCCs + or non-GCC compilers. */ +static YYSTYPE yyval_default; +# define YY_INITIAL_VALUE(Value) = Value +#endif +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END +#endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + /* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; +YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ - int yytoken; + int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; @@ -1686,9 +1697,8 @@ YYSTYPE yylval; goto yyread_pushed_token; } - yytoken = 0; - yyss = yyssa; - yyvs = yyvsa; + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); @@ -1697,13 +1707,6 @@ YYSTYPE yylval; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - yyssp = yyss; - yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. @@ -1854,7 +1857,9 @@ yyread_pushed_token: yychar = YYEMPTY; yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; @@ -1892,7 +1897,7 @@ yyreduce: { case 2: /* Line 1787 of yacc.c */ -#line 193 "parser.y" +#line 196 "parser.y" { BEGIN_ACTION; set_empty((yyval.sel)); @@ -1902,7 +1907,7 @@ yyreduce: case 3: /* Line 1787 of yacc.c */ -#line 199 "parser.y" +#line 202 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_append_selection(get((yyvsp[(2) - (2)].sel)), get((yyvsp[(1) - (2)].sel)), scanner)); @@ -1914,13 +1919,13 @@ yyreduce: case 4: /* Line 1787 of yacc.c */ -#line 209 "parser.y" +#line 212 "parser.y" { (yyval.sel) = (yyvsp[(1) - (2)].sel); } break; case 5: /* Line 1787 of yacc.c */ -#line 211 "parser.y" +#line 214 "parser.y" { BEGIN_ACTION; _gmx_selparser_error(scanner, "invalid selection '%s'", @@ -1942,7 +1947,7 @@ yyreduce: case 6: /* Line 1787 of yacc.c */ -#line 232 "parser.y" +#line 235 "parser.y" { BEGIN_ACTION; set_empty((yyval.sel)); @@ -1952,7 +1957,7 @@ yyreduce: case 7: /* Line 1787 of yacc.c */ -#line 238 "parser.y" +#line 241 "parser.y" { BEGIN_ACTION; SelectionTreeElementPointer s @@ -1967,7 +1972,7 @@ yyreduce: case 8: /* Line 1787 of yacc.c */ -#line 249 "parser.y" +#line 252 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree nameGuard((yyvsp[(1) - (1)].str)); @@ -1983,7 +1988,7 @@ yyreduce: case 9: /* Line 1787 of yacc.c */ -#line 261 "parser.y" +#line 264 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_selection(NULL, get((yyvsp[(1) - (1)].sel)), scanner)); @@ -1993,7 +1998,7 @@ yyreduce: case 10: /* Line 1787 of yacc.c */ -#line 267 "parser.y" +#line 270 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree nameGuard((yyvsp[(1) - (2)].str)); @@ -2004,7 +2009,7 @@ yyreduce: case 11: /* Line 1787 of yacc.c */ -#line 274 "parser.y" +#line 277 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree nameGuard((yyvsp[(1) - (3)].str)); @@ -2015,7 +2020,7 @@ yyreduce: case 12: /* Line 1787 of yacc.c */ -#line 281 "parser.y" +#line 284 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree nameGuard((yyvsp[(1) - (3)].str)); @@ -2026,7 +2031,7 @@ yyreduce: case 13: /* Line 1787 of yacc.c */ -#line 288 "parser.y" +#line 291 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree nameGuard((yyvsp[(1) - (3)].str)); @@ -2037,13 +2042,13 @@ yyreduce: case 14: /* Line 1787 of yacc.c */ -#line 297 "parser.y" +#line 300 "parser.y" { (yyval.sel) = (yyvsp[(1) - (1)].sel); } break; case 15: /* Line 1787 of yacc.c */ -#line 299 "parser.y" +#line 302 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_position(get((yyvsp[(1) - (1)].sel)), NULL, scanner)); @@ -2054,13 +2059,13 @@ yyreduce: case 16: /* Line 1787 of yacc.c */ -#line 305 "parser.y" +#line 308 "parser.y" { (yyval.sel) = (yyvsp[(2) - (3)].sel); } break; case 17: /* Line 1787 of yacc.c */ -#line 307 "parser.y" +#line 310 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_modifier((yyvsp[(2) - (3)].meth), get((yyvsp[(3) - (3)].plist)), get((yyvsp[(1) - (3)].sel)), scanner)); @@ -2071,55 +2076,55 @@ yyreduce: case 18: /* Line 1787 of yacc.c */ -#line 320 "parser.y" +#line 323 "parser.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 19: /* Line 1787 of yacc.c */ -#line 321 "parser.y" +#line 324 "parser.y" { (yyval.i) = -(yyvsp[(2) - (2)].i); } break; case 20: /* Line 1787 of yacc.c */ -#line 325 "parser.y" +#line 328 "parser.y" { (yyval.r) = (yyvsp[(1) - (1)].r); } break; case 21: /* Line 1787 of yacc.c */ -#line 326 "parser.y" +#line 329 "parser.y" { (yyval.r) = -(yyvsp[(2) - (2)].r); } break; case 22: /* Line 1787 of yacc.c */ -#line 329 "parser.y" +#line 332 "parser.y" { (yyval.r) = (yyvsp[(1) - (1)].i); } break; case 23: /* Line 1787 of yacc.c */ -#line 330 "parser.y" +#line 333 "parser.y" { (yyval.r) = (yyvsp[(1) - (1)].r); } break; case 24: /* Line 1787 of yacc.c */ -#line 333 "parser.y" +#line 336 "parser.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 25: /* Line 1787 of yacc.c */ -#line 334 "parser.y" +#line 337 "parser.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 26: /* Line 1787 of yacc.c */ -#line 343 "parser.y" +#line 346 "parser.y" { BEGIN_ACTION; SelectionTreeElementPointer arg(get((yyvsp[(2) - (2)].sel))); @@ -2134,7 +2139,7 @@ yyreduce: case 27: /* Line 1787 of yacc.c */ -#line 354 "parser.y" +#line 357 "parser.y" { BEGIN_ACTION; SelectionTreeElementPointer arg1(get((yyvsp[(1) - (3)].sel))), arg2(get((yyvsp[(3) - (3)].sel))); @@ -2149,7 +2154,7 @@ yyreduce: case 28: /* Line 1787 of yacc.c */ -#line 365 "parser.y" +#line 368 "parser.y" { BEGIN_ACTION; SelectionTreeElementPointer arg1(get((yyvsp[(1) - (3)].sel))), arg2(get((yyvsp[(3) - (3)].sel))); @@ -2164,13 +2169,13 @@ yyreduce: case 29: /* Line 1787 of yacc.c */ -#line 375 "parser.y" +#line 378 "parser.y" { (yyval.sel) = (yyvsp[(2) - (3)].sel); } break; case 30: /* Line 1787 of yacc.c */ -#line 380 "parser.y" +#line 383 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree opGuard((yyvsp[(2) - (3)].str)); @@ -2182,7 +2187,7 @@ yyreduce: case 31: /* Line 1787 of yacc.c */ -#line 391 "parser.y" +#line 394 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree nameGuard((yyvsp[(2) - (2)].str)); @@ -2193,7 +2198,7 @@ yyreduce: case 32: /* Line 1787 of yacc.c */ -#line 398 "parser.y" +#line 401 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_group_by_id((yyvsp[(2) - (2)].i), scanner)); @@ -2203,37 +2208,37 @@ yyreduce: case 33: /* Line 1787 of yacc.c */ -#line 406 "parser.y" +#line 409 "parser.y" { (yyval.str) = NULL; } break; case 34: /* Line 1787 of yacc.c */ -#line 407 "parser.y" +#line 410 "parser.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 35: /* Line 1787 of yacc.c */ -#line 412 "parser.y" +#line 415 "parser.y" { (yyval.smt) = gmx::eStringMatchType_RegularExpression; } break; case 36: /* Line 1787 of yacc.c */ -#line 413 "parser.y" +#line 416 "parser.y" { (yyval.smt) = gmx::eStringMatchType_Wildcard; } break; case 37: /* Line 1787 of yacc.c */ -#line 414 "parser.y" +#line 417 "parser.y" { (yyval.smt) = gmx::eStringMatchType_Exact; } break; case 38: /* Line 1787 of yacc.c */ -#line 419 "parser.y" +#line 422 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (2)].str)); @@ -2245,7 +2250,7 @@ yyreduce: case 39: /* Line 1787 of yacc.c */ -#line 427 "parser.y" +#line 430 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str)); @@ -2257,7 +2262,7 @@ yyreduce: case 40: /* Line 1787 of yacc.c */ -#line 435 "parser.y" +#line 438 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (4)].str)); @@ -2269,7 +2274,7 @@ yyreduce: case 41: /* Line 1787 of yacc.c */ -#line 443 "parser.y" +#line 446 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str)); @@ -2281,7 +2286,7 @@ yyreduce: case 42: /* Line 1787 of yacc.c */ -#line 454 "parser.y" +#line 457 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str)); @@ -2293,7 +2298,7 @@ yyreduce: case 43: /* Line 1787 of yacc.c */ -#line 469 "parser.y" +#line 472 "parser.y" { BEGIN_ACTION; SelectionTreeElementPointer sel( @@ -2308,7 +2313,7 @@ yyreduce: case 44: /* Line 1787 of yacc.c */ -#line 480 "parser.y" +#line 483 "parser.y" { BEGIN_ACTION; SelectionTreeElementPointer sel( @@ -2323,7 +2328,7 @@ yyreduce: case 45: /* Line 1787 of yacc.c */ -#line 494 "parser.y" +#line 497 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (2)].str)); @@ -2335,7 +2340,7 @@ yyreduce: case 46: /* Line 1787 of yacc.c */ -#line 502 "parser.y" +#line 505 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str)); @@ -2347,7 +2352,7 @@ yyreduce: case 47: /* Line 1787 of yacc.c */ -#line 513 "parser.y" +#line 516 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '+', scanner)); @@ -2357,7 +2362,7 @@ yyreduce: case 48: /* Line 1787 of yacc.c */ -#line 519 "parser.y" +#line 522 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '-', scanner)); @@ -2367,7 +2372,7 @@ yyreduce: case 49: /* Line 1787 of yacc.c */ -#line 525 "parser.y" +#line 528 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '*', scanner)); @@ -2377,7 +2382,7 @@ yyreduce: case 50: /* Line 1787 of yacc.c */ -#line 531 "parser.y" +#line 534 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '/', scanner)); @@ -2387,7 +2392,7 @@ yyreduce: case 51: /* Line 1787 of yacc.c */ -#line 537 "parser.y" +#line 540 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(2) - (2)].sel)), SelectionTreeElementPointer(), '-', scanner)); @@ -2397,7 +2402,7 @@ yyreduce: case 52: /* Line 1787 of yacc.c */ -#line 543 "parser.y" +#line 546 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '^', scanner)); @@ -2407,13 +2412,13 @@ yyreduce: case 53: /* Line 1787 of yacc.c */ -#line 548 "parser.y" +#line 551 "parser.y" { (yyval.sel) = (yyvsp[(2) - (3)].sel); } break; case 54: /* Line 1787 of yacc.c */ -#line 556 "parser.y" +#line 559 "parser.y" { BEGIN_ACTION; SelectionTreeElementPointer sel( @@ -2428,7 +2433,7 @@ yyreduce: case 55: /* Line 1787 of yacc.c */ -#line 567 "parser.y" +#line 570 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree posmodGuard((yyvsp[(1) - (2)].str)); @@ -2440,7 +2445,7 @@ yyreduce: case 56: /* Line 1787 of yacc.c */ -#line 582 "parser.y" +#line 585 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_const_position((yyvsp[(2) - (7)].r), (yyvsp[(4) - (7)].r), (yyvsp[(6) - (7)].r))); @@ -2450,13 +2455,13 @@ yyreduce: case 57: /* Line 1787 of yacc.c */ -#line 590 "parser.y" +#line 593 "parser.y" { (yyval.sel) = (yyvsp[(2) - (3)].sel); } break; case 58: /* Line 1787 of yacc.c */ -#line 595 "parser.y" +#line 598 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_method((yyvsp[(1) - (2)].meth), get((yyvsp[(2) - (2)].plist)), NULL, scanner)); @@ -2467,7 +2472,7 @@ yyreduce: case 59: /* Line 1787 of yacc.c */ -#line 605 "parser.y" +#line 608 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree keywordGuard((yyvsp[(1) - (3)].str)); @@ -2479,7 +2484,7 @@ yyreduce: case 60: /* Line 1787 of yacc.c */ -#line 619 "parser.y" +#line 622 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_variable_ref(get((yyvsp[(1) - (1)].sel)))); @@ -2489,7 +2494,7 @@ yyreduce: case 61: /* Line 1787 of yacc.c */ -#line 627 "parser.y" +#line 630 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_variable_ref(get((yyvsp[(1) - (1)].sel)))); @@ -2499,7 +2504,7 @@ yyreduce: case 62: /* Line 1787 of yacc.c */ -#line 635 "parser.y" +#line 638 "parser.y" { BEGIN_ACTION; set((yyval.sel), _gmx_sel_init_variable_ref(get((yyvsp[(1) - (1)].sel)))); @@ -2509,19 +2514,19 @@ yyreduce: case 63: /* Line 1787 of yacc.c */ -#line 648 "parser.y" +#line 651 "parser.y" { (yyval.plist) = (yyvsp[(1) - (1)].plist); } break; case 64: /* Line 1787 of yacc.c */ -#line 650 "parser.y" +#line 653 "parser.y" { (yyval.plist) = (yyvsp[(1) - (2)].plist); } break; case 65: /* Line 1787 of yacc.c */ -#line 655 "parser.y" +#line 658 "parser.y" { BEGIN_ACTION; set((yyval.plist), SelectionParserParameter::createList()); @@ -2531,7 +2536,7 @@ yyreduce: case 66: /* Line 1787 of yacc.c */ -#line 661 "parser.y" +#line 664 "parser.y" { BEGIN_ACTION; SelectionParserParameterListPointer list(get((yyvsp[(1) - (2)].plist))); @@ -2543,7 +2548,7 @@ yyreduce: case 67: /* Line 1787 of yacc.c */ -#line 672 "parser.y" +#line 675 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree nameGuard((yyvsp[(1) - (2)].str)); @@ -2554,19 +2559,19 @@ yyreduce: case 68: /* Line 1787 of yacc.c */ -#line 680 "parser.y" +#line 683 "parser.y" { (yyval.vlist) = (yyvsp[(1) - (1)].vlist); } break; case 69: /* Line 1787 of yacc.c */ -#line 681 "parser.y" +#line 684 "parser.y" { (yyval.vlist) = (yyvsp[(2) - (3)].vlist); } break; case 70: /* Line 1787 of yacc.c */ -#line 686 "parser.y" +#line 689 "parser.y" { BEGIN_ACTION; set((yyval.vlist), SelectionParserValue::createList()); @@ -2576,7 +2581,7 @@ yyreduce: case 71: /* Line 1787 of yacc.c */ -#line 692 "parser.y" +#line 695 "parser.y" { BEGIN_ACTION; SelectionParserValueListPointer list(get((yyvsp[(1) - (2)].vlist))); @@ -2588,7 +2593,7 @@ yyreduce: case 72: /* Line 1787 of yacc.c */ -#line 700 "parser.y" +#line 703 "parser.y" { BEGIN_ACTION; SelectionParserValueListPointer list(get((yyvsp[(1) - (3)].vlist))); @@ -2600,19 +2605,19 @@ yyreduce: case 73: /* Line 1787 of yacc.c */ -#line 710 "parser.y" +#line 713 "parser.y" { (yyval.vlist) = (yyvsp[(1) - (1)].vlist); } break; case 74: /* Line 1787 of yacc.c */ -#line 711 "parser.y" +#line 714 "parser.y" { (yyval.vlist) = (yyvsp[(2) - (3)].vlist); } break; case 75: /* Line 1787 of yacc.c */ -#line 716 "parser.y" +#line 719 "parser.y" { BEGIN_ACTION; set((yyval.vlist), SelectionParserValue::createList(get((yyvsp[(1) - (1)].val)))); @@ -2622,7 +2627,7 @@ yyreduce: case 76: /* Line 1787 of yacc.c */ -#line 722 "parser.y" +#line 725 "parser.y" { BEGIN_ACTION; SelectionParserValueListPointer list(get((yyvsp[(1) - (2)].vlist))); @@ -2634,7 +2639,7 @@ yyreduce: case 77: /* Line 1787 of yacc.c */ -#line 730 "parser.y" +#line 733 "parser.y" { BEGIN_ACTION; SelectionParserValueListPointer list(get((yyvsp[(1) - (3)].vlist))); @@ -2646,7 +2651,7 @@ yyreduce: case 78: /* Line 1787 of yacc.c */ -#line 740 "parser.y" +#line 743 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel)))); @@ -2656,7 +2661,7 @@ yyreduce: case 79: /* Line 1787 of yacc.c */ -#line 746 "parser.y" +#line 749 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel)))); @@ -2666,7 +2671,7 @@ yyreduce: case 80: /* Line 1787 of yacc.c */ -#line 752 "parser.y" +#line 755 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel)))); @@ -2676,7 +2681,7 @@ yyreduce: case 81: /* Line 1787 of yacc.c */ -#line 758 "parser.y" +#line 761 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel)))); @@ -2686,13 +2691,13 @@ yyreduce: case 82: /* Line 1787 of yacc.c */ -#line 763 "parser.y" +#line 766 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 83: /* Line 1787 of yacc.c */ -#line 768 "parser.y" +#line 771 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createInteger((yyvsp[(1) - (1)].i))); @@ -2702,7 +2707,7 @@ yyreduce: case 84: /* Line 1787 of yacc.c */ -#line 774 "parser.y" +#line 777 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createReal((yyvsp[(1) - (1)].r))); @@ -2712,7 +2717,7 @@ yyreduce: case 85: /* Line 1787 of yacc.c */ -#line 780 "parser.y" +#line 783 "parser.y" { BEGIN_ACTION; scoped_ptr_sfree stringGuard((yyvsp[(1) - (1)].str)); @@ -2723,13 +2728,13 @@ yyreduce: case 86: /* Line 1787 of yacc.c */ -#line 786 "parser.y" +#line 789 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 87: /* Line 1787 of yacc.c */ -#line 791 "parser.y" +#line 794 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createIntegerRange((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i))); @@ -2739,7 +2744,7 @@ yyreduce: case 88: /* Line 1787 of yacc.c */ -#line 797 "parser.y" +#line 800 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createRealRange((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].r))); @@ -2749,7 +2754,7 @@ yyreduce: case 89: /* Line 1787 of yacc.c */ -#line 803 "parser.y" +#line 806 "parser.y" { BEGIN_ACTION; set((yyval.val), SelectionParserValue::createRealRange((yyvsp[(1) - (3)].r), (yyvsp[(3) - (3)].r))); @@ -2759,7 +2764,7 @@ yyreduce: /* Line 1787 of yacc.c */ -#line 2763 "parser.cpp" +#line 2768 "parser.cpp" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2922,7 +2927,9 @@ yyerrlab1: YY_STACK_PRINT (yyss, yyssp); } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ diff --git a/src/gromacs/selection/parser.h b/src/gromacs/selection/parser.h index 5ccdff7781..f3f96fdfd2 100644 --- a/src/gromacs/selection/parser.h +++ b/src/gromacs/selection/parser.h @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.6.2. */ +/* A Bison parser, made by GNU Bison 2.7.12-4996. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,8 +30,8 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef _GMX_SEL_YY_PARSER_H -# define _GMX_SEL_YY_PARSER_H +#ifndef YY__GMX_SEL_YY_PARSER_H_INCLUDED +# define YY__GMX_SEL_YY_PARSER_H_INCLUDED /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 1 @@ -40,7 +40,7 @@ extern int _gmx_sel_yydebug; #endif /* "%code requires" blocks. */ -/* Line 2049 of yacc.c */ +/* Line 2053 of yacc.c */ #line 1 "parser.y" /* @@ -78,14 +78,14 @@ extern int _gmx_sel_yydebug; * the research papers on the package. Check out http://www.gromacs.org. */ -/* Line 2049 of yacc.c */ -#line 73 "parser.y" +/* Line 2053 of yacc.c */ +#line 76 "parser.y" #include "parsetree.h" #include "selelem.h" -/* Line 2049 of yacc.c */ +/* Line 2053 of yacc.c */ #line 90 "parser.h" /* Tokens. */ @@ -132,8 +132,8 @@ extern int _gmx_sel_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { -/* Line 2049 of yacc.c */ -#line 78 "parser.y" +/* Line 2053 of yacc.c */ +#line 81 "parser.y" int i; real r; @@ -149,7 +149,7 @@ typedef union YYSTYPE gmx::SelectionParserParameterListPointer *plist; -/* Line 2049 of yacc.c */ +/* Line 2053 of yacc.c */ #line 154 "parser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 @@ -182,4 +182,4 @@ void _gmx_sel_yypstate_delete (_gmx_sel_yypstate *ps); void _gmx_sel_yypstate_delete (); #endif -#endif /* !_GMX_SEL_YY_PARSER_H */ +#endif /* !YY__GMX_SEL_YY_PARSER_H_INCLUDED */ diff --git a/src/gromacs/selection/parser.y b/src/gromacs/selection/parser.y index 682a1fddab..c90c582998 100644 --- a/src/gromacs/selection/parser.y +++ b/src/gromacs/selection/parser.y @@ -40,7 +40,7 @@ * \author Teemu Murtola * \ingroup module_selection */ -%{ +%code top { /*! \internal \file parser.cpp * \brief Generated (from parser.y by Bison) parser for the selection language. * @@ -51,6 +51,9 @@ * * \ingroup module_selection */ +#include "gmxpre.h" +} +%{ #include "gromacs/utility/scoped_ptr_sfree.h" #include "parser_internal.h" diff --git a/src/gromacs/selection/parser_internal.h b/src/gromacs/selection/parser_internal.h index a9482fa856..b938adfa6c 100644 --- a/src/gromacs/selection/parser_internal.h +++ b/src/gromacs/selection/parser_internal.h @@ -1,7 +1,7 @@ /* * 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. @@ -46,6 +46,8 @@ #ifndef GMX_SELECTION_PARSER_INTERNAL_H #define GMX_SELECTION_PARSER_INTERNAL_H +#include "config.h" + #include #include @@ -53,9 +55,8 @@ #include "gromacs/utility/gmxassert.h" #include "parsetree.h" -#include "selelem.h" - #include "scanner.h" +#include "selelem.h" //! Error handler needed by Bison. static void diff --git a/src/gromacs/selection/parsetree.cpp b/src/gromacs/selection/parsetree.cpp index 753da3b07d..14d5d27dbd 100644 --- a/src/gromacs/selection/parsetree.cpp +++ b/src/gromacs/selection/parsetree.cpp @@ -219,16 +219,18 @@ * Each element has exactly two children (one for unary negation elements), * which are in the order given in the input. */ -#include +#include "gmxpre.h" + +#include "parsetree.h" + #include +#include #include #include -#include "gromacs/fileio/futil.h" -#include "gromacs/selection/poscalc.h" #include "gromacs/selection/selection.h" -#include "gromacs/selection/selmethod.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/file.h" #include "gromacs/utility/messagestringcollector.h" @@ -236,13 +238,13 @@ #include "gromacs/utility/stringutil.h" #include "keywords.h" -#include "parsetree.h" +#include "poscalc.h" +#include "scanner.h" #include "selectioncollection-impl.h" #include "selelem.h" +#include "selmethod.h" #include "symrec.h" -#include "scanner.h" - using gmx::SelectionParserValue; using gmx::SelectionParserValueList; using gmx::SelectionParserValueListPointer; @@ -580,7 +582,7 @@ _gmx_sel_init_arithmetic(const gmx::SelectionTreeElementPointer &left, buf[0] = op; buf[1] = 0; sel->setName(buf); - sel->u.arith.opstr = strdup(buf); + sel->u.arith.opstr = gmx_strdup(buf); sel->child = left; sel->child->next = right; return sel; @@ -911,13 +913,14 @@ _gmx_sel_init_group_by_name(const char *name, yyscan_t scanner) SelectionTreeElementPointer sel(new SelectionTreeElement(SEL_GROUPREF)); _gmx_selelem_set_vtype(sel, GROUP_VALUE); sel->setName(gmx::formatString("group \"%s\"", name)); - sel->u.gref.name = strdup(name); + sel->u.gref.name = gmx_strdup(name); sel->u.gref.id = -1; if (_gmx_sel_lexer_has_groups_set(scanner)) { - gmx_ana_indexgrps_t *grps = _gmx_sel_lexer_indexgrps(scanner); - sel->resolveIndexGroupReference(grps); + gmx_ana_indexgrps_t *grps = _gmx_sel_lexer_indexgrps(scanner); + gmx_ana_selcollection_t *sc = _gmx_sel_lexer_selcollection(scanner); + sel->resolveIndexGroupReference(grps, sc->gall.isize); } return sel; @@ -939,8 +942,9 @@ _gmx_sel_init_group_by_id(int id, yyscan_t scanner) if (_gmx_sel_lexer_has_groups_set(scanner)) { - gmx_ana_indexgrps_t *grps = _gmx_sel_lexer_indexgrps(scanner); - sel->resolveIndexGroupReference(grps); + gmx_ana_indexgrps_t *grps = _gmx_sel_lexer_indexgrps(scanner); + gmx_ana_selcollection_t *sc = _gmx_sel_lexer_selcollection(scanner); + sel->resolveIndexGroupReference(grps, sc->gall.isize); } return sel; @@ -1076,7 +1080,7 @@ _gmx_sel_assign_variable(const char *name, sc->symtab->addVariable(name, root->child); } srenew(sc->varstrs, sc->nvars + 1); - sc->varstrs[sc->nvars] = strdup(pselstr); + sc->varstrs[sc->nvars] = gmx_strdup(pselstr); ++sc->nvars; if (_gmx_sel_is_lexer_interactive(scanner)) { diff --git a/src/gromacs/selection/parsetree.h b/src/gromacs/selection/parsetree.h index d594f3240d..db88f45e92 100644 --- a/src/gromacs/selection/parsetree.h +++ b/src/gromacs/selection/parsetree.h @@ -55,10 +55,10 @@ #include #include -#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" diff --git a/src/gromacs/selection/poscalc.cpp b/src/gromacs/selection/poscalc.cpp index 1f17572376..f193abd42c 100644 --- a/src/gromacs/selection/poscalc.cpp +++ b/src/gromacs/selection/poscalc.cpp @@ -59,20 +59,24 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "poscalc.h" + #include -#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/legacyheaders/pbc.h" -#include "gromacs/legacyheaders/vec.h" +#include -#include "gromacs/selection/centerofmass.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/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" +#include "centerofmass.h" + namespace gmx { @@ -188,11 +192,11 @@ struct gmx_ana_poscalc_t * 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. */ @@ -559,6 +563,25 @@ PositionCalculationCollection::createCalculationFromEnum(const char *post, int f return impl_->createCalculation(type, cflags); } +int PositionCalculationCollection::getHighestRequiredAtomIndex() const +{ + int result = 0; + gmx_ana_poscalc_t *pc = impl_->first_; + while (pc) + { + // Calculations with a base just copy positions from the base, so + // those do not need to be considered in the check. + if (!pc->sbase) + { + gmx_ana_index_t g; + gmx_ana_index_set(&g, pc->b.nra, pc->b.a, 0); + result = std::max(result, gmx_ana_index_get_max_index(&g)); + } + pc = pc->next; + } + return result; +} + void PositionCalculationCollection::initEvaluation() { if (impl_->bInit_) diff --git a/src/gromacs/selection/poscalc.h b/src/gromacs/selection/poscalc.h index 9ddc0fd46c..83b95d6d32 100644 --- a/src/gromacs/selection/poscalc.h +++ b/src/gromacs/selection/poscalc.h @@ -1,7 +1,7 @@ /* * 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. @@ -52,9 +52,9 @@ #ifndef GMX_SELECTION_POSCALC_H #define GMX_SELECTION_POSCALC_H -#include "../legacyheaders/typedefs.h" +#include -#include "../utility/common.h" +#include "gromacs/utility/common.h" /*! \name Flags for position calculation. * \anchor poscalc_flags @@ -127,10 +127,13 @@ typedef enum } 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 { @@ -276,6 +279,13 @@ class PositionCalculationCollection */ gmx_ana_poscalc_t *createCalculationFromEnum(const char *post, int flags); + /*! \brief + * Computes the highest atom index required to evaluate this collection. + * + * Does not throw. + */ + int getHighestRequiredAtomIndex() const; + /*! \brief * Initializes evaluation for a position calculation collection. * @@ -323,10 +333,10 @@ void 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); @@ -337,7 +347,7 @@ gmx_ana_poscalc_requires_top(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 diff --git a/src/gromacs/selection/position.cpp b/src/gromacs/selection/position.cpp index fe89b9ff6a..e5c6346f94 100644 --- a/src/gromacs/selection/position.cpp +++ b/src/gromacs/selection/position.cpp @@ -39,13 +39,13 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/selection/position.h" +#include "gmxpre.h" -#include +#include "position.h" -#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/legacyheaders/vec.h" +#include +#include "gromacs/math/vec.h" #include "gromacs/selection/indexutil.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" diff --git a/src/gromacs/selection/position.h b/src/gromacs/selection/position.h index eb2fffc072..e8e662d1ec 100644 --- a/src/gromacs/selection/position.h +++ b/src/gromacs/selection/position.h @@ -1,7 +1,7 @@ /* * 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. @@ -41,9 +41,8 @@ #ifndef GMX_SELECTION_POSITION_H #define GMX_SELECTION_POSITION_H -#include "../legacyheaders/types/simple.h" - -#include "indexutil.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/selection/indexutil.h" /*! \brief * Stores a set of positions together with their origins. diff --git a/src/gromacs/selection/regenerate_parser.sh b/src/gromacs/selection/regenerate_parser.sh index 66324c737c..56e2a77930 100755 --- a/src/gromacs/selection/regenerate_parser.sh +++ b/src/gromacs/selection/regenerate_parser.sh @@ -31,5 +31,13 @@ fi # We apply some trivial patches to the output to avoid warnings for PGI # (and maybe other) compilers -[[ $FORCE || parser.y -nt parser.cpp ]] && $BISON -t -o parser.cpp --defines=parser.h parser.y && patch -p0 < parser.patch && rm -f parser.cpp.orig -[[ $FORCE || scanner.l -nt scanner.cpp ]] && $FLEX -o scanner.cpp scanner.l && patch -p0 < scanner.patch && rm -f scanner.cpp.orig +[[ $FORCE || parser.y -nt parser.cpp ]] && \ + echo Generating parser.cpp and parser.h... && \ + $BISON -t -o parser.cpp --defines=parser.h parser.y && \ + patch -p0 < parser.patch && \ + rm -f parser.cpp.orig +[[ $FORCE || scanner.l -nt scanner.cpp ]] && \ + echo Generating scanner.cpp and scanner_flex.h... && \ + $FLEX -o scanner.cpp scanner.l && \ + patch -p0 < scanner.patch && \ + rm -f scanner.cpp.orig diff --git a/src/gromacs/selection/scanner.cpp b/src/gromacs/selection/scanner.cpp index ae8dfac457..681a52194c 100644 --- a/src/gromacs/selection/scanner.cpp +++ b/src/gromacs/selection/scanner.cpp @@ -1,13 +1,17 @@ #line 2 "scanner.cpp" #line 50 "scanner.l" +#if !_gmx_sel_yyIN_HEADER +#include "gmxpre.h" +#endif + // Required before flex definitions, since it includes . // 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" -#line 11 "scanner.cpp" +#line 15 "scanner.cpp" #define YY_INT_ALIGNED short int @@ -537,7 +541,7 @@ static yyconst flex_int16_t yy_chk[151] = * \ingroup module_selection */ -#line 56 "scanner.l" +#line 60 "scanner.l" #include "gromacs/utility/cstringutil.h" #include "parser.h" @@ -556,7 +560,7 @@ static yyconst flex_int16_t yy_chk[151] = -#line 560 "scanner.cpp" +#line 564 "scanner.cpp" #define INITIAL 0 #define matchof 1 @@ -784,7 +788,7 @@ YY_DECL register int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; -#line 94 "scanner.l" +#line 98 "scanner.l" @@ -818,7 +822,7 @@ YY_DECL } -#line 822 "scanner.cpp" +#line 826 "scanner.cpp" if ( !yyg->yy_init ) { @@ -899,34 +903,34 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 127 "scanner.l" +#line 131 "scanner.l" break; YY_BREAK case 2: YY_RULE_SETUP -#line 128 "scanner.l" +#line 132 "scanner.l" { yylval->i = strtol(yytext, NULL, 10); ADD_TOKEN; return TOK_INT; } YY_BREAK case 3: YY_RULE_SETUP -#line 129 "scanner.l" +#line 133 "scanner.l" { yylval->r = strtod(yytext, NULL); ADD_TOKEN; return TOK_REAL; } YY_BREAK case 4: YY_RULE_SETUP -#line 130 "scanner.l" +#line 134 "scanner.l" { yylval->str = gmx_strndup(yytext+1, yyleng-2); ADD_TOKEN; return STR; } YY_BREAK case 5: /* rule 5 can match eol */ YY_RULE_SETUP -#line 132 "scanner.l" +#line 136 "scanner.l" { _gmx_sel_lexer_add_token(" ", 1, state); break; } YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 133 "scanner.l" +#line 137 "scanner.l" { if (yytext[0] == ';' || state->bInteractive) { @@ -942,94 +946,94 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(cmdstart): -#line 147 "scanner.l" +#line 151 "scanner.l" { state->bCmdStart = true; yyterminate(); } YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(matchof): case YY_STATE_EOF(matchbool): -#line 148 "scanner.l" +#line 152 "scanner.l" { state->bCmdStart = true; return CMD_SEP; } YY_BREAK case 7: YY_RULE_SETUP -#line 151 "scanner.l" +#line 155 "scanner.l" { ADD_TOKEN; yylval->i = 1; return TOK_INT; } YY_BREAK case 8: YY_RULE_SETUP -#line 152 "scanner.l" +#line 156 "scanner.l" { ADD_TOKEN; yylval->i = 0; return TOK_INT; } YY_BREAK case 9: YY_RULE_SETUP -#line 154 "scanner.l" +#line 158 "scanner.l" { ADD_TOKEN; return GROUP; } YY_BREAK case 10: YY_RULE_SETUP -#line 155 "scanner.l" +#line 159 "scanner.l" { ADD_TOKEN; return TO; } YY_BREAK case 11: YY_RULE_SETUP -#line 156 "scanner.l" +#line 160 "scanner.l" { ADD_TOKEN; BEGIN(0); return OF; } YY_BREAK case 12: YY_RULE_SETUP -#line 157 "scanner.l" +#line 161 "scanner.l" { ADD_TOKEN; return AND; } YY_BREAK case 13: YY_RULE_SETUP -#line 158 "scanner.l" +#line 162 "scanner.l" { ADD_TOKEN; return OR; } YY_BREAK case 14: YY_RULE_SETUP -#line 159 "scanner.l" +#line 163 "scanner.l" { ADD_TOKEN; return XOR; } YY_BREAK case 15: YY_RULE_SETUP -#line 160 "scanner.l" +#line 164 "scanner.l" { ADD_TOKEN; return NOT; } YY_BREAK case 16: YY_RULE_SETUP -#line 161 "scanner.l" +#line 165 "scanner.l" { yylval->str = gmx_strndup(yytext, yyleng); ADD_TOKEN; return CMP_OP; } YY_BREAK case 17: YY_RULE_SETUP -#line 163 "scanner.l" +#line 167 "scanner.l" { return _gmx_sel_lexer_process_identifier(yylval, yytext, yyleng, state); } YY_BREAK case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 165 "scanner.l" +#line 169 "scanner.l" { _gmx_sel_lexer_add_token(" ", 1, state); break; } YY_BREAK case 19: YY_RULE_SETUP -#line 166 "scanner.l" +#line 170 "scanner.l" { yylval->str = gmx_strndup(yytext, yyleng); ADD_TOKEN; return STR; } YY_BREAK case 20: YY_RULE_SETUP -#line 167 "scanner.l" +#line 171 "scanner.l" { ADD_TOKEN; return yytext[0]; } YY_BREAK case 21: YY_RULE_SETUP -#line 168 "scanner.l" +#line 172 "scanner.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1033 "scanner.cpp" +#line 1037 "scanner.cpp" case YY_END_OF_BUFFER: { @@ -2180,4 +2184,4 @@ void _gmx_sel_yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 168 "scanner.l" +#line 172 "scanner.l" diff --git a/src/gromacs/selection/scanner.l b/src/gromacs/selection/scanner.l index 2ba3ccd0f3..bb4a17c208 100644 --- a/src/gromacs/selection/scanner.l +++ b/src/gromacs/selection/scanner.l @@ -47,10 +47,14 @@ * \ingroup module_selection */ %top{ +#if !_gmx_sel_yyIN_HEADER +#include "gmxpre.h" +#endif + // Required before flex definitions, since it includes . // 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" diff --git a/src/gromacs/selection/scanner_flex.h b/src/gromacs/selection/scanner_flex.h index 6dc819f879..939c685567 100644 --- a/src/gromacs/selection/scanner_flex.h +++ b/src/gromacs/selection/scanner_flex.h @@ -4,14 +4,18 @@ #line 6 "scanner_flex.h" #line 50 "scanner.l" +#if !_gmx_sel_yyIN_HEADER +#include "gmxpre.h" +#endif + // Required before flex definitions, since it includes . // 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" -#line 15 "scanner_flex.h" +#line 19 "scanner_flex.h" #define YY_INT_ALIGNED short int @@ -340,8 +344,8 @@ extern int _gmx_sel_yylex (yyscan_t yyscanner); #undef YY_DECL #endif -#line 168 "scanner.l" +#line 172 "scanner.l" -#line 346 "scanner_flex.h" +#line 350 "scanner_flex.h" #undef _gmx_sel_yyIN_HEADER #endif /* _gmx_sel_yyHEADER_H */ diff --git a/src/gromacs/selection/scanner_internal.cpp b/src/gromacs/selection/scanner_internal.cpp index fc5ce92313..f13031fd1a 100644 --- a/src/gromacs/selection/scanner_internal.cpp +++ b/src/gromacs/selection/scanner_internal.cpp @@ -51,13 +51,15 @@ * \ingroup module_selection * \endcond */ +#include "gmxpre.h" + +#include "scanner_internal.h" + #include #include #include -#include "gromacs/legacyheaders/typedefs.h" - #include "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" @@ -65,16 +67,14 @@ #include "gromacs/utility/smalloc.h" #include "gromacs/utility/stringutil.h" +#include "parser.h" #include "parsetree.h" +#include "scanner.h" #include "selectioncollection-impl.h" #include "selelem.h" #include "selmethod.h" #include "symrec.h" -#include "parser.h" -#include "scanner.h" -#include "scanner_internal.h" - /*! \brief * Step in which the allocated memory for pretty-printed input is incremented. */ @@ -104,7 +104,7 @@ init_param_token(YYSTYPE *yylval, gmx_ana_selparam_t *param, bool bBoolNo) } else { - yylval->str = param->name ? strdup(param->name) : NULL; + yylval->str = param->name ? gmx_strdup(param->name) : NULL; } return PARAM; } @@ -337,7 +337,7 @@ _gmx_sel_lexer_process_identifier(YYSTYPE *yylval, char *yytext, size_t yyleng, if (symtype == gmx::SelectionParserSymbol::PositionSymbol) { state->bMatchOf = true; - yylval->str = strdup(symbol->name().c_str()); + yylval->str = gmx_strdup(symbol->name().c_str()); state->prev_pos_kw = 2; return KEYWORD_POS; } diff --git a/src/gromacs/selection/selection.cpp b/src/gromacs/selection/selection.cpp index 786fb9912a..99bd2abd5c 100644 --- a/src/gromacs/selection/selection.cpp +++ b/src/gromacs/selection/selection.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,10 +39,14 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include "selection.h" -#include "nbsearch.h" -#include "position.h" +#include "gromacs/selection/nbsearch.h" +#include "gromacs/selection/position.h" +#include "gromacs/topology/topology.h" + #include "selelem.h" #include "selvalue.h" @@ -245,8 +249,13 @@ SelectionData::restoreOriginalPositions(const t_topology *top) Selection::operator AnalysisNeighborhoodPositions() const { - return AnalysisNeighborhoodPositions(data().rawPositions_.x, - data().rawPositions_.count()); + AnalysisNeighborhoodPositions pos(data().rawPositions_.x, + data().rawPositions_.count()); + if (hasOnlyAtoms()) + { + pos.exclusionIds(atomIndices()); + } + return pos; } @@ -345,9 +354,15 @@ Selection::printDebugInfo(FILE *fp, int nmaxind) const SelectionPosition::operator AnalysisNeighborhoodPositions() const { - return AnalysisNeighborhoodPositions(sel_->rawPositions_.x, - sel_->rawPositions_.count()) - .selectSingleFromArray(i_); + AnalysisNeighborhoodPositions pos(sel_->rawPositions_.x, + sel_->rawPositions_.count()); + if (sel_->hasOnlyAtoms()) + { + // TODO: Move atomIndices() such that it can be reused here as well. + pos.exclusionIds(constArrayRefFromArray(sel_->rawPositions_.m.mapb.a, + sel_->rawPositions_.m.mapb.nra)); + } + return pos.selectSingleFromArray(i_); } } // namespace gmx diff --git a/src/gromacs/selection/selection.h b/src/gromacs/selection/selection.h index 2f36c1ecf2..55772ffbf5 100644 --- a/src/gromacs/selection/selection.h +++ b/src/gromacs/selection/selection.h @@ -46,15 +46,13 @@ #include #include -#include "../legacyheaders/typedefs.h" +#include "gromacs/selection/position.h" +#include "gromacs/selection/selectionenums.h" +#include "gromacs/utility/arrayref.h" +#include "gromacs/utility/common.h" +#include "gromacs/utility/gmxassert.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 { @@ -105,6 +103,8 @@ class SelectionData bool isDynamic() const { return bDynamic_; } //! Returns the type of positions in the selection. e_index_t type() const { return rawPositions_.m.type; } + //! Returns true if the selection only contains positions with a single atom each. + bool hasOnlyAtoms() const { return type() == INDEX_ATOM; } //! Number of positions in the selection. int posCount() const { return rawPositions_.count(); } @@ -324,6 +324,8 @@ class Selection bool isDynamic() const { return data().isDynamic(); } //! Returns the type of positions in the selection. e_index_t type() const { return data().type(); } + //! Returns true if the selection only contains positions with a single atom each. + bool hasOnlyAtoms() const { return data().hasOnlyAtoms(); } //! Total number of atoms in the selection. int atomCount() const diff --git a/src/gromacs/selection/selectioncollection-impl.h b/src/gromacs/selection/selectioncollection-impl.h index d44f2124fe..abc9386830 100644 --- a/src/gromacs/selection/selectioncollection-impl.h +++ b/src/gromacs/selection/selectioncollection-impl.h @@ -1,7 +1,7 @@ /* * 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. @@ -50,16 +50,20 @@ #include -#include "../legacyheaders/typedefs.h" +#include "gromacs/onlinehelp/helptopicinterface.h" +#include "gromacs/selection/indexutil.h" +#include "gromacs/selection/selection.h" // For gmx::SelectionList +#include "gromacs/selection/selectioncollection.h" +#include "gromacs/utility/uniqueptr.h" -#include "../onlinehelp/helptopicinterface.h" -#include "../utility/uniqueptr.h" -#include "indexutil.h" #include "poscalc.h" -#include "selection.h" // For gmx::SelectionList -#include "selectioncollection.h" #include "selelem.h" +struct gmx_sel_mempool_t; +struct t_pbc; +struct t_topology; +struct t_trxframe; + namespace gmx { @@ -99,9 +103,9 @@ struct gmx_ana_selcollection_t /** 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 symtab; //! Root of help topic tree (NULL is no help yet requested). @@ -157,6 +161,8 @@ class SelectionCollection::Impl std::string rpost_; //! Default output position type for selections. std::string spost_; + //! Largest atom index needed by the selections for evaluation. + int maxAtomIndex_; /*! \brief * Debugging level for the collection. * diff --git a/src/gromacs/selection/selectioncollection.cpp b/src/gromacs/selection/selectioncollection.cpp index 6237fe0a05..f4bfd210a0 100644 --- a/src/gromacs/selection/selectioncollection.cpp +++ b/src/gromacs/selection/selectioncollection.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include "selectioncollection.h" #include @@ -49,14 +51,15 @@ #include +#include "gromacs/fileio/trx.h" #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/selection/selhelp.h" +#include "gromacs/topology/topology.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/file.h" #include "gromacs/utility/gmxassert.h" @@ -69,10 +72,8 @@ #include "parser.h" #include "poscalc.h" #include "scanner.h" -#include "selection.h" #include "selectioncollection-impl.h" #include "selelem.h" -#include "selhelp.h" #include "selmethod.h" #include "symrec.h" @@ -84,7 +85,7 @@ namespace gmx */ SelectionCollection::Impl::Impl() - : debugLevel_(0), bExternalGroupsSet_(false), grps_(NULL) + : maxAtomIndex_(0), debugLevel_(0), bExternalGroupsSet_(false), grps_(NULL) { sc_.nvars = 0; sc_.varstrs = NULL; @@ -423,6 +424,44 @@ early_termination: return result; } +/*! \brief + * Checks that index groups have valid atom indices. + * + * \param[in] root Root of selection tree to process. + * \param[in] natoms Maximum number of atoms that the selections are set + * to evaluate. + * \param errors Object for reporting any error messages. + * \throws std::bad_alloc if out of memory. + * + * Recursively checks the selection tree for index groups. + * Each found group is checked that it only contains atom indices that match + * the topology/maximum number of atoms set for the selection collection. + * Any issues are reported to \p errors. + */ +void checkExternalGroups(const SelectionTreeElementPointer &root, + int natoms, + ExceptionInitializer *errors) +{ + if (root->type == SEL_CONST && root->v.type == GROUP_VALUE) + { + try + { + root->checkIndexGroup(natoms); + } + catch (const UserInputError &) + { + errors->addCurrentExceptionAsNested(); + } + } + + SelectionTreeElementPointer child = root->child; + while (child) + { + checkExternalGroups(child, natoms, errors); + child = child->next; + } +} + } // namespace @@ -435,7 +474,7 @@ void SelectionCollection::Impl::resolveExternalGroups( { try { - root->resolveIndexGroupReference(grps_); + root->resolveIndexGroupReference(grps_, sc_.gall.isize); } catch (const UserInputError &) { @@ -552,6 +591,20 @@ SelectionCollection::setTopology(t_topology *top, int natoms) { natoms = top->atoms.nr; } + if (impl_->bExternalGroupsSet_) + { + ExceptionInitializer errors("Invalid index group references encountered"); + SelectionTreeElementPointer root = impl_->sc_.root; + while (root) + { + checkExternalGroups(root, natoms, &errors); + root = root->next; + } + if (errors.hasNestedExceptions()) + { + GMX_THROW(InconsistentInputError(errors)); + } + } gmx_ana_selcollection_t *sc = &impl_->sc_; // Do this first, as it allocates memory, while the others don't throw. gmx_ana_index_init_simple(&sc->gall, natoms); @@ -722,7 +775,7 @@ SelectionCollection::compile() const internal::SelectionData &sel = **iter; if (sel.hasFlag(efSelection_OnlyAtoms)) { - if (sel.type() != INDEX_ATOM) + if (!sel.hasOnlyAtoms()) { std::string message = formatString( "Selection '%s' does not evaluate to individual atoms. " @@ -748,6 +801,14 @@ SelectionCollection::compile() void SelectionCollection::evaluate(t_trxframe *fr, t_pbc *pbc) { + if (fr->natoms <= impl_->maxAtomIndex_) + { + std::string message = formatString( + "Trajectory has less atoms (%d) than what is required for " + "evaluating the provided selections (atoms up to index %d " + "are required).", fr->natoms, impl_->maxAtomIndex_ + 1); + GMX_THROW(InconsistentInputError(message)); + } impl_->sc_.pcc.initFrame(); SelectionEvaluator evaluator; @@ -800,11 +861,4 @@ SelectionCollection::printXvgrInfo(FILE *out, output_env_t oenv) const } } -// static -HelpTopicPointer -SelectionCollection::createDefaultHelpTopic() -{ - return createSelectionHelpTopic(); -} - } // namespace gmx diff --git a/src/gromacs/selection/selectioncollection.h b/src/gromacs/selection/selectioncollection.h index cf79b660bd..281b473abc 100644 --- a/src/gromacs/selection/selectioncollection.h +++ b/src/gromacs/selection/selectioncollection.h @@ -43,16 +43,19 @@ #ifndef GMX_SELECTION_SELECTIONCOLLECTION_H #define GMX_SELECTION_SELECTIONCOLLECTION_H +#include + #include #include -#include "../legacyheaders/typedefs.h" - -#include "../onlinehelp/helptopicinterface.h" -#include "../utility/common.h" -#include "selection.h" // For gmx::SelectionList +#include "gromacs/legacyheaders/types/oenv.h" +#include "gromacs/selection/selection.h" // For gmx::SelectionList +#include "gromacs/utility/common.h" struct gmx_ana_indexgrps_t; +struct t_pbc; +struct t_topology; +struct t_trxframe; namespace gmx { @@ -107,14 +110,6 @@ class SelectionEvaluator; class SelectionCollection { public: - /*! \brief - * Creates a help tree for selections. - * - * \throws std::bad_alloc if out of memory. - * \returns Root topic of the created selection tree. - */ - static HelpTopicPointer createDefaultHelpTopic(); - /*! \brief * Creates an empty selection collection. * diff --git a/src/gromacs/selection/selectionenums.h b/src/gromacs/selection/selectionenums.h index d401ac56c1..2523ea8876 100644 --- a/src/gromacs/selection/selectionenums.h +++ b/src/gromacs/selection/selectionenums.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2012,2013, by the GROMACS development team, led by + * Copyright (c) 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. @@ -42,7 +42,7 @@ #ifndef GMX_SELECTION_SELECTIONENUMS_H #define GMX_SELECTION_SELECTIONENUMS_H -#include "../utility/flags.h" +#include "gromacs/utility/flags.h" /*! \brief * Defines the type of covered fraction. diff --git a/src/gromacs/selection/selectionfileoption.h b/src/gromacs/selection/selectionfileoption.h index c0a70dad00..369d6256db 100644 --- a/src/gromacs/selection/selectionfileoption.h +++ b/src/gromacs/selection/selectionfileoption.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,7 +43,7 @@ #ifndef GMX_SELECTION_SELECTIONFILEOPTION_H #define GMX_SELECTION_SELECTIONFILEOPTION_H -#include "../options/abstractoption.h" +#include "gromacs/options/abstractoption.h" namespace gmx { @@ -76,7 +76,8 @@ class SelectionFileOption : public AbstractOption explicit SelectionFileOption(const char *name); private: - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; }; /*! \libinternal \brief @@ -94,13 +95,6 @@ class SelectionFileOptionInfo : public OptionInfo * Does not throw. */ explicit SelectionFileOptionInfo(SelectionFileOptionStorage *option); - - //! \copydoc SelectionOptionInfo::setManager() - void setManager(SelectionOptionManager *manager); - - private: - SelectionFileOptionStorage &option(); - const SelectionFileOptionStorage &option() const; }; } // namespace gmx diff --git a/src/gromacs/selection/selectionfileoptionstorage.h b/src/gromacs/selection/selectionfileoptionstorage.h index a19321962f..9d87794598 100644 --- a/src/gromacs/selection/selectionfileoptionstorage.h +++ b/src/gromacs/selection/selectionfileoptionstorage.h @@ -42,8 +42,8 @@ #ifndef GMX_SELECTION_SELECTIONFILEOPTIONSTORAGE_H #define GMX_SELECTION_SELECTIONFILEOPTIONSTORAGE_H -#include "../options/abstractoptionstorage.h" -#include "selectionfileoption.h" +#include "gromacs/options/abstractoptionstorage.h" +#include "gromacs/selection/selectionfileoption.h" namespace gmx { @@ -63,29 +63,25 @@ class SelectionFileOptionStorage : public AbstractOptionStorage * 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 diff --git a/src/gromacs/selection/selectionoption.cpp b/src/gromacs/selection/selectionoption.cpp index 41da1f5de0..f278723cc1 100644 --- a/src/gromacs/selection/selectionoption.cpp +++ b/src/gromacs/selection/selectionoption.cpp @@ -39,19 +39,23 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include "selectionoption.h" -#include "selectionfileoption.h" -#include "selectionoptionstorage.h" -#include "selectionfileoptionstorage.h" #include +#include "gromacs/options/optionmanagercontainer.h" #include "gromacs/selection/selection.h" +#include "gromacs/selection/selectionfileoption.h" #include "gromacs/selection/selectionoptionmanager.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/messagestringcollector.h" +#include "selectionfileoptionstorage.h" +#include "selectionoptionstorage.h" + namespace gmx { @@ -59,26 +63,18 @@ namespace gmx * 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); } @@ -124,18 +120,14 @@ void SelectionOptionStorage::addSelections( 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(minValueCount())) { @@ -145,14 +137,13 @@ void SelectionOptionStorage::processSetValues(ValueList *values) 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(); } } @@ -227,11 +218,6 @@ const SelectionOptionStorage &SelectionOptionInfo::option() const return static_cast(OptionInfo::option()); } -void SelectionOptionInfo::setManager(SelectionOptionManager *manager) -{ - option().setManager(manager); -} - void SelectionOptionInfo::setValueCount(int count) { option().setAllowedValueCount(count); @@ -267,9 +253,11 @@ void SelectionOptionInfo::setDynamicMask(bool bEnabled) * SelectionOption */ -AbstractOptionStoragePointer SelectionOption::createStorage() const +AbstractOptionStorage * +SelectionOption::createStorage(const OptionManagerContainer &managers) const { - return AbstractOptionStoragePointer(new SelectionOptionStorage(*this)); + return new SelectionOptionStorage( + *this, managers.get()); } @@ -277,11 +265,14 @@ AbstractOptionStoragePointer SelectionOption::createStorage() const * 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() @@ -291,15 +282,13 @@ 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() @@ -320,21 +309,6 @@ SelectionFileOptionInfo::SelectionFileOptionInfo(SelectionFileOptionStorage *opt { } -SelectionFileOptionStorage &SelectionFileOptionInfo::option() -{ - return static_cast(OptionInfo::option()); -} - -const SelectionFileOptionStorage &SelectionFileOptionInfo::option() const -{ - return static_cast(OptionInfo::option()); -} - -void SelectionFileOptionInfo::setManager(SelectionOptionManager *manager) -{ - option().setManager(manager); -} - /******************************************************************** * SelectionFileOption @@ -346,9 +320,11 @@ SelectionFileOption::SelectionFileOption(const char *name) setDescription("Provide selections from files"); } -AbstractOptionStoragePointer SelectionFileOption::createStorage() const +AbstractOptionStorage * +SelectionFileOption::createStorage(const OptionManagerContainer &managers) const { - return AbstractOptionStoragePointer(new SelectionFileOptionStorage(*this)); + return new SelectionFileOptionStorage( + *this, managers.get()); } } // namespace gmx diff --git a/src/gromacs/selection/selectionoption.h b/src/gromacs/selection/selectionoption.h index cba014a055..0af37dddc7 100644 --- a/src/gromacs/selection/selectionoption.h +++ b/src/gromacs/selection/selectionoption.h @@ -43,10 +43,9 @@ #ifndef GMX_SELECTION_SELECTIONOPTION_H #define GMX_SELECTION_SELECTIONOPTION_H -#include "../options/abstractoption.h" - -#include "selection.h" -#include "selectionenums.h" +#include "gromacs/options/abstractoption.h" +#include "gromacs/selection/selection.h" +#include "gromacs/selection/selectionenums.h" namespace gmx { @@ -60,6 +59,10 @@ class SelectionOptionStorage; * * 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. @@ -145,7 +148,8 @@ class SelectionOption : public OptionTemplate using MyBase::defaultValue; using MyBase::defaultValueIfSet; - virtual AbstractOptionStoragePointer createStorage() const; + virtual AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const; const char *defaultText_; SelectionFlags selectionFlags_; @@ -211,22 +215,6 @@ class SelectionOptionInfo : public OptionInfo */ 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. * diff --git a/src/gromacs/selection/selectionoptionmanager.cpp b/src/gromacs/selection/selectionoptionmanager.cpp index 3600bd2923..ee1e486d0c 100644 --- a/src/gromacs/selection/selectionoptionmanager.cpp +++ b/src/gromacs/selection/selectionoptionmanager.cpp @@ -39,15 +39,16 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include "selectionoptionmanager.h" #include -#include "gromacs/options/optionsvisitor.h" #include "gromacs/selection/selection.h" #include "gromacs/selection/selectioncollection.h" -#include "gromacs/selection/selectionoption.h" #include "gromacs/selection/selectionfileoption.h" +#include "gromacs/selection/selectionoption.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/stringutil.h" @@ -331,60 +332,4 @@ SelectionOptionManager::parseRequestedFromString(const std::string &str) 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(); - if (selOption != NULL) - { - selOption->setManager(manager_); - } - SelectionFileOptionInfo *selFileOption - = option->toType(); - if (selFileOption != NULL) - { - selFileOption->setManager(manager_); - } - } - - private: - SelectionOptionManager *manager_; -}; - -} // namespace - -void setManagerForSelectionOptions(Options *options, - SelectionOptionManager *manager) -{ - SelectionOptionManagerSetter(manager).visitSubSection(options); -} - } // namespace gmx diff --git a/src/gromacs/selection/selectionoptionmanager.h b/src/gromacs/selection/selectionoptionmanager.h index 8545661bbf..66a075dcaf 100644 --- a/src/gromacs/selection/selectionoptionmanager.h +++ b/src/gromacs/selection/selectionoptionmanager.h @@ -45,7 +45,8 @@ #include -#include "../utility/common.h" +#include "gromacs/options/options.h" +#include "gromacs/utility/common.h" namespace gmx { @@ -62,6 +63,8 @@ class SelectionOptionStorage; * 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 @@ -73,12 +76,10 @@ class SelectionOptionStorage; * parseRequestedFromStdin(), parseRequestedFromFile() or * parseRequstedFromString(). * - * \see setManagerForSelectionOptions() - * * \inpublicapi * \ingroup module_selection */ -class SelectionOptionManager +class SelectionOptionManager : public OptionManagerInterface { public: /*! \brief @@ -87,7 +88,7 @@ class SelectionOptionManager * \throws std::bad_alloc if out of memory. */ explicit SelectionOptionManager(SelectionCollection *selections); - ~SelectionOptionManager(); + virtual ~SelectionOptionManager(); /*! \brief * Adds a selection option to be managed. @@ -209,20 +210,6 @@ class SelectionOptionManager 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 diff --git a/src/gromacs/selection/selectionoptionstorage.h b/src/gromacs/selection/selectionoptionstorage.h index 00e3622ba8..41ef1488db 100644 --- a/src/gromacs/selection/selectionoptionstorage.h +++ b/src/gromacs/selection/selectionoptionstorage.h @@ -44,10 +44,10 @@ #include -#include "../options/optionstoragetemplate.h" -#include "selection.h" -#include "selectionenums.h" -#include "selectionoption.h" +#include "gromacs/options/optionstoragetemplate.h" +#include "gromacs/selection/selection.h" +#include "gromacs/selection/selectionenums.h" +#include "gromacs/selection/selectionoption.h" namespace gmx { @@ -69,16 +69,15 @@ class SelectionOptionStorage : public OptionStorageTemplate * 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. * @@ -127,7 +126,7 @@ class SelectionOptionStorage : public OptionStorageTemplate virtual void processAll(); SelectionOptionInfo info_; - SelectionOptionManager *manager_; + SelectionOptionManager &manager_; std::string defaultText_; SelectionFlags selectionFlags_; }; diff --git a/src/gromacs/selection/selelem.cpp b/src/gromacs/selection/selelem.cpp index c667739d5e..76f65be971 100644 --- a/src/gromacs/selection/selelem.cpp +++ b/src/gromacs/selection/selelem.cpp @@ -39,12 +39,14 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "selelem.h" + #include #include "gromacs/selection/indexutil.h" -#include "gromacs/selection/poscalc.h" #include "gromacs/selection/position.h" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" @@ -52,7 +54,7 @@ #include "keywords.h" #include "mempool.h" -#include "selelem.h" +#include "poscalc.h" #include "selmethod.h" /*! @@ -375,7 +377,8 @@ void SelectionTreeElement::checkUnsortedAtoms( } } -void SelectionTreeElement::resolveIndexGroupReference(gmx_ana_indexgrps_t *grps) +void SelectionTreeElement::resolveIndexGroupReference( + gmx_ana_indexgrps_t *grps, int natoms) { GMX_RELEASE_ASSERT(type == SEL_GROUPREF, "Should only be called for index group reference elements"); @@ -420,6 +423,26 @@ void SelectionTreeElement::resolveIndexGroupReference(gmx_ana_indexgrps_t *grps) gmx_ana_index_set(&u.cgrp, foundGroup.isize, foundGroup.index, foundGroup.nalloc_index); setName(foundName); + + if (natoms > 0) + { + checkIndexGroup(natoms); + } +} + +void SelectionTreeElement::checkIndexGroup(int natoms) +{ + GMX_RELEASE_ASSERT(type == SEL_CONST && v.type == GROUP_VALUE, + "Should only be called for index group elements"); + if (!gmx_ana_index_check_range(&u.cgrp, natoms)) + { + std::string message = formatString( + "Group '%s' cannot be used in selections, because it " + "contains negative atom indices and/or references atoms " + "not present (largest allowed atom index is %d).", + name().c_str(), natoms); + GMX_THROW(InconsistentInputError(message)); + } } } // namespace gmx diff --git a/src/gromacs/selection/selelem.h b/src/gromacs/selection/selelem.h index bcb67c768a..ddc429850f 100644 --- a/src/gromacs/selection/selelem.h +++ b/src/gromacs/selection/selelem.h @@ -53,10 +53,10 @@ #include -#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/selection/indexutil.h" #include "gromacs/utility/common.h" +#include "gromacs/utility/real.h" -#include "indexutil.h" #include "selvalue.h" struct gmx_ana_poscalc_t; @@ -339,14 +339,24 @@ class SelectionTreeElement void checkUnsortedAtoms(bool bUnsortedAllowed, ExceptionInitializer *errors) const; /*! \brief - * Resolved an unresolved reference to an index group. + * Resolves an unresolved reference to an index group. * - * \param[in] grps Index groups to use to resolve the reference. + * \param[in] grps Index groups to use to resolve the reference. + * \param[in] natoms Maximum number of atoms the selections can evaluate to + * (zero if the topology/atom count is not set yet). * \throws std::bad_alloc if out of memory. * \throws InconsistentInputError if the reference cannot be * resolved. */ - void resolveIndexGroupReference(gmx_ana_indexgrps_t *grps); + void resolveIndexGroupReference(gmx_ana_indexgrps_t *grps, int natoms); + /*! \brief + * Checks that an index group has valid atom indices. + * + * \param[in] natoms Maximum number of atoms the selections can evaluate to. + * \throws std::bad_alloc if out of memory. + * \throws InconsistentInputError if there are invalid atom indices. + */ + void checkIndexGroup(int natoms); //! Type of the element. e_selelem_t type; diff --git a/src/gromacs/selection/selhelp.cpp b/src/gromacs/selection/selhelp.cpp index e3dd3eeb77..4a52815f37 100644 --- a/src/gromacs/selection/selhelp.cpp +++ b/src/gromacs/selection/selhelp.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,9 +39,13 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "selhelp.h" + #include -#include #include +#include #include @@ -51,7 +55,6 @@ #include "gromacs/utility/file.h" #include "gromacs/utility/stringutil.h" -#include "selhelp.h" #include "selmethod.h" #include "symrec.h" @@ -615,7 +618,7 @@ void KeywordsHelpTopic::printKeywordList(const HelpWriterContext &context, } // namespace -/*! \cond internal */ +//! \cond libapi */ HelpTopicPointer createSelectionHelpTopic() { CompositeHelpTopicPointer root(new CompositeHelpTopic); diff --git a/src/gromacs/selection/selhelp.h b/src/gromacs/selection/selhelp.h index 42598d7a3b..b29251d31a 100644 --- a/src/gromacs/selection/selhelp.h +++ b/src/gromacs/selection/selhelp.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2009,2010,2011,2012, by the GROMACS development team, led by + * Copyright (c) 2009,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. @@ -32,23 +32,24 @@ * 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 +/*! \libinternal \file * \brief * Functions for initializing online help for selections. * * \author Teemu Murtola + * \inlibraryapi * \ingroup module_selection */ #ifndef GMX_SELECTION_SELHELP_H #define GMX_SELECTION_SELHELP_H -#include "../onlinehelp/helptopicinterface.h" +#include "gromacs/onlinehelp/helptopicinterface.h" namespace gmx { -/*! \cond internal */ -/*! \internal \brief +//! \cond libapi +/*! \libinternal \brief * Creates a help tree for selections. * * \throws std::bad_alloc if out of memory. diff --git a/src/gromacs/selection/selmethod.cpp b/src/gromacs/selection/selmethod.cpp index fc74d4a556..6524f2fec9 100644 --- a/src/gromacs/selection/selmethod.cpp +++ b/src/gromacs/selection/selmethod.cpp @@ -39,12 +39,14 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "selmethod.h" + #include #include #include "gromacs/legacyheaders/macros.h" - -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" diff --git a/src/gromacs/selection/selmethod.h b/src/gromacs/selection/selmethod.h index c803945ab8..bd3d79be30 100644 --- a/src/gromacs/selection/selmethod.h +++ b/src/gromacs/selection/selmethod.h @@ -296,9 +296,6 @@ #ifndef GMX_SELECTION_SELMETHOD_H #define GMX_SELECTION_SELMETHOD_H -#include "../legacyheaders/typedefs.h" - -#include "indexutil.h" #include "selparam.h" #include "selvalue.h" @@ -308,8 +305,12 @@ class PositionCalculationCollection; 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 @@ -555,6 +556,11 @@ typedef void (*sel_framefunc)(t_topology *top, t_trxframe *fr, t_pbc *pbc, * For \ref STR_VALUE methods, the pointers stored in \p out->s are discarded * without freeing; it is the responsibility of this function to provide * pointers that can be discarded without memory leaks. + * + * If the method accesses \p fr outside the index group specified in \p g or + * what it receives from its parameters, it must check that \p fr actually + * contains such an atom in case the \p fr has been loaded from a trajectory + * that only contains a subset of the system. */ typedef void (*sel_updatefunc)(t_topology *top, t_trxframe *fr, t_pbc *pbc, gmx_ana_index_t *g, gmx_ana_selvalue_t *out, @@ -583,10 +589,14 @@ typedef void (*sel_updatefunc)(t_topology *top, t_trxframe *fr, t_pbc *pbc, * For \ref STR_VALUE methods, the pointers stored in \p out->s are discarded * without freeing; it is the responsibility of this function to provide * pointers that can be discarded without memory leaks. + * + * If the method accesses \p fr outside the atoms referenced in \p pos or + * what it receives from its parameters, it must check that \p fr actually + * contains such an atom in case the \p fr has been loaded from a trajectory + * that only contains a subset of the system. */ 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 @@ -596,7 +606,7 @@ typedef void (*sel_updatefunc_pos)(t_topology *top, t_trxframe *fr, t_pbc *pbc, * 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. @@ -617,7 +627,7 @@ typedef struct gmx_ana_selmethod_help_t * to NULL. */ const char **help; -} gmx_ana_selmethod_help_t; +}; /*! \internal * \brief @@ -632,7 +642,7 @@ typedef struct gmx_ana_selmethod_help_t * 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; @@ -669,7 +679,7 @@ typedef struct gmx_ana_selmethod_t /** Help data for the method. */ gmx_ana_selmethod_help_t help; -} gmx_ana_selmethod_t; +}; /** Registers a selection method. */ int diff --git a/src/gromacs/selection/selparam.h b/src/gromacs/selection/selparam.h index 9f471ccf5e..bedfaadff1 100644 --- a/src/gromacs/selection/selparam.h +++ b/src/gromacs/selection/selparam.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2009,2010,2011,2013, by the GROMACS development team, led by + * Copyright (c) 2009,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. @@ -48,7 +48,8 @@ #ifndef GMX_SELECTION_SELPARAM_H #define GMX_SELECTION_SELPARAM_H -#include "indexutil.h" +#include "gromacs/selection/indexutil.h" + #include "selvalue.h" /*! \name Parameter flags diff --git a/src/gromacs/selection/selvalue.cpp b/src/gromacs/selection/selvalue.cpp index 18a51f0a26..86edfba070 100644 --- a/src/gromacs/selection/selvalue.cpp +++ b/src/gromacs/selection/selvalue.cpp @@ -39,9 +39,12 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "selvalue.h" + #include "gromacs/selection/indexutil.h" #include "gromacs/selection/position.h" -#include "gromacs/selection/selvalue.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" diff --git a/src/gromacs/selection/selvalue.h b/src/gromacs/selection/selvalue.h index aad846f9c5..63f260b2b4 100644 --- a/src/gromacs/selection/selvalue.h +++ b/src/gromacs/selection/selvalue.h @@ -45,7 +45,7 @@ #ifndef GMX_SELECTION_SELVALUE_H #define GMX_SELECTION_SELVALUE_H -#include "../legacyheaders/types/simple.h" +#include "gromacs/utility/real.h" /** Defines the value type of a different selection objects. */ typedef enum diff --git a/src/gromacs/selection/sm_compare.cpp b/src/gromacs/selection/sm_compare.cpp index 605bf1cf2d..51aa8a6d47 100644 --- a/src/gromacs/selection/sm_compare.cpp +++ b/src/gromacs/selection/sm_compare.cpp @@ -39,16 +39,18 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include #include "gromacs/legacyheaders/macros.h" - #include "gromacs/math/utilities.h" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/common.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/smalloc.h" +#include "selmethod.h" + /** Defines the comparison operator for comparison expressions. */ typedef enum { diff --git a/src/gromacs/selection/sm_distance.cpp b/src/gromacs/selection/sm_distance.cpp index e7a6c689c5..636d28c112 100644 --- a/src/gromacs/selection/sm_distance.cpp +++ b/src/gromacs/selection/sm_distance.cpp @@ -42,15 +42,16 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/legacyheaders/macros.h" -#include "gromacs/legacyheaders/pbc.h" -#include "gromacs/legacyheaders/vec.h" +#include "gmxpre.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" #include "gromacs/selection/nbsearch.h" #include "gromacs/selection/position.h" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/exceptions.h" +#include "selmethod.h" + /*! \internal * \brief * Data structure for distance-based selection method. @@ -230,7 +231,7 @@ init_data_common(int /* npar */, gmx_ana_selparam_t *param) 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(data); if ((param[0].flags & SPAR_SET) && d->cutoff <= 0) { @@ -254,7 +255,7 @@ free_data_common(void *data) 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(data); d->nbsearch.reset(); gmx::AnalysisNeighborhoodPositions pos(d->p.x, d->p.count()); @@ -272,7 +273,7 @@ static void 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(data); out->nr = pos->m.mapb.nra; for (int b = 0; b < pos->count(); ++b) @@ -296,7 +297,7 @@ static void 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(data); out->u.g->isize = 0; for (int b = 0; b < pos->count(); ++b) diff --git a/src/gromacs/selection/sm_insolidangle.cpp b/src/gromacs/selection/sm_insolidangle.cpp index f9b8e736f7..9c163e097f 100644 --- a/src/gromacs/selection/sm_insolidangle.cpp +++ b/src/gromacs/selection/sm_insolidangle.cpp @@ -112,24 +112,25 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include +#include "gmxpre.h" #include -#include "gromacs/legacyheaders/macros.h" -#include "gromacs/legacyheaders/pbc.h" -#include "gromacs/legacyheaders/physics.h" -#include "gromacs/legacyheaders/vec.h" +#include +#include "gromacs/legacyheaders/macros.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" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/smalloc.h" #include "selelem.h" +#include "selmethod.h" using std::min; using std::max; diff --git a/src/gromacs/selection/sm_keywords.cpp b/src/gromacs/selection/sm_keywords.cpp index ecf721beac..32d478ed00 100644 --- a/src/gromacs/selection/sm_keywords.cpp +++ b/src/gromacs/selection/sm_keywords.cpp @@ -40,6 +40,8 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include #include @@ -48,19 +50,18 @@ #include #include "gromacs/legacyheaders/macros.h" - -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/cstringutil.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxregex.h" #include "gromacs/utility/messagestringcollector.h" -#include "gromacs/utility/stringutil.h" #include "gromacs/utility/smalloc.h" +#include "gromacs/utility/stringutil.h" #include "keywords.h" #include "parsetree.h" #include "scanner.h" #include "selelem.h" +#include "selmethod.h" /*! \brief * Allocates data for integer keyword evaluation. diff --git a/src/gromacs/selection/sm_merge.cpp b/src/gromacs/selection/sm_merge.cpp index 258dc85d1f..9c8d2e3041 100644 --- a/src/gromacs/selection/sm_merge.cpp +++ b/src/gromacs/selection/sm_merge.cpp @@ -39,15 +39,17 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/legacyheaders/macros.h" -#include "gromacs/legacyheaders/vec.h" +#include "gmxpre.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" #include "gromacs/selection/position.h" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/common.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/smalloc.h" +#include "selmethod.h" + /*! \internal \brief * Data structure for the merging selection modifiers. */ diff --git a/src/gromacs/selection/sm_permute.cpp b/src/gromacs/selection/sm_permute.cpp index b9a194d0f3..a4f52fe150 100644 --- a/src/gromacs/selection/sm_permute.cpp +++ b/src/gromacs/selection/sm_permute.cpp @@ -39,15 +39,17 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/legacyheaders/macros.h" -#include "gromacs/legacyheaders/vec.h" +#include "gmxpre.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" #include "gromacs/selection/position.h" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/smalloc.h" #include "gromacs/utility/stringutil.h" +#include "selmethod.h" + /*! \internal \brief * Data structure for the \p permute selection modifier. */ diff --git a/src/gromacs/selection/sm_position.cpp b/src/gromacs/selection/sm_position.cpp index 31f3c0a8b2..3a92f82d69 100644 --- a/src/gromacs/selection/sm_position.cpp +++ b/src/gromacs/selection/sm_position.cpp @@ -39,17 +39,18 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include "gromacs/legacyheaders/macros.h" +#include "gmxpre.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/selection/indexutil.h" -#include "gromacs/selection/poscalc.h" #include "gromacs/selection/position.h" -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" #include "keywords.h" +#include "poscalc.h" #include "selelem.h" +#include "selmethod.h" /*! \internal \brief * Data structure for position keyword evaluation. diff --git a/src/gromacs/selection/sm_same.cpp b/src/gromacs/selection/sm_same.cpp index 71192b842d..cb8126171b 100644 --- a/src/gromacs/selection/sm_same.cpp +++ b/src/gromacs/selection/sm_same.cpp @@ -39,17 +39,18 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include #include "gromacs/legacyheaders/macros.h" - -#include "gromacs/selection/selmethod.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/smalloc.h" #include "keywords.h" #include "parsetree.h" #include "selelem.h" +#include "selmethod.h" /*! \internal * \brief diff --git a/src/gromacs/selection/sm_simple.cpp b/src/gromacs/selection/sm_simple.cpp index cc61a684b7..de1a6fc650 100644 --- a/src/gromacs/selection/sm_simple.cpp +++ b/src/gromacs/selection/sm_simple.cpp @@ -39,14 +39,17 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include #include "gromacs/legacyheaders/macros.h" - #include "gromacs/selection/position.h" -#include "gromacs/selection/selmethod.h" +#include "gromacs/topology/topology.h" #include "gromacs/utility/exceptions.h" +#include "selmethod.h" + /** Evaluates the \p all selection keyword. */ static void evaluate_all(t_topology *top, t_trxframe *fr, t_pbc *pbc, diff --git a/src/gromacs/selection/symrec.cpp b/src/gromacs/selection/symrec.cpp index 38808d9771..cd648f60ef 100644 --- a/src/gromacs/selection/symrec.cpp +++ b/src/gromacs/selection/symrec.cpp @@ -39,12 +39,15 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "symrec.h" + #include #include #include #include "gromacs/legacyheaders/macros.h" - #include "gromacs/utility/exceptions.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/stringutil.h" @@ -52,7 +55,6 @@ #include "poscalc.h" #include "selelem.h" -#include "symrec.h" namespace gmx { diff --git a/src/gromacs/selection/tests/indexutil.cpp b/src/gromacs/selection/tests/indexutil.cpp index 8dd46bfcbf..5efd13423e 100644 --- a/src/gromacs/selection/tests/indexutil.cpp +++ b/src/gromacs/selection/tests/indexutil.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -42,12 +42,14 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include - -#include "gromacs/legacyheaders/typedefs.h" +#include "gmxpre.h" #include "gromacs/selection/indexutil.h" +#include + +#include "gromacs/topology/block.h" + #include "testutils/refdata.h" #include "toputils.h" diff --git a/src/gromacs/selection/tests/nbsearch.cpp b/src/gromacs/selection/tests/nbsearch.cpp index 177913fad1..c3bc49f92b 100644 --- a/src/gromacs/selection/tests/nbsearch.cpp +++ b/src/gromacs/selection/tests/nbsearch.cpp @@ -44,20 +44,25 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include +#include "gmxpre.h" + +#include "gromacs/selection/nbsearch.h" #include +#include #include -#include +#include #include -#include "gromacs/legacyheaders/pbc.h" -#include "gromacs/legacyheaders/vec.h" +#include -#include "gromacs/selection/nbsearch.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/random/random.h" +#include "gromacs/topology/block.h" #include "gromacs/utility/smalloc.h" +#include "gromacs/utility/stringutil.h" #include "testutils/testasserts.h" @@ -71,6 +76,29 @@ namespace class NeighborhoodSearchTestData { public: + struct RefPair + { + RefPair(int refIndex, real distance) + : refIndex(refIndex), distance(distance), bFound(false), + bExcluded(false) + { + } + + bool operator<(const RefPair &other) const + { + return refIndex < other.refIndex; + } + + int refIndex; + real distance; + // The variables below are state variables that are only used + // during the actual testing after creating a copy of the reference + // pair list, not as part of the reference data. + // Simpler to have just a single structure for both purposes. + bool bFound; + bool bExcluded; + }; + struct TestPosition { explicit TestPosition(const rvec x) @@ -79,11 +107,12 @@ class NeighborhoodSearchTestData copy_rvec(x, this->x); } - rvec x; - real refMinDist; - int refNearestPoint; - std::set refPairs; + rvec x; + real refMinDist; + int refNearestPoint; + std::vector refPairs; }; + typedef std::vector TestPositionList; NeighborhoodSearchTestData(int seed, real cutoff); @@ -120,7 +149,26 @@ class NeighborhoodSearchTestData void generateRandomPosition(rvec x); void generateRandomRefPositions(int count); void generateRandomTestPositions(int count); - void computeReferences(t_pbc *pbc); + void computeReferences(t_pbc *pbc) + { + computeReferencesInternal(pbc, false); + } + void computeReferencesXY(t_pbc *pbc) + { + computeReferencesInternal(pbc, true); + } + + bool containsPair(int testIndex, const RefPair &pair) const + { + const std::vector &refPairs = testPositions_[testIndex].refPairs; + std::vector::const_iterator foundRefPair + = std::lower_bound(refPairs.begin(), refPairs.end(), pair); + if (foundRefPair == refPairs.end() || foundRefPair->refIndex != pair.refIndex) + { + return false; + } + return true; + } gmx_rng_t rng_; real cutoff_; @@ -131,9 +179,14 @@ class NeighborhoodSearchTestData TestPositionList testPositions_; private: + void computeReferencesInternal(t_pbc *pbc, bool bXY); + mutable rvec *testPos_; }; +//! Shorthand for a collection of reference pairs. +typedef std::vector RefPairList; + NeighborhoodSearchTestData::NeighborhoodSearchTestData(int seed, real cutoff) : rng_(NULL), cutoff_(cutoff), refPosCount_(0), refPos_(NULL), testPos_(NULL) { @@ -187,7 +240,7 @@ void NeighborhoodSearchTestData::generateRandomTestPositions(int count) } } -void NeighborhoodSearchTestData::computeReferences(t_pbc *pbc) +void NeighborhoodSearchTestData::computeReferencesInternal(t_pbc *pbc, bool bXY) { real cutoff = cutoff_; if (cutoff <= 0) @@ -211,7 +264,11 @@ void NeighborhoodSearchTestData::computeReferences(t_pbc *pbc) { rvec_sub(i->x, refPos_[j], dx); } - const real dist = norm(dx); + // TODO: This may not work intuitively for 2D with the third box + // vector not parallel to the Z axis, but neither does the actual + // neighborhood search. + const real dist = + !bXY ? norm(dx) : sqrt(sqr(dx[XX]) + sqr(dx[YY])); if (dist < i->refMinDist) { i->refMinDist = dist; @@ -219,12 +276,114 @@ void NeighborhoodSearchTestData::computeReferences(t_pbc *pbc) } if (dist <= cutoff) { - i->refPairs.insert(j); + RefPair pair(j, dist); + GMX_RELEASE_ASSERT(i->refPairs.empty() || i->refPairs.back() < pair, + "Reference pairs should be generated in sorted order"); + i->refPairs.push_back(pair); } } } } +/******************************************************************** + * ExclusionsHelper + */ + +class ExclusionsHelper +{ + public: + static void markExcludedPairs(RefPairList *refPairs, int testIndex, + const t_blocka *excls); + + ExclusionsHelper(int refPosCount, int testPosCount); + + void generateExclusions(); + + const t_blocka *exclusions() const { return &excls_; } + + gmx::ConstArrayRef refPosIds() const + { + return gmx::constArrayRefFromVector(exclusionIds_.begin(), + exclusionIds_.begin() + refPosCount_); + } + gmx::ConstArrayRef testPosIds() const + { + return gmx::constArrayRefFromVector(exclusionIds_.begin(), + exclusionIds_.begin() + testPosCount_); + } + + private: + int refPosCount_; + int testPosCount_; + std::vector exclusionIds_; + std::vector exclsIndex_; + std::vector exclsAtoms_; + t_blocka excls_; +}; + +// static +void ExclusionsHelper::markExcludedPairs(RefPairList *refPairs, int testIndex, + const t_blocka *excls) +{ + int count = 0; + for (int i = excls->index[testIndex]; i < excls->index[testIndex + 1]; ++i) + { + const int excludedIndex = excls->a[i]; + NeighborhoodSearchTestData::RefPair searchPair(excludedIndex, 0.0); + RefPairList::iterator excludedRefPair + = std::lower_bound(refPairs->begin(), refPairs->end(), searchPair); + if (excludedRefPair != refPairs->end() + && excludedRefPair->refIndex == excludedIndex) + { + excludedRefPair->bFound = true; + excludedRefPair->bExcluded = true; + ++count; + } + } +} + +ExclusionsHelper::ExclusionsHelper(int refPosCount, int testPosCount) + : refPosCount_(refPosCount), testPosCount_(testPosCount) +{ + // Generate an array of 0, 1, 2, ... + // TODO: Make the tests work also with non-trivial exclusion IDs, + // and test that. + exclusionIds_.resize(std::max(refPosCount, testPosCount), 1); + exclusionIds_[0] = 0; + std::partial_sum(exclusionIds_.begin(), exclusionIds_.end(), + exclusionIds_.begin()); + + excls_.nr = 0; + excls_.index = NULL; + excls_.nra = 0; + excls_.a = NULL; + excls_.nalloc_index = 0; + excls_.nalloc_a = 0; +} + +void ExclusionsHelper::generateExclusions() +{ + // TODO: Consider a better set of test data, where the density of the + // particles would be higher, or where the exclusions would not be random, + // to make a higher percentage of the exclusions to actually be within the + // cutoff. + exclsIndex_.reserve(testPosCount_ + 1); + exclsAtoms_.reserve(testPosCount_ * 20); + exclsIndex_.push_back(0); + for (int i = 0; i < testPosCount_; ++i) + { + for (int j = 0; j < 20; ++j) + { + exclsAtoms_.push_back(i + j*3); + } + exclsIndex_.push_back(exclsAtoms_.size()); + } + excls_.nr = exclsIndex_.size(); + excls_.index = &exclsIndex_[0]; + excls_.nra = exclsAtoms_.size(); + excls_.a = &exclsAtoms_[0]; +} + /******************************************************************** * NeighborhoodSearchTest */ @@ -240,6 +399,10 @@ class NeighborhoodSearchTest : public ::testing::Test const NeighborhoodSearchTestData &data); void testPairSearch(gmx::AnalysisNeighborhoodSearch *search, const NeighborhoodSearchTestData &data); + void testPairSearchFull(gmx::AnalysisNeighborhoodSearch *search, + const NeighborhoodSearchTestData &data, + const gmx::AnalysisNeighborhoodPositions &pos, + const t_blocka *excls); gmx::AnalysisNeighborhood nb_; }; @@ -282,6 +445,8 @@ void NeighborhoodSearchTest::testNearestPoint( { EXPECT_EQ(i->refNearestPoint, pair.refIndex()); EXPECT_EQ(0, pair.testIndex()); + EXPECT_REAL_EQ_TOL(i->refMinDist, sqrt(pair.distance2()), + gmx::test::ulpTolerance(64)); } else { @@ -290,31 +455,139 @@ void NeighborhoodSearchTest::testNearestPoint( } } +//! Helper function for formatting test failure messages. +std::string formatVector(const rvec x) +{ + return gmx::formatString("[%.3f, %.3f, %.3f]", x[XX], x[YY], x[ZZ]); +} + +/*! \brief + * Helper function to check that all expected pairs were found. + */ +void checkAllPairsFound(const RefPairList &refPairs, const rvec refPos[], + int testPosIndex, const rvec testPos) +{ + // This could be elegantly expressed with Google Mock matchers, but that + // has a significant effect on the runtime of the tests... + int count = 0; + RefPairList::const_iterator first; + for (RefPairList::const_iterator i = refPairs.begin(); i != refPairs.end(); ++i) + { + if (!i->bFound) + { + ++count; + first = i; + } + } + if (count > 0) + { + ADD_FAILURE() + << "Some pairs (" << count << "/" << refPairs.size() << ") " + << "within the cutoff were not found. First pair:\n" + << " Ref: " << first->refIndex << " at " + << formatVector(refPos[first->refIndex]) << "\n" + << "Test: " << testPosIndex << " at " << formatVector(testPos) << "\n" + << "Dist: " << first->distance; + } +} + void NeighborhoodSearchTest::testPairSearch( gmx::AnalysisNeighborhoodSearch *search, const NeighborhoodSearchTestData &data) { - NeighborhoodSearchTestData::TestPositionList::const_iterator i; - for (i = data.testPositions_.begin(); i != data.testPositions_.end(); ++i) + testPairSearchFull(search, data, data.testPositions(), NULL); +} + +void NeighborhoodSearchTest::testPairSearchFull( + gmx::AnalysisNeighborhoodSearch *search, + const NeighborhoodSearchTestData &data, + const gmx::AnalysisNeighborhoodPositions &pos, + const t_blocka *excls) +{ + // TODO: Some parts of this code do not work properly if pos does not + // contain all the test positions. + std::set remainingTestPositions; + for (size_t i = 0; i < data.testPositions_.size(); ++i) + { + remainingTestPositions.insert(i); + } + gmx::AnalysisNeighborhoodPairSearch pairSearch + = search->startPairSearch(pos); + gmx::AnalysisNeighborhoodPair pair; + // TODO: There is an ordering assumption here that may break in the future: + // all pairs for a test position are assumed to be returned consencutively. + RefPairList refPairs; + int prevTestPos = -1; + while (pairSearch.findNextPair(&pair)) { - std::set checkSet = i->refPairs; - gmx::AnalysisNeighborhoodPairSearch pairSearch = - search->startPairSearch(i->x); - gmx::AnalysisNeighborhoodPair pair; - while (pairSearch.findNextPair(&pair)) + if (pair.testIndex() != prevTestPos) { - EXPECT_EQ(0, pair.testIndex()); - if (checkSet.erase(pair.refIndex()) == 0) + if (prevTestPos != -1) + { + checkAllPairsFound(refPairs, data.refPos_, prevTestPos, + data.testPositions_[prevTestPos].x); + } + const int testIndex = pair.testIndex(); + if (remainingTestPositions.count(testIndex) == 0) { - // TODO: Check whether the same pair was returned more than - // once and give a better error message if so. ADD_FAILURE() - << "Expected: Position " << pair.refIndex() - << " is within cutoff.\n" - << " Actual: It is not."; + << "Pairs for test position " << testIndex + << " are returned more than once."; } + remainingTestPositions.erase(testIndex); + refPairs = data.testPositions_[testIndex].refPairs; + if (excls != NULL) + { + ExclusionsHelper::markExcludedPairs(&refPairs, testIndex, excls); + } + prevTestPos = testIndex; + } + + NeighborhoodSearchTestData::RefPair searchPair(pair.refIndex(), + sqrt(pair.distance2())); + RefPairList::iterator foundRefPair + = std::lower_bound(refPairs.begin(), refPairs.end(), searchPair); + if (foundRefPair == refPairs.end() || foundRefPair->refIndex != pair.refIndex()) + { + ADD_FAILURE() + << "Expected: Pair (ref: " << pair.refIndex() << ", test: " + << pair.testIndex() << ") is not within the cutoff.\n" + << " Actual: It is returned."; + } + else if (foundRefPair->bExcluded) + { + ADD_FAILURE() + << "Expected: Pair (ref: " << pair.refIndex() << ", test: " + << pair.testIndex() << ") is excluded from the search.\n" + << " Actual: It is returned."; + } + else if (foundRefPair->bFound) + { + ADD_FAILURE() + << "Expected: Pair (ref: " << pair.refIndex() << ", test: " + << pair.testIndex() << ") is returned only once.\n" + << " Actual: It is returned multiple times."; + } + else + { + foundRefPair->bFound = true; + EXPECT_REAL_EQ_TOL(foundRefPair->distance, searchPair.distance, + gmx::test::ulpTolerance(64)) + << "Distance computed by the neighborhood search does not match."; + } + } + checkAllPairsFound(refPairs, data.refPos_, prevTestPos, + data.testPositions_[prevTestPos].x); + for (std::set::const_iterator i = remainingTestPositions.begin(); + i != remainingTestPositions.end(); ++i) + { + if (!data.testPositions_[*i].refPairs.empty()) + { + ADD_FAILURE() + << "Expected: Pairs would be returned for test position " << *i << ".\n" + << " Actual: None were returned."; + break; } - EXPECT_TRUE(checkSet.empty()) << "Some positions were not returned by the pair search."; } } @@ -372,6 +645,32 @@ class RandomBoxFullPBCData NeighborhoodSearchTestData data_; }; +class RandomBoxXYFullPBCData +{ + public: + static const NeighborhoodSearchTestData &get() + { + static RandomBoxXYFullPBCData singleton; + return singleton.data_; + } + + RandomBoxXYFullPBCData() : data_(54321, 1.0) + { + data_.box_[XX][XX] = 10.0; + data_.box_[YY][YY] = 5.0; + data_.box_[ZZ][ZZ] = 7.0; + // TODO: Consider whether manually picking some positions would give better + // test coverage. + data_.generateRandomRefPositions(1000); + data_.generateRandomTestPositions(100); + set_pbc(&data_.pbc_, epbcXYZ, data_.box_); + data_.computeReferencesXY(&data_.pbc_); + } + + private: + NeighborhoodSearchTestData data_; +}; + class RandomTriclinicFullPBCData { public: @@ -493,6 +792,24 @@ TEST_F(NeighborhoodSearchTest, GridSearch2DPBC) testPairSearch(&search, data); } +TEST_F(NeighborhoodSearchTest, GridSearchXYBox) +{ + const NeighborhoodSearchTestData &data = RandomBoxXYFullPBCData::get(); + + nb_.setCutoff(data.cutoff_); + nb_.setMode(gmx::AnalysisNeighborhood::eSearchMode_Grid); + nb_.setXYMode(true); + gmx::AnalysisNeighborhoodSearch search = + nb_.initSearch(&data.pbc_, data.refPositions()); + // Currently, grid searching not supported with XY. + //ASSERT_EQ(gmx::AnalysisNeighborhood::eSearchMode_Grid, search.mode()); + + testIsWithin(&search, data); + testMinimumDistance(&search, data); + testNearestPoint(&search, data); + testPairSearch(&search, data); +} + TEST_F(NeighborhoodSearchTest, HandlesConcurrentSearches) { const NeighborhoodSearchTestData &data = TrivialTestData::get(); @@ -511,13 +828,21 @@ TEST_F(NeighborhoodSearchTest, HandlesConcurrentSearches) testPairSearch(&search2, data); gmx::AnalysisNeighborhoodPair pair; - pairSearch1.findNextPair(&pair); + ASSERT_TRUE(pairSearch1.findNextPair(&pair)) + << "Test data did not contain any pairs for position 0 (problem in the test)."; EXPECT_EQ(0, pair.testIndex()); - EXPECT_TRUE(data.testPositions_[0].refPairs.count(pair.refIndex()) == 1); + { + NeighborhoodSearchTestData::RefPair searchPair(pair.refIndex(), sqrt(pair.distance2())); + EXPECT_TRUE(data.containsPair(0, searchPair)); + } - pairSearch2.findNextPair(&pair); + ASSERT_TRUE(pairSearch2.findNextPair(&pair)) + << "Test data did not contain any pairs for position 1 (problem in the test)."; EXPECT_EQ(1, pair.testIndex()); - EXPECT_TRUE(data.testPositions_[1].refPairs.count(pair.refIndex()) == 1); + { + NeighborhoodSearchTestData::RefPair searchPair(pair.refIndex(), sqrt(pair.distance2())); + EXPECT_TRUE(data.containsPair(1, searchPair)); + } } TEST_F(NeighborhoodSearchTest, HandlesSkippingPairs) @@ -542,10 +867,51 @@ TEST_F(NeighborhoodSearchTest, HandlesSkippingPairs) ++currentIndex; } EXPECT_EQ(currentIndex, pair.testIndex()); - EXPECT_TRUE(data.testPositions_[currentIndex].refPairs.count(pair.refIndex()) == 1); + NeighborhoodSearchTestData::RefPair searchPair(pair.refIndex(), sqrt(pair.distance2())); + EXPECT_TRUE(data.containsPair(currentIndex, searchPair)); pairSearch.skipRemainingPairsForTestPosition(); ++currentIndex; } } +TEST_F(NeighborhoodSearchTest, SimpleSearchExclusions) +{ + const NeighborhoodSearchTestData &data = RandomBoxFullPBCData::get(); + + ExclusionsHelper helper(data.refPosCount_, data.testPositions_.size()); + helper.generateExclusions(); + + nb_.setCutoff(data.cutoff_); + nb_.setTopologyExclusions(helper.exclusions()); + nb_.setMode(gmx::AnalysisNeighborhood::eSearchMode_Simple); + gmx::AnalysisNeighborhoodSearch search = + nb_.initSearch(&data.pbc_, + data.refPositions().exclusionIds(helper.refPosIds())); + ASSERT_EQ(gmx::AnalysisNeighborhood::eSearchMode_Simple, search.mode()); + + testPairSearchFull(&search, data, + data.testPositions().exclusionIds(helper.testPosIds()), + helper.exclusions()); +} + +TEST_F(NeighborhoodSearchTest, GridSearchExclusions) +{ + const NeighborhoodSearchTestData &data = RandomBoxFullPBCData::get(); + + ExclusionsHelper helper(data.refPosCount_, data.testPositions_.size()); + helper.generateExclusions(); + + nb_.setCutoff(data.cutoff_); + nb_.setTopologyExclusions(helper.exclusions()); + nb_.setMode(gmx::AnalysisNeighborhood::eSearchMode_Grid); + gmx::AnalysisNeighborhoodSearch search = + nb_.initSearch(&data.pbc_, + data.refPositions().exclusionIds(helper.refPosIds())); + ASSERT_EQ(gmx::AnalysisNeighborhood::eSearchMode_Grid, search.mode()); + + testPairSearchFull(&search, data, + data.testPositions().exclusionIds(helper.testPosIds()), + helper.exclusions()); +} + } // namespace diff --git a/src/gromacs/selection/tests/poscalc.cpp b/src/gromacs/selection/tests/poscalc.cpp index ba2b25d52f..1608a5b11b 100644 --- a/src/gromacs/selection/tests/poscalc.cpp +++ b/src/gromacs/selection/tests/poscalc.cpp @@ -39,16 +39,19 @@ * \author Teemu Murtola * \ingroup module_selection */ -#include +#include "gmxpre.h" + +#include "gromacs/selection/poscalc.h" #include -#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/legacyheaders/vec.h" +#include +#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" diff --git a/src/gromacs/selection/tests/selectioncollection.cpp b/src/gromacs/selection/tests/selectioncollection.cpp index d299a2b56c..9e6fd86281 100644 --- a/src/gromacs/selection/tests/selectioncollection.cpp +++ b/src/gromacs/selection/tests/selectioncollection.cpp @@ -39,13 +39,18 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "gromacs/selection/selectioncollection.h" + #include +#include "gromacs/fileio/trx.h" #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.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" @@ -518,6 +523,27 @@ TEST_F(SelectionCollectionTest, HandlesUnsortedGroupReferenceDelayed) // EXPECT_THROW_GMX(sc_.compile(), gmx::APIError); } +TEST_F(SelectionCollectionTest, HandlesOutOfRangeAtomIndexInGroup) +{ + ASSERT_NO_THROW_GMX(sc_.setTopology(NULL, 5)); + ASSERT_NO_THROW_GMX(loadIndexGroups("simple.ndx")); + EXPECT_THROW_GMX(sc_.parseFromString("group \"GrpB\""), gmx::InconsistentInputError); +} + +TEST_F(SelectionCollectionTest, HandlesOutOfRangeAtomIndexInGroupDelayed) +{ + ASSERT_NO_THROW_GMX(loadIndexGroups("simple.ndx")); + ASSERT_NO_THROW_GMX(sc_.parseFromString("group \"GrpB\"")); + EXPECT_THROW_GMX(sc_.setTopology(NULL, 5), gmx::InconsistentInputError); +} + +TEST_F(SelectionCollectionTest, HandlesOutOfRangeAtomIndexInGroupDelayed2) +{ + ASSERT_NO_THROW_GMX(sc_.setTopology(NULL, 5)); + ASSERT_NO_THROW_GMX(sc_.parseFromString("group \"GrpB\"")); + EXPECT_THROW_GMX(loadIndexGroups("simple.ndx"), gmx::InconsistentInputError); +} + TEST_F(SelectionCollectionTest, RecoversFromMissingMoleculeInfo) { ASSERT_NO_THROW_GMX(sc_.parseFromString("molindex 1 to 5")); @@ -561,7 +587,35 @@ TEST_F(SelectionCollectionTest, RecoversFromInvalidPermutation3) EXPECT_THROW_GMX(sc_.evaluate(frame_, NULL), gmx::InconsistentInputError); } -// TODO: Tests for evaluation errors +TEST_F(SelectionCollectionTest, HandlesFramesWithTooSmallAtomSubsets) +{ + ASSERT_NO_THROW_GMX(sc_.parseFromString("atomnr 3 to 10")); + ASSERT_NO_FATAL_FAILURE(loadTopology("simple.gro")); + ASSERT_NO_THROW_GMX(sc_.compile()); + frame_->natoms = 8; + EXPECT_THROW_GMX(sc_.evaluate(frame_, NULL), gmx::InconsistentInputError); +} + +TEST_F(SelectionCollectionTest, HandlesFramesWithTooSmallAtomSubsets2) +{ + // Evaluating the positions will require atoms 1-9. + ASSERT_NO_THROW_GMX(sc_.parseFromString("whole_res_com of atomnr 2 5 7")); + ASSERT_NO_FATAL_FAILURE(loadTopology("simple.gro")); + ASSERT_NO_THROW_GMX(sc_.compile()); + frame_->natoms = 8; + EXPECT_THROW_GMX(sc_.evaluate(frame_, NULL), gmx::InconsistentInputError); +} + +TEST_F(SelectionCollectionTest, HandlesFramesWithTooSmallAtomSubsets3) +{ + ASSERT_NO_THROW_GMX(sc_.parseFromString("mindistance from atomnr 1 to 5 < 2")); + ASSERT_NO_FATAL_FAILURE(loadTopology("simple.gro")); + ASSERT_NO_THROW_GMX(sc_.compile()); + frame_->natoms = 10; + EXPECT_THROW_GMX(sc_.evaluate(frame_, NULL), gmx::InconsistentInputError); +} + +// TODO: Tests for more evaluation errors /******************************************************************** diff --git a/src/gromacs/selection/tests/selectionoption.cpp b/src/gromacs/selection/tests/selectionoption.cpp index 4c46400690..8f3397cf43 100644 --- a/src/gromacs/selection/tests/selectionoption.cpp +++ b/src/gromacs/selection/tests/selectionoption.cpp @@ -39,6 +39,10 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + +#include "gromacs/selection/selectionoption.h" + #include #include "gromacs/options/options.h" @@ -46,7 +50,6 @@ #include "gromacs/selection/selection.h" #include "gromacs/selection/selectioncollection.h" #include "gromacs/selection/selectionfileoption.h" -#include "gromacs/selection/selectionoption.h" #include "gromacs/selection/selectionoptionmanager.h" #include "gromacs/utility/exceptions.h" @@ -69,7 +72,6 @@ class SelectionOptionTestBase : public ::testing::Test public: SelectionOptionTestBase(); - void setManager(); void loadTopology(const char *filename); gmx::SelectionCollection sc_; @@ -83,15 +85,11 @@ class SelectionOptionTestBase : public ::testing::Test 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); @@ -112,7 +110,6 @@ TEST_F(SelectionOptionTest, ParsesSimpleSelection) 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()); @@ -132,7 +129,6 @@ TEST_F(SelectionOptionTest, HandlesDynamicSelectionWhenStaticRequired) 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()); @@ -150,7 +146,6 @@ TEST_F(SelectionOptionTest, HandlesNonAtomicSelectionWhenAtomsRequired) 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()); @@ -171,7 +166,6 @@ TEST_F(SelectionOptionTest, ChecksEmptySelections) using gmx::SelectionOption; ASSERT_NO_THROW_GMX(options_.addOption( SelectionOption("sel").store(&sel))); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -191,7 +185,6 @@ TEST_F(SelectionOptionTest, ChecksEmptyDelayedSelections) using gmx::SelectionOption; ASSERT_NO_THROW_GMX(options_.addOption( SelectionOption("sel").store(&sel))); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -210,7 +203,6 @@ TEST_F(SelectionOptionTest, HandlesTooManySelections) 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()); @@ -229,7 +221,6 @@ TEST_F(SelectionOptionTest, HandlesTooFewSelections) 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()); @@ -247,7 +238,6 @@ TEST_F(SelectionOptionTest, HandlesDefaultSelectionText) using gmx::SelectionOption; options_.addOption(SelectionOption("sel").store(&sel) .defaultSelectionText("all")); - setManager(); EXPECT_NO_THROW_GMX(options_.finish()); @@ -266,7 +256,6 @@ TEST_F(SelectionOptionTest, HandlesAdjuster) using gmx::SelectionOption; gmx::SelectionOptionInfo *info = options_.addOption( SelectionOption("sel").storeVector(&sel).multiValue()); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -286,7 +275,6 @@ TEST_F(SelectionOptionTest, HandlesDynamicWhenStaticRequiredWithAdjuster) using gmx::SelectionOption; gmx::SelectionOptionInfo *info = options_.addOption( SelectionOption("sel").store(&sel)); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -305,7 +293,6 @@ TEST_F(SelectionOptionTest, HandlesTooManySelectionsWithAdjuster) using gmx::SelectionOption; gmx::SelectionOptionInfo *info = options_.addOption( SelectionOption("sel").storeVector(&sel).multiValue()); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -325,7 +312,6 @@ TEST_F(SelectionOptionTest, HandlesTooFewSelectionsWithAdjuster) using gmx::SelectionOption; gmx::SelectionOptionInfo *info = options_.addOption( SelectionOption("sel").storeVector(&sel).multiValue()); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -344,7 +330,6 @@ TEST_F(SelectionOptionTest, HandlesDelayedRequiredSelection) 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()); @@ -362,7 +347,6 @@ TEST_F(SelectionOptionTest, HandlesTooFewDelayedRequiredSelections) ASSERT_NO_THROW_GMX(options_.addOption( SelectionOption("sel").store(sel).required() .valueCount(2))); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -377,7 +361,6 @@ TEST_F(SelectionOptionTest, HandlesDelayedOptionalSelection) 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()); @@ -396,7 +379,6 @@ TEST_F(SelectionOptionTest, HandlesDelayedSelectionWithAdjuster) 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()); @@ -435,7 +417,6 @@ TEST_F(SelectionFileOptionTest, HandlesSingleSelectionOptionFromFile) ASSERT_NO_THROW_GMX(options_.addOption( SelectionOption("reqsel").storeVector(&reqsel) .multiValue().required())); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -464,7 +445,6 @@ TEST_F(SelectionFileOptionTest, HandlesTwoSeparateSelectionOptions) 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")); @@ -501,7 +481,6 @@ TEST_F(SelectionFileOptionTest, HandlesTwoSelectionOptionsFromSingleFile) 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")); @@ -535,7 +514,6 @@ TEST_F(SelectionFileOptionTest, HandlesRequiredOptionFromFile) ASSERT_NO_THROW_GMX(options_.addOption( SelectionOption("optsel").storeVector(&optsel) .multiValue())); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -569,7 +547,6 @@ TEST_F(SelectionFileOptionTest, HandlesRequiredOptionFromFileWithOtherOptionSet) ASSERT_NO_THROW_GMX(options_.addOption( SelectionOption("sel2").storeVector(&sel2) .multiValue().required())); - setManager(); gmx::OptionsAssigner assigner(&options_); EXPECT_NO_THROW_GMX(assigner.start()); @@ -600,7 +577,6 @@ TEST_F(SelectionFileOptionTest, HandlesTwoRequiredOptionsFromSingleFile) 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")); @@ -625,7 +601,6 @@ TEST_F(SelectionFileOptionTest, GivesErrorWithNoFile) 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()); @@ -644,7 +619,6 @@ TEST_F(SelectionFileOptionTest, GivesErrorWithNonExistentFile) 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()); @@ -667,7 +641,6 @@ TEST_F(SelectionFileOptionTest, GivesErrorWithMultipleFiles) 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()); diff --git a/src/gromacs/selection/tests/toputils.cpp b/src/gromacs/selection/tests/toputils.cpp index 1e55142ee2..eff1e0c356 100644 --- a/src/gromacs/selection/tests/toputils.cpp +++ b/src/gromacs/selection/tests/toputils.cpp @@ -39,15 +39,18 @@ * \author Teemu Murtola * \ingroup module_selection */ +#include "gmxpre.h" + #include "toputils.h" #include -#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/legacyheaders/vec.h" - #include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/trx.h" #include "gromacs/fileio/trxio.h" +#include "gromacs/math/vec.h" +#include "gromacs/topology/atoms.h" +#include "gromacs/topology/topology.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/smalloc.h" @@ -172,7 +175,7 @@ void TopologyManager::initAtomTypes(int count, const char *const types[]) atomtypes_.reserve(count); for (int i = 0; i < count; ++i) { - atomtypes_.push_back(strdup(types[i])); + atomtypes_.push_back(gmx_strdup(types[i])); } snew(top_->atoms.atomtype, top_->atoms.nr); for (int i = 0, j = 0; i < top_->atoms.nr; ++i, ++j) diff --git a/src/gromacs/selection/tests/toputils.h b/src/gromacs/selection/tests/toputils.h index 94ab8c3139..c5dec1c429 100644 --- a/src/gromacs/selection/tests/toputils.h +++ b/src/gromacs/selection/tests/toputils.h @@ -1,7 +1,7 @@ /* * 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. @@ -44,7 +44,8 @@ #include -#include "gromacs/legacyheaders/typedefs.h" +struct t_topology; +struct t_trxframe; namespace gmx { diff --git a/src/gromacs/simd/impl_arm_neon/impl_arm_neon.h b/src/gromacs/simd/impl_arm_neon/impl_arm_neon.h new file mode 100644 index 0000000000..59d99d6300 --- /dev/null +++ b/src/gromacs/simd/impl_arm_neon/impl_arm_neon.h @@ -0,0 +1,284 @@ +/* + * 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. + */ + +#ifndef GMX_SIMD_IMPL_ARM_NEON_H +#define GMX_SIMD_IMPL_ARM_NEON_H + +#include + +#include + +/* ARM 32-bit NEON SIMD instruction wrappers + * + * Please see documentation in gromacs/simd/simd.h for defines. + */ + +/* Capability definitions for ARM 32-bit NEON */ +#define GMX_SIMD_HAVE_FLOAT +#undef GMX_SIMD_HAVE_DOUBLE +#define GMX_SIMD_HAVE_HARDWARE +#define GMX_SIMD_HAVE_LOADU +#define GMX_SIMD_HAVE_STOREU +#define GMX_SIMD_HAVE_LOGICAL +#define GMX_SIMD_HAVE_FMA +#undef GMX_SIMD_HAVE_FRACTION +#define GMX_SIMD_HAVE_FINT32 +#define GMX_SIMD_HAVE_FINT32_EXTRACT +#define GMX_SIMD_HAVE_FINT32_LOGICAL +#define GMX_SIMD_HAVE_FINT32_ARITHMETICS +#undef GMX_SIMD_HAVE_DINT32 +#undef GMX_SIMD_HAVE_DINT32_EXTRACT +#undef GMX_SIMD_HAVE_DINT32_LOGICAL +#undef GMX_SIMD_HAVE_DINT32_ARITHMETICS +#define GMX_SIMD4_HAVE_FLOAT +#undef GMX_SIMD4_HAVE_DOUBLE + +/* Implementation details */ +#define GMX_SIMD_FLOAT_WIDTH 4 +#undef GMX_SIMD_DOUBLE_WIDTH +#define GMX_SIMD_FINT32_WIDTH 4 +#undef GMX_SIMD_DINT32_WIDTH +#define GMX_SIMD_RSQRT_BITS 8 +#define GMX_SIMD_RCP_BITS 8 + +/**************************************************** + * SINGLE PRECISION SIMD IMPLEMENTATION * + ****************************************************/ +#define gmx_simd_float_t float32x4_t +#define gmx_simd_load_f vld1q_f32 +#define gmx_simd_load1_f vld1q_dup_f32 +#define gmx_simd_set1_f vdupq_n_f32 +#define gmx_simd_store_f vst1q_f32 +#define gmx_simd_loadu_f vld1q_f32 +#define gmx_simd_storeu_f vst1q_f32 +#define gmx_simd_setzero_f() vdupq_n_f32(0.0f) +#define gmx_simd_add_f vaddq_f32 +#define gmx_simd_sub_f vsubq_f32 +#define gmx_simd_mul_f vmulq_f32 +#ifdef __ARM_FEATURE_FMA +# define gmx_simd_fmadd_f(a, b, c) vfmaq_f32(c, b, a) +# define gmx_simd_fmsub_f(a, b, c) vnegq_f32(vfmsq_f32(c, b, a)) +# define gmx_simd_fnmadd_f(a, b, c) vfmaq_f32(c, b, a) +# define gmx_simd_fnmsub_f(a, b, c) vnegq_f32(vfmaq_f32(c, b, a)) +#else +# define gmx_simd_fmadd_f(a, b, c) vmlaq_f32(c, b, a) +# define gmx_simd_fmsub_f(a, b, c) vnegq_f32(vmlsq_f32(c, b, a)) +# define gmx_simd_fnmadd_f(a, b, c) vmlsq_f32(c, b, a) +# define gmx_simd_fnmsub_f(a, b, c) vnegq_f32(vmlaq_f32(c, b, a)) +#endif +#define gmx_simd_and_f(a, b) vreinterpretq_f32_s32(vandq_s32(vreinterpretq_s32_f32(a), vreinterpretq_s32_f32(b))) +#define gmx_simd_andnot_f(a, b) vreinterpretq_f32_s32(vbicq_s32(vreinterpretq_s32_f32(b), vreinterpretq_s32_f32(a))) +#define gmx_simd_or_f(a, b) vreinterpretq_f32_s32(vorrq_s32(vreinterpretq_s32_f32(a), vreinterpretq_s32_f32(b))) +#define gmx_simd_xor_f(a, b) vreinterpretq_f32_s32(veorq_s32(vreinterpretq_s32_f32(a), vreinterpretq_s32_f32(b))) +#define gmx_simd_rsqrt_f vrsqrteq_f32 +#define gmx_simd_rsqrt_iter_f(lu, x) vmulq_f32(lu, vrsqrtsq_f32(vmulq_f32(lu, lu), x)) +#define gmx_simd_rcp_f vrecpeq_f32 +#define gmx_simd_rcp_iter_f(lu, x) vmulq_f32(lu, vrecpsq_f32(lu, x)) +#define gmx_simd_fabs_f(x) vabsq_f32(x) +#define gmx_simd_fneg_f(x) vnegq_f32(x) +#define gmx_simd_max_f vmaxq_f32 +#define gmx_simd_min_f vminq_f32 +#define gmx_simd_round_f(x) gmx_simd_cvt_i2f(gmx_simd_cvt_f2i(x)) +#define gmx_simd_trunc_f(x) gmx_simd_cvt_i2f(gmx_simd_cvtt_f2i(x)) +#define gmx_simd_fraction_f(x) vsubq_f32(x, gmx_simd_trunc_f(x)) +#define gmx_simd_get_exponent_f gmx_simd_get_exponent_f_arm_neon +#define gmx_simd_get_mantissa_f gmx_simd_get_mantissa_f_arm_neon +#define gmx_simd_set_exponent_f gmx_simd_set_exponent_f_arm_neon +/* integer datatype corresponding to float: gmx_simd_fint32_t */ +#define gmx_simd_fint32_t int32x4_t +#define gmx_simd_load_fi(m) vld1q_s32(m) +#define gmx_simd_set1_fi vdupq_n_s32 +#define gmx_simd_store_fi(m, x) vst1q_s32(m, x) +#define gmx_simd_loadu_fi(m) vld1q_s32(m) +#define gmx_simd_storeu_fi(m, x) vst1q_s32(m, x) +#define gmx_simd_setzero_fi() vdupq_n_s32(0) +#define gmx_simd_cvtt_f2i vcvtq_s32_f32 +#define gmx_simd_cvt_f2i(x) vcvtq_s32_f32(gmx_simd_add_f(gmx_simd_or_f(gmx_simd_and_f(vdupq_n_f32(-0.0f), x), vdupq_n_f32(0.5f)), x)) +#define gmx_simd_cvt_i2f vcvtq_f32_s32 +#define gmx_simd_extract_fi(x, i) vgetq_lane_s32(x, i) +/* Integer logical ops on gmx_simd_fint32_t */ +#define gmx_simd_slli_fi vshlq_n_s32 +#define gmx_simd_srli_fi vshrq_n_s32 +#define gmx_simd_and_fi vandq_s32 +#define gmx_simd_andnot_fi(a, b) vbicq_s32(b, a) +#define gmx_simd_or_fi vorrq_s32 +#define gmx_simd_xor_fi veorq_s32 +/* Integer arithmetic ops on gmx_simd_fint32_t */ +#define gmx_simd_add_fi vaddq_s32 +#define gmx_simd_sub_fi vsubq_s32 +#define gmx_simd_mul_fi vmulq_s32 +/* Boolean & comparison operations on gmx_simd_float_t */ +#define gmx_simd_fbool_t uint32x4_t +#define gmx_simd_cmpeq_f vceqq_f32 +#define gmx_simd_cmplt_f vcltq_f32 +#define gmx_simd_cmple_f vcleq_f32 +#define gmx_simd_and_fb vandq_u32 +#define gmx_simd_or_fb vorrq_u32 +#define gmx_simd_anytrue_fb gmx_simd_anytrue_fb_arm_neon +#define gmx_simd_blendzero_f(a, sel) vreinterpretq_f32_u32(vandq_u32(vreinterpretq_u32_f32(a), sel)) +#define gmx_simd_blendnotzero_f(a, sel) vreinterpretq_f32_u32(vbicq_u32(vreinterpretq_u32_f32(a), sel)) +#define gmx_simd_blendv_f(a, b, sel) vbslq_f32(sel, b, a) +#define gmx_simd_reduce_f(a) gmx_simd_reduce_f_arm_neon(a) +/* Boolean & comparison operations on gmx_simd_fint32_t */ +#define gmx_simd_fibool_t uint32x4_t +#define gmx_simd_cmpeq_fi vceqq_s32 +#define gmx_simd_cmplt_fi vcltq_s32 +#define gmx_simd_and_fib vandq_u32 +#define gmx_simd_or_fib vorrq_u32 +#define gmx_simd_anytrue_fib gmx_simd_anytrue_fb +#define gmx_simd_blendzero_fi(a, sel) vandq_s32(a, vreinterpretq_s32_u32(sel)) +#define gmx_simd_blendnotzero_fi(a, sel) vbicq_s32(a, vreinterpretq_s32_u32(sel)) +#define gmx_simd_blendv_fi(a, b, sel) vbslq_s32(sel, b, a) +/* Conversions between different booleans */ +#define gmx_simd_cvt_fb2fib(x) (x) +#define gmx_simd_cvt_fib2fb(x) (x) + +/**************************************************** + * NO DOUBLE PRECISION SIMD AVAILABLE * + ****************************************************/ + + +/**************************************************** + * SINGLE PRECISION IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline gmx_simd_float_t +gmx_simd_get_exponent_f_arm_neon(gmx_simd_float_t x) +{ + const float32x4_t expmask = vreinterpretq_f32_s32( vdupq_n_s32(0x7F800000) ); + int32x4_t iexp; + + iexp = vreinterpretq_s32_f32(gmx_simd_and_f(x, expmask)); + iexp = vsubq_s32(vshrq_n_s32(iexp, 23), vdupq_n_s32(127)); + return vcvtq_f32_s32(iexp); +} + + +static gmx_inline gmx_simd_float_t +gmx_simd_get_mantissa_f_arm_neon(gmx_simd_float_t x) +{ + const float32x4_t mantmask = vreinterpretq_f32_s32( vdupq_n_s32(0x007FFFFF) ); + const float32x4_t one = vdupq_n_f32(1.0f); + + /* Get mantissa */ + x = gmx_simd_and_f(mantmask, x); + /* Reset zero (but correctly biased) exponent */ + return gmx_simd_or_f(x, one); +} + + +static gmx_inline gmx_simd_float_t +gmx_simd_set_exponent_f_arm_neon(gmx_simd_float_t x) +{ + int32x4_t iexp = gmx_simd_cvt_f2i(x); + + iexp = vshlq_n_s32(vaddq_s32(iexp, vdupq_n_s32(127)), 23); + return vreinterpretq_f32_s32(iexp); +} + +static gmx_inline float +gmx_simd_reduce_f_arm_neon(gmx_simd_float_t a) +{ + float32x4_t b = vextq_f32(a, a, 2); + + a = vaddq_f32(a, b); + b = vextq_f32(a, a, 1); + a = vaddq_f32(a, b); + return vgetq_lane_f32(a, 0); +} + +static gmx_inline int +gmx_simd_anytrue_fb_arm_neon(gmx_simd_fbool_t a) +{ + uint32x4_t b = vextq_u32(a, a, 2); + + a = gmx_simd_or_fb(a, b); + b = vextq_u32(a, a, 1); + a = gmx_simd_or_fb(a, b); + return (vgetq_lane_u32(a, 0) != 0); +} + + +/* ARM 32-bit Neon is already 4-wide in single, so just reuse float type for SIMD4 */ +#define gmx_simd4_float_t gmx_simd_float_t +#define gmx_simd4_load_f gmx_simd_load_f +#define gmx_simd4_load1_f gmx_simd_load1_f +#define gmx_simd4_set1_f gmx_simd_set1_f +#define gmx_simd4_store_f gmx_simd_store_f +#define gmx_simd4_loadu_f gmx_simd_loadu_f +#define gmx_simd4_storeu_f gmx_simd_storeu_f +#define gmx_simd4_setzero_f gmx_simd_setzero_f +#define gmx_simd4_add_f gmx_simd_add_f +#define gmx_simd4_sub_f gmx_simd_sub_f +#define gmx_simd4_mul_f gmx_simd_mul_f +#define gmx_simd4_fmadd_f gmx_simd_fmadd_f +#define gmx_simd4_fmsub_f gmx_simd_fmsub_f +#define gmx_simd4_fnmadd_f gmx_simd_fnmadd_f +#define gmx_simd4_fnmsub_f gmx_simd_fnmsub_f +#define gmx_simd4_and_f gmx_simd_and_f +#define gmx_simd4_andnot_f gmx_simd_andnot_f +#define gmx_simd4_or_f gmx_simd_or_f +#define gmx_simd4_xor_f gmx_simd_xor_f +#define gmx_simd4_rsqrt_f gmx_simd_rsqrt_f +#define gmx_simd4_fabs_f gmx_simd_fabs_f +#define gmx_simd4_fneg_f gmx_simd_fneg_f +#define gmx_simd4_max_f gmx_simd_max_f +#define gmx_simd4_min_f gmx_simd_min_f +#define gmx_simd4_round_f gmx_simd_round_f +#define gmx_simd4_trunc_f gmx_simd_trunc_f +#define gmx_simd4_dotproduct3_f gmx_simd4_dotproduct3_f_arm_neon +#define gmx_simd4_fbool_t gmx_simd_fbool_t +#define gmx_simd4_cmpeq_f gmx_simd_cmpeq_f +#define gmx_simd4_cmplt_f gmx_simd_cmplt_f +#define gmx_simd4_cmple_f gmx_simd_cmple_f +#define gmx_simd4_and_fb gmx_simd_and_fb +#define gmx_simd4_or_fb gmx_simd_or_fb +#define gmx_simd4_anytrue_fb gmx_simd_anytrue_fb +#define gmx_simd4_blendzero_f gmx_simd_blendzero_f +#define gmx_simd4_blendnotzero_f gmx_simd_blendnotzero_f +#define gmx_simd4_blendv_f gmx_simd_blendv_f +#define gmx_simd4_reduce_f gmx_simd_reduce_f + +/* SIMD4 Dotproduct helper function */ +static gmx_inline float +gmx_simd4_dotproduct3_f_arm_neon(gmx_simd_float_t a, gmx_simd_float_t b) +{ + gmx_simd_float_t c; + c = gmx_simd_mul_f(a, b); + /* set 4th element to 0, then add all of them */ + c = vsetq_lane_f32(0.0f, c, 3); + return gmx_simd_reduce_f_arm_neon(c); +} + +#endif /* GMX_SIMD_IMPL_ARM_NEON_H */ diff --git a/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h b/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h new file mode 100644 index 0000000000..609354a723 --- /dev/null +++ b/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h @@ -0,0 +1,262 @@ +/* + * 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. + */ + +#ifndef GMX_SIMD_IMPL_ARM_NEON_ASIMD_H +#define GMX_SIMD_IMPL_ARM_NEON_ASIMD_H + +#include + +#include + +/* ARM (AArch64) NEON Advanced SIMD instruction wrappers + * + * Please see documentation in gromacs/simd/simd.h for defines. + */ + +/* Inherit single-precision and integer part from 32-bit arm */ +#include "gromacs/simd/impl_arm_neon/impl_arm_neon.h" + +/* Override some capability definitions from ARM 32-bit NEON - we now have double */ +#define GMX_SIMD_HAVE_DOUBLE +#define GMX_SIMD_HAVE_DINT32 +#define GMX_SIMD_HAVE_DINT32_EXTRACT +#define GMX_SIMD_HAVE_DINT32_LOGICAL +#define GMX_SIMD_HAVE_DINT32_ARITHMETICS + +/* Implementation details */ +#define GMX_SIMD_DOUBLE_WIDTH 2 +#define GMX_SIMD_DINT32_WIDTH 2 + +/* NEON ASIMD always has FMA support, so make sure we use that for single too. */ +#undef gmx_simd_fmadd_f +#define gmx_simd_fmadd_f(a, b, c) vfmaq_f32(c, b, a) +#undef gmx_simd_fmsub_f +#define gmx_simd_fmsub_f(a, b, c) vnegq_f32(vfmsq_f32(c, b, a)) +#undef gmx_simd_fnmadd_f +#define gmx_simd_fnmadd_f(a, b, c) vfmsq_f32(c, b, a) +#undef gmx_simd_fnmsub_f +#define gmx_simd_fnmsub_f(a, b, c) vnegq_f32(vfmaq_f32(c, b, a)) + +/* The rounding instructions were actually added already in ARMv8, but most + * compilers did not add intrinsics for them. Make sure we use them for single + * precision too when enabling NEON Advanced SIMD. + */ +#undef gmx_simd_round_f +#define gmx_simd_round_f(x) vrndnq_f32(x) +#undef gmx_simd_trunc_f +#define gmx_simd_trunc_f(x) vrndq_f32(x) + +/* NEON Advanced SIMD has a real rounding conversion instruction */ +#undef gmx_simd_cvt_f2i +#define gmx_simd_cvt_f2i(x) vcvtnq_s32_f32(x) + +/* Since we redefine rounding/conversion-with-rounding, make + * sure we use the new operations by redefining the routine + * to set the exponent too. + */ +#undef gmx_simd_set_exponent_f +#define gmx_simd_set_exponent_f gmx_simd_set_exponent_f_arm_neon_asimd + +/* We can do more efficient reduce with vector pairwise arithmetic */ +#undef gmx_simd_reduce_f +#define gmx_simd_reduce_f(a) gmx_simd_reduce_f_arm_neon_asimd(a) + +/* Pick the largest unsigned integer as a shortcut for any-true */ +#undef gmx_simd_anytrue_fb +#define gmx_simd_anytrue_fb(x) (vmaxvq_u32(x) != 0) +#undef gmx_simd_anytrue_fib +#define gmx_simd_anytrue_fib(x) (vmaxvq_u32(x) != 0) + +/* gcc-4.8 is missing the proper vreinterpretq casts + * for 64-bit operands. However, since these datatypes + * are opaque to the compiler we can safely cast one + * to the other without any conversion happening. + */ + +/**************************************************** + * DOUBLE PRECISION SIMD IMPLEMENTATION * + ****************************************************/ +#define gmx_simd_double_t float64x2_t +#define gmx_simd_load_d vld1q_f64 +#define gmx_simd_load1_d vld1q_dup_f64 +#define gmx_simd_set1_d vdupq_n_f64 +#define gmx_simd_store_d vst1q_f64 +#define gmx_simd_loadu_d vld1q_f64 +#define gmx_simd_storeu_d vst1q_f64 +#define gmx_simd_setzero_d() vdupq_n_f64(0.0) +#define gmx_simd_add_d vaddq_f64 +#define gmx_simd_sub_d vsubq_f64 +#define gmx_simd_mul_d vmulq_f64 +#define gmx_simd_fmadd_d(a, b, c) vfmaq_f64(c, b, a) +#define gmx_simd_fmsub_d(a, b, c) vnegq_f64(vfmsq_f64(c, b, a)) +#define gmx_simd_fnmadd_d(a, b, c) vfmsq_f64(c, b, a) +#define gmx_simd_fnmsub_d(a, b, c) vnegq_f64(vfmaq_f64(c, b, a)) +#define gmx_simd_and_d(a, b) (float64x2_t)(vandq_s64((int64x2_t)(a), (int64x2_t)(b))) +#define gmx_simd_andnot_d(a, b) (float64x2_t)(vbicq_s64((int64x2_t)(b), (int64x2_t)(a))) +#define gmx_simd_or_d(a, b) (float64x2_t)(vorrq_s64((int64x2_t)(a), (int64x2_t)(b))) +#define gmx_simd_xor_d(a, b) (float64x2_t)(veorq_s64((int64x2_t)(a), (int64x2_t)(b))) +#define gmx_simd_rsqrt_d vrsqrteq_f64 +#define gmx_simd_rsqrt_iter_d(lu, x) vmulq_f64(lu, vrsqrtsq_f64(vmulq_f64(lu, lu), x)) +#define gmx_simd_rcp_d vrecpeq_f64 +#define gmx_simd_rcp_iter_d(lu, x) vmulq_f64(lu, vrecpsq_f64(lu, x)) +#define gmx_simd_fabs_d(x) vabsq_f64(x) +#define gmx_simd_fneg_d(x) vnegq_f64(x) +#define gmx_simd_max_d vmaxq_f64 +#define gmx_simd_min_d vminq_f64 +#define gmx_simd_round_d(x) vrndnq_f64(x) +#define gmx_simd_trunc_d(x) vrndq_f64(x) +#define gmx_simd_fraction_d(x) vsubq_f64(x, gmx_simd_trunc_d(x)) +#define gmx_simd_get_exponent_d gmx_simd_get_exponent_d_arm_neon_asimd +#define gmx_simd_get_mantissa_d gmx_simd_get_mantissa_d_arm_neon_asimd +#define gmx_simd_set_exponent_d gmx_simd_set_exponent_d_arm_neon_asimd +/* integer datatype corresponding to double: gmx_simd_dint32_t */ +#define gmx_simd_dint32_t int32x2_t +#define gmx_simd_load_di(m) vld1_s32(m) +#define gmx_simd_set1_di vdup_n_s32 +#define gmx_simd_store_di(m, x) vst1_s32(m, x) +#define gmx_simd_loadu_di(m) vld1_s32(m) +#define gmx_simd_storeu_di(m, x) vst1_s32(m, x) +#define gmx_simd_setzero_di() vdup_n_s32(0) +#define gmx_simd_cvtt_d2i(x) vmovn_s64(vcvtq_s64_f64(x)) +#define gmx_simd_cvt_d2i(x) vmovn_s64(vcvtnq_s64_f64(x)) +#define gmx_simd_cvt_i2d(x) vcvtq_f64_s64(vmovl_s32(x)) +#define gmx_simd_extract_di(x, i) vget_lane_s32(x, i) +/* Integer logical ops on gmx_simd_dint32_t */ +#define gmx_simd_slli_di vshl_n_s32 +#define gmx_simd_srli_di vshr_n_s32 +#define gmx_simd_and_di vand_s32 +#define gmx_simd_andnot_di(a, b) vbic_s32(b, a) +#define gmx_simd_or_di vorr_s32 +#define gmx_simd_xor_di veor_s32 +/* Integer arithmetic ops on gmx_simd_dint32_t */ +#define gmx_simd_add_di vadd_s32 +#define gmx_simd_sub_di vsub_s32 +#define gmx_simd_mul_di vmul_s32 +/* Boolean & comparison operations on gmx_simd_double_t */ +#define gmx_simd_dbool_t uint64x2_t +#define gmx_simd_cmpeq_d vceqq_f64 +#define gmx_simd_cmplt_d vcltq_f64 +#define gmx_simd_cmple_d vcleq_f64 +#define gmx_simd_and_db vandq_u64 +#define gmx_simd_or_db vorrq_u64 +#define gmx_simd_anytrue_db(x) (vmaxvq_u32((uint32x4_t)(x)) != 0) +#define gmx_simd_blendzero_d(a, sel) (float64x2_t)(vandq_u64((uint64x2_t)(a), sel)) +#define gmx_simd_blendnotzero_d(a, sel) (float64x2_t)(vbicq_u64((uint64x2_t)(a), sel)) +#define gmx_simd_blendv_d(a, b, sel) vbslq_f64(sel, b, a) +#define gmx_simd_reduce_d(a) gmx_simd_reduce_d_arm_neon_asimd(a) +/* Boolean & comparison operations on gmx_simd_dint32_t */ +#define gmx_simd_dibool_t uint32x2_t +#define gmx_simd_cmpeq_di vceq_s32 +#define gmx_simd_cmplt_di vclt_s32 +#define gmx_simd_and_dib vand_u32 +#define gmx_simd_or_dib vorr_u32 +#define gmx_simd_anytrue_dib(x) (vmaxv_u32(x) != 0) +#define gmx_simd_blendzero_di(a, sel) vand_s32(a, vreinterpret_s32_u32(sel)) +#define gmx_simd_blendnotzero_di(a, sel) vbic_s32(a, vreinterpret_s32_u32(sel)) +#define gmx_simd_blendv_di(a, b, sel) vbsl_s32(sel, b, a) +/* Conversions between different booleans */ +#define gmx_simd_cvt_db2dib(x) vqmovn_u64(x) +#define gmx_simd_cvt_dib2db(x) vorrq_u64(vmovl_u32(x), vshlq_n_u64(vmovl_u32(x), 32)) + +/* Float/double conversion */ +#define gmx_simd_cvt_f2dd(f, d0, d1) { *d0 = vcvt_f64_f32(vget_low_f32(f)); *d1 = vcvt_high_f64_f32(f); } +#define gmx_simd_cvt_dd2f(d0, d1) vcvt_high_f32_f64(vcvt_f32_f64(d0), d1) + +/**************************************************** + * SINGLE PRECISION IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline gmx_simd_float_t +gmx_simd_set_exponent_f_arm_neon_asimd(gmx_simd_float_t x) +{ + int32x4_t iexp = vcvtnq_s32_f32(x); + + iexp = vshlq_n_s32(vaddq_s32(iexp, vdupq_n_s32(127)), 23); + return vreinterpretq_f32_s32(iexp); +} + +static gmx_inline float +gmx_simd_reduce_f_arm_neon_asimd(gmx_simd_float_t a) +{ + a = vpaddq_f32(a, a); + a = vpaddq_f32(a, a); + return vgetq_lane_f32(a, 0); +} + + +/**************************************************** + * DOUBLE PRECISION IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline gmx_simd_double_t +gmx_simd_get_exponent_d_arm_neon_asimd(gmx_simd_double_t x) +{ + const float64x2_t expmask = (float64x2_t)( vdupq_n_s64(0x7FF0000000000000LL) ); + int64x2_t iexp; + + iexp = (int64x2_t)(gmx_simd_and_d(x, expmask)); + iexp = vsubq_s64(vshrq_n_s64(iexp, 52), vdupq_n_s64(1023)); + return vcvtq_f64_s64(iexp); +} + + +static gmx_inline gmx_simd_double_t +gmx_simd_get_mantissa_d_arm_neon_asimd(gmx_simd_double_t x) +{ + const float64x2_t mantmask = (float64x2_t)( vdupq_n_s64(0x000FFFFFFFFFFFFFLL) ); + const float64x2_t one = vdupq_n_f64(1.0); + + /* Get mantissa */ + x = gmx_simd_and_d(mantmask, x); + /* Reset zero (but correctly biased) exponent */ + return gmx_simd_or_d(x, one); +} + + +static gmx_inline gmx_simd_double_t +gmx_simd_set_exponent_d_arm_neon_asimd(gmx_simd_double_t x) +{ + int64x2_t iexp = vcvtnq_s64_f64(x); + + iexp = vshlq_n_s64(vaddq_s64(iexp, vdupq_n_s64(1023)), 52); + return (float64x2_t)(iexp); +} + +static gmx_inline double +gmx_simd_reduce_d_arm_neon_asimd(gmx_simd_double_t a) +{ + a = vpaddq_f64(a, a); + return vgetq_lane_f64(a, 0); +} + +#endif /* GMX_SIMD_IMPL_ARM_NEON_ASIMD_H */ diff --git a/src/gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h b/src/gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h index 63bce3c895..ebbf77aec7 100644 --- a/src/gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h +++ b/src/gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h @@ -41,6 +41,8 @@ #include #endif +#include "config.h" + /* IBM QPX SIMD instruction wrappers * * Please see documentation in gromacs/simd/simd.h for the available diff --git a/src/gromacs/simd/impl_ibm_vmx/impl_ibm_vmx.h b/src/gromacs/simd/impl_ibm_vmx/impl_ibm_vmx.h new file mode 100644 index 0000000000..810a13433b --- /dev/null +++ b/src/gromacs/simd/impl_ibm_vmx/impl_ibm_vmx.h @@ -0,0 +1,360 @@ +/* + * 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. + */ + +#ifndef GMX_SIMD_IMPLEMENTATION_IBM_VMX_H +#define GMX_SIMD_IMPLEMENTATION_IBM_VMX_H + +#include + +#include + +/* Make sure we do not screw up c++ - undefine vector/bool, and rely on __vector and __bool */ +#undef vector +#undef bool + +/* IBM VMX SIMD instruction wrappers. Power6 and later. + * + * Please see documentation in gromacs/simd/simd.h for the available + * defines. + */ +/* Capability definitions for IBM VMX */ +#define GMX_SIMD_HAVE_FLOAT +#undef GMX_SIMD_HAVE_DOUBLE +#define GMX_SIMD_HAVE_HARDWARE +#undef GMX_SIMD_HAVE_LOADU +#undef GMX_SIMD_HAVE_STOREU +#define GMX_SIMD_HAVE_LOGICAL +/* VMX only provides fmadd/fnmadd (our definitions), but not fmsub/fnmsub. + * However, fnmadd is what we need for 1/sqrt(x). + */ +#define GMX_SIMD_HAVE_FMA +#undef GMX_SIMD_HAVE_FRACTION +#define GMX_SIMD_HAVE_FINT32 +#undef GMX_SIMD_HAVE_FINT32_EXTRACT +#define GMX_SIMD_HAVE_FINT32_LOGICAL +#define GMX_SIMD_HAVE_FINT32_ARITHMETICS +#undef GMX_SIMD_HAVE_DINT32 +#undef GMX_SIMD_HAVE_DINT32_EXTRACT +#undef GMX_SIMD_HAVE_DINT32_LOGICAL +#undef GMX_SIMD_HAVE_DINT32_ARITHMETICS +#define GMX_SIMD4_HAVE_FLOAT +#undef GMX_SIMD4_HAVE_DOUBLE + +/* Implementation details */ +#define GMX_SIMD_FLOAT_WIDTH 4 +#undef GMX_SIMD_DOUBLE_WIDTH +#define GMX_SIMD_FINT32_WIDTH 4 +#undef GMX_SIMD_DINT32_WIDTH +#define GMX_SIMD_RSQRT_BITS 14 +#define GMX_SIMD_RCP_BITS 14 + +/**************************************************** + * SINGLE PRECISION SIMD IMPLEMENTATION * + ****************************************************/ +#define gmx_simd_float_t __vector float +#define gmx_simd_load_f(m) vec_ld(0, (const __vector float *)m) +#define gmx_simd_load1_f(m) gmx_simd_load1_f_ibm_vmx(m) +#define gmx_simd_set1_f(x) gmx_simd_set1_f_ibm_vmx(x) +#define gmx_simd_store_f(m, x) vec_st(x, 0, (__vector float *)m) +#undef gmx_simd_loadu_f +#undef gmx_simd_storeu_f +#define gmx_simd_setzero_f() ((__vector float)vec_splat_u32(0)) +#define gmx_simd_add_f(a, b) vec_add(a, b) +#define gmx_simd_sub_f(a, b) vec_sub(a, b) +#define gmx_simd_mul_f(a, b) vec_mul(a, b) +#define gmx_simd_fmadd_f(a, b, c) vec_madd(a, b, c) +#define gmx_simd_fmsub_f(a, b, c) vec_sub(vec_mul(a, b), c) +/* IBM uses an alternative FMA definition, so -a*b+c=-(a*b-c) is "nmsub" */ +#define gmx_simd_fnmadd_f(a, b, c) vec_nmsub(a, b, c) +/* IBM uses an alternative FMA definition, so -a*b-c=-(a*b+c) is "nmadd" */ +#define gmx_simd_fnmsub_f(a, b, c) vec_sub(gmx_simd_setzero_f(), vec_madd(a, b, c)) +#define gmx_simd_and_f(a, b) vec_and(a, b) +#define gmx_simd_andnot_f(a, b) vec_andc(b, a) +#define gmx_simd_or_f(a, b) vec_or(a, b) +#define gmx_simd_xor_f(a, b) vec_xor(a, b) +#define gmx_simd_rsqrt_f(a) vec_rsqrte(a) +#define gmx_simd_rcp_f(a) vec_re(a) +#define gmx_simd_fabs_f(a) vec_abs(a) +#define gmx_simd_fneg_f(a) vec_xor(a, (__vector float)vec_sl(vec_splat_u32(-1), vec_splat_u32(-1))) +#define gmx_simd_max_f(a, b) vec_max(a, b) +#define gmx_simd_min_f(a, b) vec_min(a, b) +#define gmx_simd_round_f(a) vec_round(a) +#define gmx_simd_trunc_f(a) vec_trunc(a) +#define gmx_simd_fraction_f(x) vec_sub(x, vec_trunc(x)) +#define gmx_simd_get_exponent_f(a) gmx_simd_get_exponent_f_ibm_vmx(a) +#define gmx_simd_get_mantissa_f(a) gmx_simd_get_mantissa_f_ibm_vmx(a) +#define gmx_simd_set_exponent_f(a) gmx_simd_set_exponent_f_ibm_vmx(a) +/* integer datatype corresponding to float: gmx_simd_fint32_t */ +#define gmx_simd_fint32_t __vector int +#define gmx_simd_load_fi(m) vec_ld(0, (const __vector int *)m) +#define gmx_simd_set1_fi(i) gmx_simd_set1_fi_ibm_vmx((int)i) +#define gmx_simd_store_fi(m, x) vec_st(x, 0, (__vector int *)m) +#undef gmx_simd_loadu_fi +#undef gmx_simd_storeu_fi +#define gmx_simd_setzero_fi() vec_splat_s32(0) +#define gmx_simd_cvt_f2i(a) vec_cts(vec_round(a), 0) +#define gmx_simd_cvtt_f2i(a) vec_cts(a, 0) +#define gmx_simd_cvt_i2f(a) vec_ctf(a, 0) +#undef gmx_simd_extract_fi +/* Integer logical ops on gmx_simd_fint32_t */ +/* The shift constant magic requires an explanation: + * VMX only allows literals up to 15 to be created directly with vec_splat_u32, + * and we need to be able to shift up to 31 bits. The code on the right hand + * side splits the constant in three parts with values in the range 0..15. + * Since the argument has to be a constant (but our and VMX requirement), these + * constants will be evaluated at compile-time, and if one or two parts evaluate + * to zero they will be removed with -O2 or higher optimization (checked). + */ +#define gmx_simd_slli_fi(a, i) vec_sl(a, vec_add(vec_add(vec_splat_u32( (((i&0xF)+(i/16))&0xF)+i/31 ), vec_splat_u32( (i/16)*15 )), vec_splat_u32( (i/31)*15 ))) +#define gmx_simd_srli_fi(a, i) vec_sr(a, vec_add(vec_add(vec_splat_u32( (((i&0xF)+(i/16))&0xF)+i/31 ), vec_splat_u32( (i/16)*15 )), vec_splat_u32( (i/31)*15 ))) +#define gmx_simd_and_fi(a, b) vec_and(a, b) +#define gmx_simd_andnot_fi(a, b) vec_andc(b, a) +#define gmx_simd_or_fi(a, b) vec_or(a, b) +#define gmx_simd_xor_fi(a, b) vec_xor(a, b) +/* Integer arithmetic ops on gmx_simd_fint32_t */ +#define gmx_simd_add_fi(a, b) vec_add(a, b) +#define gmx_simd_sub_fi(a, b) vec_sub(a, b) +#define gmx_simd_mul_fi(a, b) vec_mule((__vector short)a, (__vector short)b) +/* Boolean & comparison operations on gmx_simd_float_t */ +#define gmx_simd_fbool_t __vector __bool int +#define gmx_simd_cmpeq_f(a, b) vec_cmpeq(a, b) +#define gmx_simd_cmplt_f(a, b) vec_cmplt(a, b) +#define gmx_simd_cmple_f(a, b) vec_cmple(a, b) +#define gmx_simd_and_fb(a, b) vec_and(a, b) +#define gmx_simd_or_fb(a, b) vec_or(a, b) +#define gmx_simd_anytrue_fb(a) vec_any_ne(a, (__vector __bool int)vec_splat_u32(0)) +#define gmx_simd_blendzero_f(a, sel) vec_and(a, (__vector float)sel) +#define gmx_simd_blendnotzero_f(a, sel) vec_andc(a, (__vector float)sel) +#define gmx_simd_blendv_f(a, b, sel) vec_sel(a, b, sel) +#define gmx_simd_reduce_f(a) gmx_simd_reduce_f_ibm_vmx(a) +/* Boolean & comparison operations on gmx_simd_fint32_t */ +#define gmx_simd_fibool_t __vector __bool int +#define gmx_simd_cmpeq_fi(a, b) vec_cmpeq(a, b) +#define gmx_simd_cmplt_fi(a, b) vec_cmplt(a, b) +#define gmx_simd_and_fib(a, b) vec_and(a, b) +#define gmx_simd_or_fib(a, b) vec_or(a, b) +#define gmx_simd_anytrue_fib(a) vec_any_ne(a, (__vector __bool int)vec_splat_u32(0)) +#define gmx_simd_blendzero_fi(a, sel) vec_and(a, (__vector int)sel) +#define gmx_simd_blendnotzero_fi(a, sel) vec_andc(a, (__vector int)sel) +#define gmx_simd_blendv_fi(a, b, sel) vec_sel(a, b, sel) +/* Conversions between different booleans */ +#define gmx_simd_cvt_fb2fib(x) (x) +#define gmx_simd_cvt_fib2fb(x) (x) + +/* Double is not available with VMX SIMD */ + +/**************************************************** + * IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline gmx_simd_float_t +gmx_simd_set1_f_ibm_vmx(const float x) +{ + /* In the old days when PPC was all big endian we could + * use the vec_lvsl() instruction to permute bytes based on + * a load adress. However, at least with gcc-4.8.2 the bytes + * end up reversed on Power8 running little endian (Linux). + * Since this is not a critical instruction we work around + * it by first putting the data in an aligned position before + * loading, so we can avoid vec_lvsl() entirely. We can + * do this slightly faster on GCC with alignment attributes. + */ + __vector float vx; +#ifdef __GNUC__ + float alignedx __attribute ((aligned (16))); + alignedx = x; + vx = vec_lde(0, &alignedx); +#else + struct { + vector float vx; float x[4]; + } conv; + conv.x[0] = x; + vx = vec_lde(0, conv.x); +#endif + return vec_splat(vx, 0); +} + +static gmx_inline gmx_simd_float_t +gmx_simd_load1_f_ibm_vmx(const float * m) +{ + return gmx_simd_set1_f_ibm_vmx(*m); +} + +static gmx_inline gmx_simd_fint32_t +gmx_simd_set1_fi_ibm_vmx(const int x) +{ + /* See comment in gmx_simd_set1_f_ibm_vmx why we + * cannot use vec_lvsl(). + */ + __vector int vx; +#ifdef __GNUC__ + int alignedx __attribute ((aligned (16))); + alignedx = x; + vx = vec_lde(0, &alignedx); +#else + struct { + vector int vx; int x[4]; + } conv; + conv.x[0] = x; + vx = vec_lde(0, conv.x); +#endif + return vec_splat(vx, 0); +} + + +static gmx_inline gmx_simd_float_t +gmx_simd_get_exponent_f_ibm_vmx(gmx_simd_float_t x) +{ + /* Generate 0x7F800000 without memory operations */ + gmx_simd_float_t expmask = (__vector float)gmx_simd_slli_fi(vec_add(vec_splat_s32(15), vec_sl(vec_splat_s32(15), vec_splat_u32(4))), 23); + gmx_simd_fint32_t i127 = vec_sub(vec_sl(vec_splat_s32(1), vec_splat_u32(7)), vec_splat_s32(1)); + gmx_simd_fint32_t iexp; + + iexp = (__vector int)gmx_simd_and_f(x, expmask); + iexp = vec_sub(gmx_simd_srli_fi(iexp, 23), i127); + return vec_ctf(iexp, 0); +} + +static gmx_inline gmx_simd_float_t +gmx_simd_get_mantissa_f_ibm_vmx(gmx_simd_float_t x) +{ + gmx_simd_float_t expmask = (__vector float)gmx_simd_slli_fi(vec_add(vec_splat_s32(15), vec_sl(vec_splat_s32(15), vec_splat_u32(4))), 23); + + /* Get mantissa. By taking the absolute value (to get rid of the sign bit) we can + * use the same mask as for gmx_simd_get_exponent_f() (but complement it). Since + * these two routines are typically called together, this will save a few operations. + */ + x = gmx_simd_andnot_f(expmask, vec_abs(x)); + /* Reset zero (but correctly biased) exponent */ + return gmx_simd_or_f(x, vec_ctf(vec_splat_s32(1), 0)); +} + +static gmx_inline gmx_simd_float_t +gmx_simd_set_exponent_f_ibm_vmx(gmx_simd_float_t x) +{ + gmx_simd_fint32_t iexp = gmx_simd_cvt_f2i(x); + gmx_simd_fint32_t i127 = vec_sub(vec_sl(vec_splat_s32(1), vec_splat_u32(7)), vec_splat_s32(1)); + + iexp = gmx_simd_slli_fi(vec_add(iexp, i127), 23); + return (__vector float)iexp; +} + +static gmx_inline float +gmx_simd_reduce_f_ibm_vmx(gmx_simd_float_t x) +{ + float res; + x = vec_add(x, vec_sld(x, x, 8)); + x = vec_add(x, vec_sld(x, x, 4)); + vec_ste(x, 0, &res); + return res; +} + + + +/* SINGLE */ +#define gmx_simd4_float_t gmx_simd_float_t +#define gmx_simd4_load_f gmx_simd_load_f +#define gmx_simd4_load1_f gmx_simd_load1_f +#define gmx_simd4_set1_f gmx_simd_set1_f +#define gmx_simd4_store_f gmx_simd_store_f +#define gmx_simd4_loadu_f gmx_simd_loadu_f +#define gmx_simd4_storeu_f gmx_simd_storeu_f +#define gmx_simd4_setzero_f gmx_simd_setzero_f +#define gmx_simd4_add_f gmx_simd_add_f +#define gmx_simd4_sub_f gmx_simd_sub_f +#define gmx_simd4_mul_f gmx_simd_mul_f +#define gmx_simd4_fmadd_f gmx_simd_fmadd_f +#define gmx_simd4_fmsub_f gmx_simd_fmsub_f +#define gmx_simd4_fnmadd_f gmx_simd_fnmadd_f +#define gmx_simd4_fnmsub_f gmx_simd_fnmsub_f +#define gmx_simd4_and_f gmx_simd_and_f +#define gmx_simd4_andnot_f gmx_simd_andnot_f +#define gmx_simd4_or_f gmx_simd_or_f +#define gmx_simd4_xor_f gmx_simd_xor_f +#define gmx_simd4_rsqrt_f gmx_simd_rsqrt_f +#define gmx_simd4_rcp_f gmx_simd_rcp_f +#define gmx_simd4_fabs_f gmx_simd_fabs_f +#define gmx_simd4_fneg_f gmx_simd_fneg_f +#define gmx_simd4_max_f gmx_simd_max_f +#define gmx_simd4_min_f gmx_simd_min_f +#define gmx_simd4_round_f gmx_simd_round_f +#define gmx_simd4_trunc_f gmx_simd_trunc_f +#define gmx_simd4_fraction_f gmx_simd_fraction_f +#define gmx_simd4_get_exponent_f gmx_simd_get_exponent_f +#define gmx_simd4_get_mantissa_f gmx_simd_get_mantissa_f +#define gmx_simd4_set_exponent_f gmx_simd_set_exponent_f +#define gmx_simd4_dotproduct3_f gmx_simd4_dotproduct3_f_ibm_vmx +#define gmx_simd4_fint32_t gmx_simd_fint32_t +#define gmx_simd4_load_fi gmx_simd_load_fi +#define gmx_simd4_load1_fi gmx_simd_load1_fi +#define gmx_simd4_set1_fi gmx_simd_set1_fi +#define gmx_simd4_store_fi gmx_simd_store_fi +#define gmx_simd4_loadu_fi gmx_simd_loadu_fi +#define gmx_simd4_storeu_fi gmx_simd_storeu_fi +#define gmx_simd4_setzero_fi gmx_simd_setzero_fi +#define gmx_simd4_cvt_f2i gmx_simd_cvt_f2i +#define gmx_simd4_cvtt_f2i gmx_simd_cvtt_f2i +#define gmx_simd4_cvt_i2f gmx_simd_cvt_i2f +#define gmx_simd4_fbool_t gmx_simd_fbool_t +#define gmx_simd4_cmpeq_f gmx_simd_cmpeq_f +#define gmx_simd4_cmplt_f gmx_simd_cmplt_f +#define gmx_simd4_cmple_f gmx_simd_cmple_f +#define gmx_simd4_and_fb gmx_simd_and_fb +#define gmx_simd4_or_fb gmx_simd_or_fb +#define gmx_simd4_anytrue_fb gmx_simd_anytrue_fb +#define gmx_simd4_blendzero_f gmx_simd_blendzero_f +#define gmx_simd4_blendnotzero_f gmx_simd_blendnotzero_f +#define gmx_simd4_blendv_f gmx_simd_blendv_f +#define gmx_simd4_reduce_f gmx_simd_reduce_f + +static gmx_inline float +gmx_simd4_dotproduct3_f_ibm_vmx(gmx_simd4_float_t a, gmx_simd4_float_t b) +{ + gmx_simd4_float_t c = vec_mul(a, b); + /* Keep only elements 0,1,2 by shifting in zero from right */ + c = vec_sld(c, gmx_simd_setzero_f(), 4); + /* calculate sum */ + return gmx_simd_reduce_f_ibm_vmx(c); +} + +/* Function to check whether SIMD operations have resulted in overflow. + * For now, this is unfortunately a dummy for this architecture. + */ +static int +gmx_simd_check_and_reset_overflow(void) +{ + return 0; +} + +#endif /* GMX_SIMD_IMPLEMENTATION_IBM_VMX_H */ diff --git a/src/gromacs/simd/impl_ibm_vsx/impl_ibm_vsx.h b/src/gromacs/simd/impl_ibm_vsx/impl_ibm_vsx.h new file mode 100644 index 0000000000..4430e58747 --- /dev/null +++ b/src/gromacs/simd/impl_ibm_vsx/impl_ibm_vsx.h @@ -0,0 +1,631 @@ +/* + * 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. + */ + +#ifndef GMX_SIMD_IMPLEMENTATION_IBM_VSX_H +#define GMX_SIMD_IMPLEMENTATION_IBM_VSX_H + +#include + +#include + +/* IBM VSX SIMD instruction wrappers. Power7 and later. + * + * While this instruction set is similar to VMX, there are quite a few differences + * that make it easier to understand if we start from scratch rather than by + * including the VMX implementation and changing lots of things. + */ + + +/* Make sure we do not screw up c++ - undefine vector/bool, and rely on __vector, + * which is present both on gcc and xlc. + */ +#undef vector + +/* g++ is also unhappy with the clash of vector bool and the C++ reserved 'bool', + * which is solved by undefining bool and reyling on __bool. However, that does + * not work with xlc, which requires us to use bool. Solve the conflict by + * defining a new vsx_bool. + */ +#ifdef __GNUC__ +# define vsx_bool __bool +# undef bool +#else +# define vsx_bool bool +#endif + +/* Since we've had to use quite a few compiler and endian defines in this code + * it might not 'just work' when e.g. clang provides VSX support. If you are + * reading this because you saw the error below for a new compiler, try removing + * the checks, but then make sure you run 'make test'. + */ +#if !(defined __GNUC__) && !(defined __IBMC__) && !(defined __IBMCPP__) +# error VSX acceleration is very compiler-dependent, and only tested for gcc & xlc. +#endif + +#if !(defined __BIG_ENDIAN__) && !(defined __LITTLE_ENDIAN__) +# error VSX platform not recognized - both gcc & xlc should define big or little endian! +#endif + +/* Capability definitions for IBM VSX */ +#define GMX_SIMD_HAVE_FLOAT +#define GMX_SIMD_HAVE_DOUBLE +#define GMX_SIMD_HAVE_HARDWARE +#define GMX_SIMD_HAVE_LOADU +#define GMX_SIMD_HAVE_STOREU +#define GMX_SIMD_HAVE_LOGICAL +#define GMX_SIMD_HAVE_FMA +#undef GMX_SIMD_HAVE_FRACTION +#define GMX_SIMD_HAVE_FINT32 +#define GMX_SIMD_HAVE_FINT32_EXTRACT +#define GMX_SIMD_HAVE_FINT32_LOGICAL +#define GMX_SIMD_HAVE_FINT32_ARITHMETICS +#define GMX_SIMD_HAVE_DINT32 +#define GMX_SIMD_HAVE_DINT32_EXTRACT +#define GMX_SIMD_HAVE_DINT32_LOGICAL +#define GMX_SIMD_HAVE_DINT32_ARITHMETICS +#define GMX_SIMD4_HAVE_FLOAT +#undef GMX_SIMD4_HAVE_DOUBLE + +/* Implementation details */ +#define GMX_SIMD_FLOAT_WIDTH 4 +#define GMX_SIMD_DOUBLE_WIDTH 2 +#define GMX_SIMD_FINT32_WIDTH 4 +#define GMX_SIMD_DINT32_WIDTH 2 +#define GMX_SIMD_RSQRT_BITS 14 +#define GMX_SIMD_RCP_BITS 14 + +/**************************************************** + * SINGLE PRECISION SIMD IMPLEMENTATION * + ****************************************************/ +#define gmx_simd_float_t __vector float +#ifdef __GNUC__ +# define gmx_simd_load_f(m) vec_vsx_ld(0, (const float *)m) +# define gmx_simd_store_f(m, x) vec_vsx_st(x, 0, (float *)m) +#else +/* IBM xlC */ +# define gmx_simd_load_f(m) vec_xlw4(0, (float *)(m)) +# define gmx_simd_store_f(m, x) vec_xstw4(x, 0, (float *)(m)) +#endif +#define gmx_simd_load1_f(m) vec_splats((float)(*m)) +#define gmx_simd_set1_f(x) vec_splats((float)(x)) +#define gmx_simd_loadu_f gmx_simd_load_f +#define gmx_simd_storeu_f gmx_simd_store_f +#define gmx_simd_setzero_f() vec_splats(0.0f) +#define gmx_simd_add_f(a, b) vec_add(a, b) +#define gmx_simd_sub_f(a, b) vec_sub(a, b) +#define gmx_simd_mul_f(a, b) vec_mul(a, b) +#define gmx_simd_fmadd_f(a, b, c) vec_madd(a, b, c) +#define gmx_simd_fmsub_f(a, b, c) vec_msub(a, b, c) +/* IBM uses an alternative FMA definition, so -a*b+c=-(a*b-c) is "nmsub" */ +#define gmx_simd_fnmadd_f(a, b, c) vec_nmsub(a, b, c) +/* IBM uses an alternative FMA definition, so -a*b-c=-(a*b+c) is "nmadd" */ +#define gmx_simd_fnmsub_f(a, b, c) vec_nmadd(a, b, c) +#define gmx_simd_and_f(a, b) vec_and(a, b) +#define gmx_simd_andnot_f(a, b) vec_andc(b, a) +#define gmx_simd_or_f(a, b) vec_or(a, b) +#define gmx_simd_xor_f(a, b) vec_xor(a, b) +#define gmx_simd_rsqrt_f(a) vec_rsqrte(a) +#define gmx_simd_rcp_f(a) vec_re(a) +#define gmx_simd_fabs_f(a) vec_abs(a) +#ifdef __GNUC__ +/* gcc up to at least version 4.9 is missing intrinsics for vec_neg(), use inline asm. */ +# define gmx_simd_fneg_f(a) ({ __vector float res; __asm__ ("xvnegsp %0,%1" : \ + "=ww" ((__vector float)res) : "ww" ((__vector float)(a))); res; }) +#else +/* IBM xlC */ +# define gmx_simd_fneg_f(a) vec_neg(a) +#endif +#define gmx_simd_max_f(a, b) vec_max(a, b) +#define gmx_simd_min_f(a, b) vec_min(a, b) +#define gmx_simd_round_f(a) vec_round(a) +#define gmx_simd_trunc_f(a) vec_trunc(a) +#define gmx_simd_fraction_f(x) vec_sub(x, vec_trunc(x)) +#define gmx_simd_get_exponent_f(a) gmx_simd_get_exponent_f_ibm_vsx(a) +#define gmx_simd_get_mantissa_f(a) gmx_simd_get_mantissa_f_ibm_vsx(a) +#define gmx_simd_set_exponent_f(a) gmx_simd_set_exponent_f_ibm_vsx(a) +/* integer datatype corresponding to float: gmx_simd_fint32_t */ +#define gmx_simd_fint32_t __vector signed int +#ifdef __GNUC__ +# define gmx_simd_load_fi(m) vec_vsx_ld(0, (const int *)m) +# define gmx_simd_store_fi(m, x) vec_vsx_st(x, 0, (int *)m) +#else +/* IBM xlC */ +# define gmx_simd_load_fi(m) vec_xlw4(0, (int *)m) +# define gmx_simd_store_fi(m, x) vec_xstw4(x, 0, (int *)m) +#endif +#define gmx_simd_set1_fi(i) vec_splats((int)(i)) +#define gmx_simd_loadu_fi gmx_simd_load_fi +#define gmx_simd_storeu_fi gmx_simd_store_fi +#define gmx_simd_setzero_fi() vec_splats((int)0) +#define gmx_simd_cvt_f2i(a) vec_cts(vec_round(a), 0) +#define gmx_simd_cvtt_f2i(a) vec_cts(a, 0) +#define gmx_simd_cvt_i2f(a) vec_ctf(a, 0) +#define gmx_simd_extract_fi(a, i) gmx_simd_extract_fi_ibm_vsx(a, i) +/* Integer logical ops on gmx_simd_fint32_t */ +#define gmx_simd_slli_fi(a, i) vec_sl(a, vec_splats((unsigned int)i)) +#define gmx_simd_srli_fi(a, i) vec_sr(a, vec_splats((unsigned int)i)) +#define gmx_simd_and_fi(a, b) vec_and(a, b) +#define gmx_simd_andnot_fi(a, b) vec_andc(b, a) +#define gmx_simd_or_fi(a, b) vec_or(a, b) +#define gmx_simd_xor_fi(a, b) vec_xor(a, b) +/* Integer arithmetic ops on gmx_simd_fint32_t */ +#define gmx_simd_add_fi(a, b) vec_add(a, b) +#define gmx_simd_sub_fi(a, b) vec_sub(a, b) +#ifdef __GNUC__ +/* gcc-4.9 does not provide vec_mul() for integers */ +# ifdef __BIG_ENDIAN__ +# define gmx_simd_mul_fi(a, b) vec_mulo((__vector short)a, (__vector short)b) +# else +# define gmx_simd_mul_fi(a, b) vec_mule((__vector short)a, (__vector short)b) +# endif +#else +/* IBM xlC */ +# define gmx_simd_mul_fi(a, b) vec_mul(a, b) +#endif +/* Boolean & comparison operations on gmx_simd_float_t */ +#define gmx_simd_fbool_t __vector vsx_bool int +#define gmx_simd_cmpeq_f(a, b) vec_cmpeq(a, b) +#define gmx_simd_cmplt_f(a, b) vec_cmplt(a, b) +#define gmx_simd_cmple_f(a, b) vec_cmple(a, b) +#define gmx_simd_and_fb(a, b) vec_and(a, b) +#define gmx_simd_or_fb(a, b) vec_or(a, b) +#define gmx_simd_anytrue_fb(a) vec_any_ne(a, (__vector vsx_bool int)vec_splats(0)) +#define gmx_simd_blendzero_f(a, sel) vec_and(a, (__vector float)sel) +#define gmx_simd_blendnotzero_f(a, sel) vec_andc(a, (__vector float)sel) +#define gmx_simd_blendv_f(a, b, sel) vec_sel(a, b, sel) +#define gmx_simd_reduce_f(a) gmx_simd_reduce_f_ibm_vsx(a) +/* Boolean & comparison operations on gmx_simd_fint32_t */ +#define gmx_simd_fibool_t __vector vsx_bool int +#define gmx_simd_cmpeq_fi(a, b) vec_cmpeq(a, b) +#define gmx_simd_cmplt_fi(a, b) vec_cmplt(a, b) +#define gmx_simd_and_fib(a, b) vec_and(a, b) +#define gmx_simd_or_fib(a, b) vec_or(a, b) +#define gmx_simd_anytrue_fib(a) vec_any_ne(a, (__vector vsx_bool int)vec_splats(0)) +#define gmx_simd_blendzero_fi(a, sel) vec_and(a, (__vector signed int)sel) +#define gmx_simd_blendnotzero_fi(a, sel) vec_andc(a, (__vector signed int)sel) +#define gmx_simd_blendv_fi(a, b, sel) vec_sel(a, b, sel) +/* Conversions between different booleans */ +#define gmx_simd_cvt_fb2fib(x) (x) +#define gmx_simd_cvt_fib2fb(x) (x) + +/**************************************************** + * DOUBLE PRECISION SIMD IMPLEMENTATION * + ****************************************************/ +#define gmx_simd_double_t __vector double +#ifdef __GNUC__ +# define gmx_simd_load_d(m) vec_vsx_ld(0, (const __vector double *)(m)) +# define gmx_simd_store_d(m, x) vec_vsx_st(x, 0, (__vector double *)(m)) +#else +/* IBM xlC */ +# define gmx_simd_load_d(m) vec_xld2(0, (double *)(m)) +# define gmx_simd_store_d(m, x) vec_xstd2(x, 0, (double *)(m)) +#endif +#define gmx_simd_load1_d(m) vec_splats((double)(*m)) +#define gmx_simd_set1_d(x) vec_splats((double)(x)) +#define gmx_simd_loadu_d gmx_simd_load_d +#define gmx_simd_storeu_d gmx_simd_store_d +#define gmx_simd_setzero_d() vec_splats(0.0) +#define gmx_simd_add_d(a, b) vec_add(a, b) +#define gmx_simd_sub_d(a, b) vec_sub(a, b) +#define gmx_simd_mul_d(a, b) vec_mul(a, b) +#define gmx_simd_fmadd_d(a, b, c) vec_madd(a, b, c) +#define gmx_simd_fmsub_d(a, b, c) vec_msub(a, b, c) +/* IBM uses an alternative FMA definition, so -a*b+c=-(a*b-c) is "nmsub" */ +#define gmx_simd_fnmadd_d(a, b, c) vec_nmsub(a, b, c) +/* IBM uses an alternative FMA definition, so -a*b-c=-(a*b+c) is "nmadd" */ +#define gmx_simd_fnmsub_d(a, b, c) vec_nmadd(a, b, c) +#define gmx_simd_and_d(a, b) vec_and(a, b) +#define gmx_simd_andnot_d(a, b) vec_andc(b, a) +#define gmx_simd_or_d(a, b) vec_or(a, b) +#define gmx_simd_xor_d(a, b) vec_xor(a, b) +#define gmx_simd_rsqrt_d(a) vec_rsqrte(a) +#define gmx_simd_rcp_d(a) vec_re(a) +#define gmx_simd_fabs_d(a) vec_abs(a) +#ifdef __GNUC__ +/* gcc up to at least version 4.9 is missing intrinsics for vec_neg(), use inline asm. */ +# define gmx_simd_fneg_d(a) ({ __vector double res; __asm__ ("xvnegdp %0,%1" : \ + "=ww" (res) : "ww" ((__vector double) (a))); res; }) +#else +/* IBM xlC */ +# define gmx_simd_fneg_d(a) vec_neg(a) +#endif +#define gmx_simd_max_d(a, b) vec_max(a, b) +#define gmx_simd_min_d(a, b) vec_min(a, b) +#ifdef __GNUC__ +/* gcc up to at least version 4.9 does not support vec_round() in double precision. */ +# define gmx_simd_round_d(a) ({ __vector double res; __asm__ ("xvrdpi %0,%1" : \ + "=ww" (res) : "ww" ((__vector double) (a))); res; }) +#else +/* IBM xlC */ +# define gmx_simd_round_d(a) vec_round(a) +#endif +#define gmx_simd_trunc_d(a) vec_trunc(a) +#define gmx_simd_fraction_d(x) vec_sub(x, vec_trunc(x)) +#define gmx_simd_get_exponent_d(a) gmx_simd_get_exponent_d_ibm_vsx(a) +#define gmx_simd_get_mantissa_d(a) gmx_simd_get_mantissa_d_ibm_vsx(a) +#define gmx_simd_set_exponent_d(a) gmx_simd_set_exponent_d_ibm_vsx(a) +/* integer datatype corresponding to double: gmx_simd_dint32_t */ +#define gmx_simd_dint32_t __vector signed int +#define gmx_simd_load_di(m) gmx_simd_load_di_ibm_vsx(m) +#define gmx_simd_store_di(m, x) gmx_simd_store_di_ibm_vsx(m, x) +#define gmx_simd_set1_di(i) vec_splats((int)(i)) +#define gmx_simd_loadu_di gmx_simd_load_di +#define gmx_simd_storeu_di gmx_simd_store_di +#define gmx_simd_setzero_di() vec_splats((int)0) +#ifdef __GNUC__ +/* gcc up to at least version 4.9 is missing intrinsics for double precision + * to integer conversion, use inline asm instead. + */ +# define gmx_simd_cvtt_d2i(a) ({ __vector signed int res; __asm__ ("xvcvdpsxws %0,%1" : \ + "=ww" (res) : "ww" ((__vector double) (a))); res; }) +# define gmx_simd_cvt_i2d(a) ({ __vector double res; __asm__ ("xvcvsxwdp %0,%1" : \ + "=ww" (res) : "ww" ((__vector signed int) (a))); res; }) +#else +/* IBM xlC */ +# define gmx_simd_cvtt_d2i(a) vec_cts(a, 0) +# define gmx_simd_cvt_i2d(a) vec_ctd(a, 0) +#endif +#define gmx_simd_cvt_d2i(a) gmx_simd_cvtt_d2i(gmx_simd_round_d(a)) +#define gmx_simd_extract_di(a, i) gmx_simd_extract_fi_ibm_vsx(a, (i)*2) +/* Integer logical ops on gmx_simd_dint32_t */ +#define gmx_simd_slli_di(a, i) vec_sl(a, vec_splats((unsigned int)i)) +#define gmx_simd_srli_di(a, i) vec_sr(a, vec_splats((unsigned int)i)) +#define gmx_simd_and_di(a, b) vec_and(a, b) +#define gmx_simd_andnot_di(a, b) vec_andc(b, a) +#define gmx_simd_or_di(a, b) vec_or(a, b) +#define gmx_simd_xor_di(a, b) vec_xor(a, b) +/* Integer arithmetic ops on gmx_simd_dint32_t */ +#define gmx_simd_add_di(a, b) vec_add(a, b) +#define gmx_simd_sub_di(a, b) vec_sub(a, b) +#ifdef __GNUC__ +/* gcc 4.9 does not provide vec_mul() for integers */ +# ifdef __BIG_ENDIAN__ +# define gmx_simd_mul_di(a, b) vec_mulo((__vector short)a, (__vector short)b) +# else +# define gmx_simd_mul_di(a, b) vec_mule((__vector short)a, (__vector short)b) +# endif +#else +/* IBM xlC */ +# define gmx_simd_mul_di(a, b) vec_mul(a, b) +#endif +/* Boolean & comparison operations on gmx_simd_double_t */ +#define gmx_simd_dbool_t __vector vsx_bool long long +#define gmx_simd_cmpeq_d(a, b) vec_cmpeq(a, b) +#define gmx_simd_cmplt_d(a, b) vec_cmplt(a, b) +#define gmx_simd_cmple_d(a, b) vec_cmple(a, b) +#define gmx_simd_and_db(a, b) (__vector vsx_bool long long)vec_and((__vector signed int)a, (__vector signed int)b) +#define gmx_simd_or_db(a, b) (__vector vsx_bool long long)vec_or((__vector signed int)a, (__vector signed int)b) +#define gmx_simd_anytrue_db(a) vec_any_ne((__vector vsx_bool int)a, (__vector vsx_bool int)vec_splats(0)) +#define gmx_simd_blendzero_d(a, sel) vec_and(a, (__vector double)sel) +#define gmx_simd_blendnotzero_d(a, sel) vec_andc(a, (__vector double)sel) +#define gmx_simd_blendv_d(a, b, sel) vec_sel(a, b, sel) +#define gmx_simd_reduce_d(a) gmx_simd_reduce_d_ibm_vsx(a) +/* Boolean & comparison operations on gmx_simd_fint32_t */ +#define gmx_simd_dibool_t __vector vsx_bool int +#define gmx_simd_cmpeq_di(a, b) vec_cmpeq(a, b) +#define gmx_simd_cmplt_di(a, b) vec_cmplt(a, b) +#define gmx_simd_and_dib(a, b) vec_and(a, b) +#define gmx_simd_or_dib(a, b) vec_or(a, b) +/* Since we have applied all operations to pairs of elements we can work on all elements here */ +#define gmx_simd_anytrue_dib(a) vec_any_ne(a, (__vector vsx_bool int)vec_splats(0)) +#define gmx_simd_blendzero_di(a, sel) vec_and(a, (__vector signed int)sel) +#define gmx_simd_blendnotzero_di(a, sel) vec_andc(a, (__vector signed int)sel) +#define gmx_simd_blendv_di(a, b, sel) vec_sel(a, b, sel) +/* Conversions between different booleans */ +#define gmx_simd_cvt_db2dib(x) (__vector vsx_bool int)(x) +#define gmx_simd_cvt_dib2db(x) (__vector vsx_bool long long)(x) +/* Float/double conversion */ +#define gmx_simd_cvt_f2dd(f, d0, d1) gmx_simd_cvt_f2dd_ibm_vsx(f, d0, d1) +#define gmx_simd_cvt_dd2f(d0, d1) gmx_simd_cvt_dd2f_ibm_vsx(d0, d1) + +/* Convenience defines to work around GCC/xlc compiler differences */ + +#ifdef __GNUC__ +/* vec_xxsldwi() and vec_xxpermdi() were missing from altivec.h + * in gcc-4.8, but the builtins are available. This was fixed in gcc-4.9. + */ +# ifndef vec_xxsldwi +# define vec_xxsldwi __builtin_vsx_xxsldwi +# endif +# ifndef vec_xxpermdi +# define vec_xxpermdi __builtin_vsx_xxpermdi +# endif +/* gcc up to at least 4.9 is missing intrinsics for + * double-to-float and float-to-double conversions. Use inline asm. + */ +# define gmx_vsx_f2d(x) ({ __vector double res; __asm__ ("xvcvspdp %0,%1" : \ + "=ww" (res) : "ww" ((__vector float) (x))); res; }) +# define gmx_vsx_d2f(x) ({ __vector float res; __asm__ ("xvcvdpsp %0,%1" : \ + "=ww" (res) : "ww" ((__vector double) (x))); res; }) +#else +/* IBM xlC */ +# define vec_xxsldwi vec_sldw +# define vec_xxpermdi vec_permi +/* f2d and d2f are indeed identical on xlC; it is selected by the argument and result type. */ +# define gmx_vsx_f2d(x) vec_cvf(x) +# define gmx_vsx_d2f(x) vec_cvf(x) +#endif + + +/**************************************************** + * SINGLE PREC. IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline gmx_simd_float_t +gmx_simd_get_exponent_f_ibm_vsx(gmx_simd_float_t x) +{ + /* Generate 0x7F800000 without memory operations */ + gmx_simd_float_t expmask = (__vector float)vec_splats(0x7F800000); + gmx_simd_fint32_t i127 = vec_splats(127); + gmx_simd_fint32_t iexp; + + iexp = (__vector signed int)gmx_simd_and_f(x, expmask); + iexp = vec_sub(gmx_simd_srli_fi(iexp, 23), i127); + return vec_ctf(iexp, 0); +} + +static gmx_inline gmx_simd_float_t +gmx_simd_get_mantissa_f_ibm_vsx(gmx_simd_float_t x) +{ + gmx_simd_float_t expmask = (__vector float)vec_splats(0x7F800000); + + x = gmx_simd_andnot_f(expmask, vec_abs(x)); + /* Reset zero (but correctly biased) exponent */ + return gmx_simd_or_f(x, vec_splats(1.0f)); +} + +static gmx_inline gmx_simd_float_t +gmx_simd_set_exponent_f_ibm_vsx(gmx_simd_float_t x) +{ + gmx_simd_fint32_t iexp = gmx_simd_cvt_f2i(x); + gmx_simd_fint32_t i127 = vec_splats(127); + + iexp = gmx_simd_slli_fi(vec_add(iexp, i127), 23); + return (__vector float)iexp; +} + +static gmx_inline float +gmx_simd_reduce_f_ibm_vsx(gmx_simd_float_t x) +{ + x = vec_add(x, vec_xxsldwi(x, x, 2)); + x = vec_add(x, vec_xxsldwi(x, x, 1)); + return vec_extract(x, 0); +} + +static gmx_inline int +gmx_simd_extract_fi_ibm_vsx(gmx_simd_fint32_t gmx_unused x, unsigned int i) +{ + /* For some reason gcc-4.9 warns about x being unused, which it isn't. */ +#if (defined __GNUC__) && (defined __LITTLE_ENDIAN__) + /* On Power7 and earlier big-endian architecture the GNU version of vec_extract() + * works fine, but it appears to be buggy on Power8 running in little-endian mode. + * Use inline assembly instead. Since this can only happen on Power8 and later, + * we can use a Power8-specific direct move instruction. + */ + int res; + __asm__ ("mfvsrwz %0,%1" : "=r" (res) : \ + "ww" ((vec_xxsldwi((x), (x), (((2-(i))&0x3 )))))); + return res; +#else + /* IBM xlC, and GNU when running in big-endian mode */ + return vec_extract(x, i); +#endif +} + +/**************************************************** + * DOUBLE PREC. IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline gmx_simd_dint32_t +gmx_simd_load_di_ibm_vsx(const int *m) +{ + __vector signed int vi; + __vector signed int d0 = vec_splats(m[0]); + __vector signed int d1 = vec_splats(m[1]); +#ifdef __LITTLE_ENDIAN__ + vi = (__vector signed int)vec_xxpermdi((__vector double)d1, (__vector double)d0, 0x0); +#else + vi = (__vector signed int)vec_xxpermdi((__vector double)d0, (__vector double)d1, 0x0); +#endif + return vi; +} + +static gmx_inline void +gmx_simd_store_di_ibm_vsx(int *m, gmx_simd_dint32_t x) +{ + m[0] = gmx_simd_extract_di(x, 0); + m[1] = gmx_simd_extract_di(x, 1); +} + +static gmx_inline gmx_simd_double_t +gmx_simd_get_exponent_d_ibm_vsx(gmx_simd_double_t x) +{ + gmx_simd_double_t expmask = (__vector double)vec_mergel(vec_splats((int)0x7FF00000), vec_splats((int)0)); + gmx_simd_dint32_t i1023 = vec_splats(1023); + gmx_simd_dint32_t iexp; + + iexp = (__vector signed int)gmx_simd_and_d(x, expmask); + /* The upper half of each double is already in positions 0/2, so we only need + * to shift by another 52-32=20 bits. + */ + iexp = gmx_simd_srli_fi(iexp, 20); + iexp = vec_sub(iexp, i1023); + /* Now we have the correct integer in elements 0 & 2. Never mind about elements 1,3 */ + return gmx_simd_cvt_i2d(iexp); +} + +static gmx_inline gmx_simd_double_t +gmx_simd_get_mantissa_d_ibm_vsx(gmx_simd_double_t x) +{ + gmx_simd_double_t expmask = (__vector double)vec_mergel(vec_splats((int)0x7FF00000), vec_splats((int)0)); + + x = gmx_simd_andnot_d(expmask, vec_abs(x)); + /* Reset zero (but correctly biased) exponent */ + return gmx_simd_or_d(x, vec_splats(1.0)); +} + +static gmx_inline gmx_simd_double_t +gmx_simd_set_exponent_d_ibm_vsx(gmx_simd_double_t x) +{ + gmx_simd_dint32_t iexp = gmx_simd_cvt_d2i(x); + gmx_simd_dint32_t i1023 = vec_splats(1023); + gmx_simd_dint32_t tmp; + + iexp = vec_add(iexp, i1023); + /* exponent is now present in pairs of integers; 0011. + * Elements 0/2 already correspond to the upper half of each double, + * so we only need to shift by another 52-32=20 bits. + * The remaining elements 1/3 are shifted by 32 bits to make them zero. + */ + iexp = vec_sl(iexp, (__vector unsigned int)vec_splats((int)20)); + tmp = vec_mergeh(iexp, iexp); + iexp = vec_mergel(tmp, iexp); + iexp = vec_mergel(iexp, gmx_simd_setzero_di()); + return (__vector double)iexp; +} + +static gmx_inline double +gmx_simd_reduce_d_ibm_vsx(gmx_simd_double_t x) +{ + x = vec_add(x, vec_xxsldwi(x, x, 2)); + return vec_extract(x, 0); +} + + +/**************************************************** + * CONVERSION IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline void +gmx_simd_cvt_f2dd_ibm_vsx(gmx_simd_float_t f0, + gmx_simd_double_t * d0, gmx_simd_double_t * d1) +{ + __vector float fA, fB; + fA = vec_mergel(f0, f0); /* 0011 */ + fB = vec_mergeh(f0, f0); /* 2233 */ + *d0 = gmx_vsx_f2d(fA); /* 01 */ + *d1 = gmx_vsx_f2d(fB); /* 23 */ +} + + +static gmx_inline gmx_simd_float_t +gmx_simd_cvt_dd2f_ibm_vsx(gmx_simd_double_t d0, gmx_simd_double_t d1) +{ + __vector float fA, fB, fC, fD, fE; + fA = gmx_vsx_d2f(d0); /* 0x1x */ + fB = gmx_vsx_d2f(d1); /* 2x3x */ + fC = vec_mergel(fA, fB); /* 02xx */ + fD = vec_mergeh(fA, fB); /* 13xx */ + fE = vec_mergel(fD, fC); /* 0123 */ + return fE; +} + +/* Single precision VSX is 4 elements wide, use for SIMD4 */ +#define gmx_simd4_float_t gmx_simd_float_t +#define gmx_simd4_load_f gmx_simd_load_f +#define gmx_simd4_load1_f gmx_simd_load1_f +#define gmx_simd4_set1_f gmx_simd_set1_f +#define gmx_simd4_store_f gmx_simd_store_f +#define gmx_simd4_loadu_f gmx_simd_loadu_f +#define gmx_simd4_storeu_f gmx_simd_storeu_f +#define gmx_simd4_setzero_f gmx_simd_setzero_f +#define gmx_simd4_add_f gmx_simd_add_f +#define gmx_simd4_sub_f gmx_simd_sub_f +#define gmx_simd4_mul_f gmx_simd_mul_f +#define gmx_simd4_fmadd_f gmx_simd_fmadd_f +#define gmx_simd4_fmsub_f gmx_simd_fmsub_f +#define gmx_simd4_fnmadd_f gmx_simd_fnmadd_f +#define gmx_simd4_fnmsub_f gmx_simd_fnmsub_f +#define gmx_simd4_and_f gmx_simd_and_f +#define gmx_simd4_andnot_f gmx_simd_andnot_f +#define gmx_simd4_or_f gmx_simd_or_f +#define gmx_simd4_xor_f gmx_simd_xor_f +#define gmx_simd4_rsqrt_f gmx_simd_rsqrt_f +#define gmx_simd4_rcp_f gmx_simd_rcp_f +#define gmx_simd4_fabs_f gmx_simd_fabs_f +#define gmx_simd4_fneg_f gmx_simd_fneg_f +#define gmx_simd4_max_f gmx_simd_max_f +#define gmx_simd4_min_f gmx_simd_min_f +#define gmx_simd4_round_f gmx_simd_round_f +#define gmx_simd4_trunc_f gmx_simd_trunc_f +#define gmx_simd4_fraction_f gmx_simd_fraction_f +#define gmx_simd4_get_exponent_f gmx_simd_get_exponent_f +#define gmx_simd4_get_mantissa_f gmx_simd_get_mantissa_f +#define gmx_simd4_set_exponent_f gmx_simd_set_exponent_f +#define gmx_simd4_dotproduct3_f gmx_simd4_dotproduct3_f_ibm_vsx +#define gmx_simd4_fint32_t gmx_simd_fint32_t +#define gmx_simd4_load_fi gmx_simd_load_fi +#define gmx_simd4_load1_fi gmx_simd_load1_fi +#define gmx_simd4_set1_fi gmx_simd_set1_fi +#define gmx_simd4_store_fi gmx_simd_store_fi +#define gmx_simd4_loadu_fi gmx_simd_loadu_fi +#define gmx_simd4_storeu_fi gmx_simd_storeu_fi +#define gmx_simd4_setzero_fi gmx_simd_setzero_fi +#define gmx_simd4_cvt_f2i gmx_simd_cvt_f2i +#define gmx_simd4_cvtt_f2i gmx_simd_cvtt_f2i +#define gmx_simd4_cvt_i2f gmx_simd_cvt_i2f +#define gmx_simd4_fbool_t gmx_simd_fbool_t +#define gmx_simd4_cmpeq_f gmx_simd_cmpeq_f +#define gmx_simd4_cmplt_f gmx_simd_cmplt_f +#define gmx_simd4_cmple_f gmx_simd_cmple_f +#define gmx_simd4_and_fb gmx_simd_and_fb +#define gmx_simd4_or_fb gmx_simd_or_fb +#define gmx_simd4_anytrue_fb gmx_simd_anytrue_fb +#define gmx_simd4_blendzero_f gmx_simd_blendzero_f +#define gmx_simd4_blendnotzero_f gmx_simd_blendnotzero_f +#define gmx_simd4_blendv_f gmx_simd_blendv_f +#define gmx_simd4_reduce_f gmx_simd_reduce_f + +static gmx_inline float +gmx_simd4_dotproduct3_f_ibm_vsx(gmx_simd4_float_t a, gmx_simd4_float_t b) +{ + gmx_simd4_float_t c = gmx_simd_mul_f(a, b); + gmx_simd4_float_t sum; + sum = vec_add(c, vec_xxsldwi(c, c, 2)); + sum = vec_add(sum, vec_xxsldwi(c, c, 1)); + return vec_extract(sum, 0); +} + +/* Function to check whether SIMD operations have resulted in overflow. + * For now, this is unfortunately a dummy for this architecture. + */ +static int +gmx_simd_check_and_reset_overflow(void) +{ + return 0; +} + +/* Undefine our temporary work-arounds so they are not used by mistake */ +#undef gmx_vsx_f2d +#undef gmx_vsx_d2f + +#endif /* GMX_SIMD_IMPLEMENTATION_IBM_VSX_H */ diff --git a/src/gromacs/simd/impl_intel_mic/impl_intel_mic.h b/src/gromacs/simd/impl_intel_mic/impl_intel_mic.h index e3d49126f0..67418f98d0 100644 --- a/src/gromacs/simd/impl_intel_mic/impl_intel_mic.h +++ b/src/gromacs/simd/impl_intel_mic/impl_intel_mic.h @@ -36,7 +36,10 @@ #ifndef GMX_SIMD_IMPL_INTEL_MIC_H #define GMX_SIMD_IMPL_INTEL_MIC_H +#include "config.h" + #include + #include /* Intel Xeon Phi, or @@ -503,12 +506,25 @@ gmx_simd_exp2_f_mic(__m512 x) static gmx_inline __m512 gmx_simdcall gmx_simd_exp_f_mic(__m512 x) { - /* only 59ulp accuracy so we need to do extra an iteration - Using: http://yacas.sourceforge.net/Algochapter5.html 5.4 Method 3 */ - __m512 r = gmx_simd_exp2_f(_mm512_mul_ps(x, _mm512_set1_ps(1.44269504088896341))); - __mmask16 m = _mm512_cmpneq_ps_mask(r, _mm512_setzero_ps()); - __m512 t = _mm512_mask_fnmadd_ps(_mm512_mask_log2ae23_ps(_mm512_undefined_ps(), m, r), m, _mm512_set1_ps(0.693147180559945286226764), x); - return _mm512_mask_fmadd_ps(r, m, t, r); + const gmx_simd_float_t argscale = gmx_simd_set1_f(1.44269504088896341f); + const gmx_simd_float_t invargscale = gmx_simd_set1_f(-0.69314718055994528623f); + __m512 xscaled = _mm512_mul_ps(x, argscale); + __m512 r = gmx_simd_exp2_f_mic(xscaled); + + /* gmx_simd_exp2_f_mic() provides 23 bits of accuracy, but we ruin some of that + * with the argument scaling due to single-precision rounding, where the + * rounding error is amplified exponentially. To correct this, we find the + * difference between the scaled argument and the true one (extended precision + * arithmetics does not appear to be necessary to fulfill our accuracy requirements) + * and then multiply by the exponent of this correction since exp(a+b)=exp(a)*exp(b). + * Note that this only adds two instructions (and maybe some constant loads). + */ + x = gmx_simd_fmadd_f(invargscale, xscaled, x); + /* x will now be a _very_ small number, so approximate exp(x)=1+x. + * We should thus apply the correction as r'=r*(1+x)=r+r*x + */ + r = gmx_simd_fmadd_f(r, x, r); + return r; } static gmx_inline __m512 gmx_simdcall diff --git a/src/gromacs/simd/impl_reference/impl_reference.h b/src/gromacs/simd/impl_reference/impl_reference.h index 5269fa14e5..c4f6f776ca 100644 --- a/src/gromacs/simd/impl_reference/impl_reference.h +++ b/src/gromacs/simd/impl_reference/impl_reference.h @@ -48,7 +48,7 @@ #include -#include "gmx_fatal.h" +#include "gromacs/utility/fatalerror.h" /*! \cond libapi */ /*! \addtogroup module_simd */ diff --git a/src/gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h b/src/gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h index a05e12ebbb..e19320add3 100644 --- a/src/gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h +++ b/src/gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h @@ -36,7 +36,10 @@ #ifndef GMX_SIMD_IMPL_X86_AVX2_256_H #define GMX_SIMD_IMPL_X86_AVX2_256_H +#include "config.h" + #include + #include /* x86 256-bit AVX2 SIMD instruction wrappers diff --git a/src/gromacs/simd/impl_x86_avx_128_fma/impl_x86_avx_128_fma.h b/src/gromacs/simd/impl_x86_avx_128_fma/impl_x86_avx_128_fma.h index 5b3096bee3..c13e847ffa 100644 --- a/src/gromacs/simd/impl_x86_avx_128_fma/impl_x86_avx_128_fma.h +++ b/src/gromacs/simd/impl_x86_avx_128_fma/impl_x86_avx_128_fma.h @@ -36,7 +36,10 @@ #ifndef GMX_SIMD_IMPL_X86_AVX_128_FMA_H #define GMX_SIMD_IMPL_X86_AVX_128_FMA_H +#include "config.h" + #include + #include #include diff --git a/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h b/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h index cff1a7e2cb..999b417d68 100644 --- a/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h +++ b/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h @@ -36,7 +36,10 @@ #ifndef GMX_SIMD_IMPL_X86_AVX_256_H #define GMX_SIMD_IMPL_X86_AVX_256_H +#include "config.h" + #include + #include /* It is cleaner to start the AVX implementation from scratch rather than @@ -117,11 +120,11 @@ #define gmx_simd_set_exponent_f gmx_simd_set_exponent_f_avx_256 /* integer datatype corresponding to float: gmx_simd_fint32_t */ #define gmx_simd_fint32_t __m256i -#define gmx_simd_load_fi(m) _mm256_castps_si256(_mm256_load_ps((const float *)m)) +#define gmx_simd_load_fi(m) _mm256_load_si256((__m256i const*)m) #define gmx_simd_set1_fi _mm256_set1_epi32 -#define gmx_simd_store_fi(m, x) _mm256_store_ps((float *)m, _mm256_castsi256_ps(x)) -#define gmx_simd_loadu_fi(m) _mm256_castps_si256(_mm256_loadu_ps((const float *)m)) -#define gmx_simd_storeu_fi(m, x) _mm256_storeu_ps((float *)m, _mm256_castsi256_ps(x)) +#define gmx_simd_store_fi(m, x) _mm256_store_si256((__m256i *)m, x) +#define gmx_simd_loadu_fi(m) _mm256_loadu_si256((__m256i const*)m) +#define gmx_simd_storeu_fi(m, x) _mm256_storeu_si256((__m256i *)m, x) #define gmx_simd_setzero_fi _mm256_setzero_si256 #define gmx_simd_cvt_f2i _mm256_cvtps_epi32 #define gmx_simd_cvtt_f2i _mm256_cvttps_epi32 diff --git a/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h b/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h index 7aab27ae21..2d3f908f56 100644 --- a/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h +++ b/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h @@ -36,7 +36,10 @@ #ifndef GMX_SIMD_IMPL_X86_SSE2_H #define GMX_SIMD_IMPL_X86_SSE2_H +#include "config.h" + #include + #include /* Set capabilities that can be inherited */ diff --git a/src/gromacs/simd/impl_x86_sse4_1/impl_x86_sse4_1.h b/src/gromacs/simd/impl_x86_sse4_1/impl_x86_sse4_1.h index 946ae1e866..8b8384a835 100644 --- a/src/gromacs/simd/impl_x86_sse4_1/impl_x86_sse4_1.h +++ b/src/gromacs/simd/impl_x86_sse4_1/impl_x86_sse4_1.h @@ -36,9 +36,11 @@ #ifndef GMX_SIMD_IMPL_X86_SSE4_1_H #define GMX_SIMD_IMPL_X86_SSE4_1_H +#include "config.h" + #include -#include +#include /* x86 SSE4.1 SIMD instruction wrappers * diff --git a/src/gromacs/simd/math_x86_avx_128_fma_double.h b/src/gromacs/simd/math_x86_avx_128_fma_double.h index fed6d54694..9ee80edbd7 100644 --- a/src/gromacs/simd/math_x86_avx_128_fma_double.h +++ b/src/gromacs/simd/math_x86_avx_128_fma_double.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_AVX_128_FMA_DOUBLE_H #define GMX_SIMD_MATH_AVX_128_FMA_DOUBLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/math_x86_avx_128_fma_single.h b/src/gromacs/simd/math_x86_avx_128_fma_single.h index fc7113dd3a..014508d977 100644 --- a/src/gromacs/simd/math_x86_avx_128_fma_single.h +++ b/src/gromacs/simd/math_x86_avx_128_fma_single.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_AVX_128_FMA_SINGLE_H #define GMX_SIMD_MATH_AVX_128_FMA_SINGLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/math_x86_avx_256_double.h b/src/gromacs/simd/math_x86_avx_256_double.h index 8eb7941765..6a1963cbaf 100644 --- a/src/gromacs/simd/math_x86_avx_256_double.h +++ b/src/gromacs/simd/math_x86_avx_256_double.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_AVX_256_DOUBLE_H #define GMX_SIMD_MATH_AVX_256_DOUBLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/math_x86_avx_256_single.h b/src/gromacs/simd/math_x86_avx_256_single.h index b23712a259..ad72a10579 100644 --- a/src/gromacs/simd/math_x86_avx_256_single.h +++ b/src/gromacs/simd/math_x86_avx_256_single.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_AVX_256_SINGLE_H #define GMX_SIMD_MATH_AVX_256_SINGLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/math_x86_sse2_double.h b/src/gromacs/simd/math_x86_sse2_double.h index 9332dc3d36..857f4ee2ef 100644 --- a/src/gromacs/simd/math_x86_sse2_double.h +++ b/src/gromacs/simd/math_x86_sse2_double.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_SSE2_DOUBLE_H #define GMX_SIMD_MATH_SSE2_DOUBLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/math_x86_sse2_single.h b/src/gromacs/simd/math_x86_sse2_single.h index 054fd2c1bc..67ebf7f7cd 100644 --- a/src/gromacs/simd/math_x86_sse2_single.h +++ b/src/gromacs/simd/math_x86_sse2_single.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_SSE2_SINGLE_H #define GMX_SIMD_MATH_SSE2_SINGLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/math_x86_sse4_1_double.h b/src/gromacs/simd/math_x86_sse4_1_double.h index 4d8955a51c..e7f7a06249 100644 --- a/src/gromacs/simd/math_x86_sse4_1_double.h +++ b/src/gromacs/simd/math_x86_sse4_1_double.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_SSE4_1_DOUBLE_H #define GMX_SIMD_MATH_SSE4_1_DOUBLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/math_x86_sse4_1_single.h b/src/gromacs/simd/math_x86_sse4_1_single.h index 2fbdf23b3a..7c78dd57b9 100644 --- a/src/gromacs/simd/math_x86_sse4_1_single.h +++ b/src/gromacs/simd/math_x86_sse4_1_single.h @@ -35,7 +35,7 @@ #ifndef GMX_SIMD_MATH_SSE4_1_SINGLE_H #define GMX_SIMD_MATH_SSE4_1_SINGLE_H -#include "simd_math.h" +#include "gromacs/simd/simd_math.h" /* Temporary: * Alias some old SSE definitions to new SIMD definitions so we don't need diff --git a/src/gromacs/simd/simd.h b/src/gromacs/simd/simd.h index 8ef1c8cac4..485025c18b 100644 --- a/src/gromacs/simd/simd.h +++ b/src/gromacs/simd/simd.h @@ -70,12 +70,11 @@ * \ingroup module_simd */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #include -#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); @@ -113,28 +112,36 @@ static gmx_inline double * gmx_simd4_align_d(double *p); * file with different SIMD definitions for different files. */ #if defined __MIC__ -# include "gromacs/simd/impl_intel_mic/impl_intel_mic.h" +# include "impl_intel_mic/impl_intel_mic.h" #elif defined GMX_SIMD_X86_AVX2_256 -# include "gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h" +# include "impl_x86_avx2_256/impl_x86_avx2_256.h" #elif defined GMX_SIMD_X86_AVX_256 -# include "gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h" +# include "impl_x86_avx_256/impl_x86_avx_256.h" #elif defined GMX_SIMD_X86_AVX_128_FMA -# include "gromacs/simd/impl_x86_avx_128_fma/impl_x86_avx_128_fma.h" +# include "impl_x86_avx_128_fma/impl_x86_avx_128_fma.h" #elif defined GMX_SIMD_X86_SSE4_1 -# include "gromacs/simd/impl_x86_sse4_1/impl_x86_sse4_1.h" +# include "impl_x86_sse4_1/impl_x86_sse4_1.h" #elif defined GMX_SIMD_X86_SSE2 -# include "gromacs/simd/impl_x86_sse2/impl_x86_sse2.h" +# include "impl_x86_sse2/impl_x86_sse2.h" +#elif defined GMX_SIMD_ARM_NEON +# include "impl_arm_neon/impl_arm_neon.h" +#elif defined GMX_SIMD_ARM_NEON_ASIMD +# include "impl_arm_neon_asimd/impl_arm_neon_asimd.h" #elif defined GMX_SIMD_IBM_QPX -# include "gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h" +# include "impl_ibm_qpx/impl_ibm_qpx.h" +#elif defined GMX_SIMD_IBM_VMX +# include "impl_ibm_vmx/impl_ibm_vmx.h" +#elif defined GMX_SIMD_IBM_VSX +# include "impl_ibm_vsx/impl_ibm_vsx.h" #elif defined GMX_SIMD_SPARC64_HPC_ACE -# include "gromacs/simd/impl_sparc64_hpc_ace/impl_sparc64_hpc_ace.h" +# include "impl_sparc64_hpc_ace/impl_sparc64_hpc_ace.h" #elif (defined GMX_SIMD_REFERENCE) || (defined DOXYGEN) /* Plain C SIMD reference implementation, also serves as documentation. * For now this code path will also be taken for Sparc64_HPC_ACE since we have * not yet added the verlet kernel extensions there. The group kernels do not * depend on this file, so they will still be accelerated with SIMD. */ -# include "gromacs/simd/impl_reference/impl_reference.h" +# include "impl_reference/impl_reference.h" #else /* Turn off the GMX_SIMD flag if we do not even have reference support */ # undef GMX_SIMD diff --git a/src/gromacs/simd/simd_math.h b/src/gromacs/simd/simd_math.h index 68ab6774ef..e2cbacdd3a 100644 --- a/src/gromacs/simd/simd_math.h +++ b/src/gromacs/simd/simd_math.h @@ -55,6 +55,8 @@ * \ingroup module_simd */ +#include "config.h" + #include #include "gromacs/math/utilities.h" @@ -130,6 +132,7 @@ gmx_simd_xor_sign_f(gmx_simd_float_t a, gmx_simd_float_t b) #endif } +#ifndef gmx_simd_rsqrt_iter_f /*! \brief Perform one Newton-Raphson iteration to improve 1/sqrt(x) for SIMD float. * * This is a low-level routine that should only be used by SIMD math routine @@ -148,6 +151,7 @@ gmx_simd_rsqrt_iter_f(gmx_simd_float_t lu, gmx_simd_float_t x) return gmx_simd_mul_f(gmx_simd_set1_f(0.5f), gmx_simd_mul_f(gmx_simd_sub_f(gmx_simd_set1_f(3.0f), gmx_simd_mul_f(gmx_simd_mul_f(lu, lu), x)), lu)); # endif } +#endif /*! \brief Calculate 1/sqrt(x) for SIMD float. * @@ -192,6 +196,7 @@ gmx_simd_invsqrt_pair_f(gmx_simd_float_t x0, gmx_simd_float_t x1, *out1 = gmx_simd_invsqrt_f(x1); } +#ifndef gmx_simd_rcp_iter_f /*! \brief Perform one Newton-Raphson iteration to improve 1/x for SIMD float. * * This is a low-level routine that should only be used by SIMD math routine @@ -206,6 +211,7 @@ gmx_simd_rcp_iter_f(gmx_simd_float_t lu, gmx_simd_float_t x) { return gmx_simd_mul_f(lu, gmx_simd_fnmadd_f(lu, x, gmx_simd_set1_f(2.0f))); } +#endif /*! \brief Calculate 1/x for SIMD float. * @@ -354,8 +360,8 @@ gmx_simd_exp_f(gmx_simd_float_t x) const gmx_simd_float_t argscale = gmx_simd_set1_f(1.44269504088896341f); /* Lower bound: Disallow numbers that would lead to an IEEE fp exponent reaching +-127. */ const gmx_simd_float_t arglimit = gmx_simd_set1_f(126.0f); - const gmx_simd_float_t invargscale0 = gmx_simd_set1_f(0.693145751953125f); - const gmx_simd_float_t invargscale1 = gmx_simd_set1_f(1.428606765330187045e-06f); + const gmx_simd_float_t invargscale0 = gmx_simd_set1_f(-0.693145751953125f); + const gmx_simd_float_t invargscale1 = gmx_simd_set1_f(-1.428606765330187045e-06f); const gmx_simd_float_t CC4 = gmx_simd_set1_f(0.00136324646882712841033936f); const gmx_simd_float_t CC3 = gmx_simd_set1_f(0.00836596917361021041870117f); const gmx_simd_float_t CC2 = gmx_simd_set1_f(0.0416710823774337768554688f); @@ -374,8 +380,8 @@ gmx_simd_exp_f(gmx_simd_float_t x) fexppart = gmx_simd_blendzero_f(fexppart, valuemask); /* Extended precision arithmetics */ - x = gmx_simd_fnmadd_f(invargscale0, intpart, x); - x = gmx_simd_fnmadd_f(invargscale1, intpart, x); + x = gmx_simd_fmadd_f(invargscale0, intpart, x); + x = gmx_simd_fmadd_f(invargscale1, intpart, x); p = gmx_simd_fmadd_f(CC4, x, CC3); p = gmx_simd_fmadd_f(p, x, CC2); @@ -703,10 +709,10 @@ static gmx_inline void gmx_simdcall gmx_simd_sincos_f(gmx_simd_float_t x, gmx_simd_float_t *sinval, gmx_simd_float_t *cosval) { /* Constants to subtract Pi/4*x from y while minimizing precision loss */ - const gmx_simd_float_t argred0 = gmx_simd_set1_f(1.5703125); - const gmx_simd_float_t argred1 = gmx_simd_set1_f(4.83751296997070312500e-04f); - const gmx_simd_float_t argred2 = gmx_simd_set1_f(7.54953362047672271729e-08f); - const gmx_simd_float_t argred3 = gmx_simd_set1_f(2.56334406825708960298e-12f); + const gmx_simd_float_t argred0 = gmx_simd_set1_f(-1.5703125); + const gmx_simd_float_t argred1 = gmx_simd_set1_f(-4.83751296997070312500e-04f); + const gmx_simd_float_t argred2 = gmx_simd_set1_f(-7.54953362047672271729e-08f); + const gmx_simd_float_t argred3 = gmx_simd_set1_f(-2.56334406825708960298e-12f); const gmx_simd_float_t two_over_pi = gmx_simd_set1_f(2.0f/M_PI); const gmx_simd_float_t const_sin2 = gmx_simd_set1_f(-1.9515295891e-4f); const gmx_simd_float_t const_sin1 = gmx_simd_set1_f( 8.3321608736e-3f); @@ -784,10 +790,10 @@ gmx_simd_sincos_f(gmx_simd_float_t x, gmx_simd_float_t *sinval, gmx_simd_float_t /* where mask is FALSE, set sign. */ csign = gmx_simd_xor_sign_f(csign, gmx_simd_blendv_f(gmx_simd_set1_f(-1.0f), one, mask)); #endif - x = gmx_simd_fnmadd_f(y, argred0, x); - x = gmx_simd_fnmadd_f(y, argred1, x); - x = gmx_simd_fnmadd_f(y, argred2, x); - x = gmx_simd_fnmadd_f(y, argred3, x); + x = gmx_simd_fmadd_f(y, argred0, x); + x = gmx_simd_fmadd_f(y, argred1, x); + x = gmx_simd_fmadd_f(y, argred2, x); + x = gmx_simd_fmadd_f(y, argred3, x); x2 = gmx_simd_mul_f(x, x); psin = gmx_simd_fmadd_f(const_sin2, x2, const_sin1); @@ -856,10 +862,10 @@ gmx_simd_cos_f(gmx_simd_float_t x) static gmx_inline gmx_simd_float_t gmx_simdcall gmx_simd_tan_f(gmx_simd_float_t x) { - const gmx_simd_float_t argred0 = gmx_simd_set1_f(1.5703125); - const gmx_simd_float_t argred1 = gmx_simd_set1_f(4.83751296997070312500e-04f); - const gmx_simd_float_t argred2 = gmx_simd_set1_f(7.54953362047672271729e-08f); - const gmx_simd_float_t argred3 = gmx_simd_set1_f(2.56334406825708960298e-12f); + const gmx_simd_float_t argred0 = gmx_simd_set1_f(-1.5703125); + const gmx_simd_float_t argred1 = gmx_simd_set1_f(-4.83751296997070312500e-04f); + const gmx_simd_float_t argred2 = gmx_simd_set1_f(-7.54953362047672271729e-08f); + const gmx_simd_float_t argred3 = gmx_simd_set1_f(-2.56334406825708960298e-12f); const gmx_simd_float_t two_over_pi = gmx_simd_set1_f(2.0f/M_PI); const gmx_simd_float_t CT6 = gmx_simd_set1_f(0.009498288995810566122993911); const gmx_simd_float_t CT5 = gmx_simd_set1_f(0.002895755790837379295226923); @@ -880,10 +886,10 @@ gmx_simd_tan_f(gmx_simd_float_t x) y = gmx_simd_round_f(z); mask = gmx_simd_cvt_fib2fb(gmx_simd_cmpeq_fi(gmx_simd_and_fi(iy, ione), ione)); - x = gmx_simd_fnmadd_f(y, argred0, x); - x = gmx_simd_fnmadd_f(y, argred1, x); - x = gmx_simd_fnmadd_f(y, argred2, x); - x = gmx_simd_fnmadd_f(y, argred3, x); + x = gmx_simd_fmadd_f(y, argred0, x); + x = gmx_simd_fmadd_f(y, argred1, x); + x = gmx_simd_fmadd_f(y, argred2, x); + x = gmx_simd_fmadd_f(y, argred3, x); x = gmx_simd_xor_f(gmx_simd_blendzero_f(gmx_simd_set1_f(GMX_FLOAT_NEGZERO), mask), x); #else const gmx_simd_float_t quarter = gmx_simd_set1_f(0.25f); @@ -902,10 +908,10 @@ gmx_simd_tan_f(gmx_simd_float_t x) m3 = gmx_simd_cmple_f(threequarter, q); m1 = gmx_simd_and_fb(m1, m2); mask = gmx_simd_or_fb(m1, m3); - w = gmx_simd_fnmadd_f(y, argred0, w); - w = gmx_simd_fnmadd_f(y, argred1, w); - w = gmx_simd_fnmadd_f(y, argred2, w); - w = gmx_simd_fnmadd_f(y, argred3, w); + w = gmx_simd_fmadd_f(y, argred0, w); + w = gmx_simd_fmadd_f(y, argred1, w); + w = gmx_simd_fmadd_f(y, argred2, w); + w = gmx_simd_fmadd_f(y, argred3, w); w = gmx_simd_blendv_f(w, gmx_simd_fneg_f(w), mask); x = gmx_simd_xor_sign_f(w, x); @@ -1344,6 +1350,7 @@ gmx_simd_xor_sign_d(gmx_simd_double_t a, gmx_simd_double_t b) #endif } +#ifndef gmx_simd_rsqrt_iter_d /*! \brief Perform one Newton-Raphson iteration to improve 1/sqrt(x) for SIMD double. * * \copydetails gmx_simd_rsqrt_iter_f @@ -1357,7 +1364,7 @@ gmx_simd_rsqrt_iter_d(gmx_simd_double_t lu, gmx_simd_double_t x) return gmx_simd_mul_d(gmx_simd_set1_d(0.5), gmx_simd_mul_d(gmx_simd_sub_d(gmx_simd_set1_d(3.0), gmx_simd_mul_d(gmx_simd_mul_d(lu, lu), x)), lu)); #endif } - +#endif /*! \brief Calculate 1/sqrt(x) for SIMD double * @@ -1422,6 +1429,7 @@ gmx_simd_invsqrt_pair_d(gmx_simd_double_t x0, gmx_simd_double_t x1, #endif } +#ifndef gmx_simd_rcp_iter_d /*! \brief Perform one Newton-Raphson iteration to improve 1/x for SIMD double. * * \copydetails gmx_simd_rcp_iter_f @@ -1431,6 +1439,7 @@ gmx_simd_rcp_iter_d(gmx_simd_double_t lu, gmx_simd_double_t x) { return gmx_simd_mul_d(lu, gmx_simd_fnmadd_d(lu, x, gmx_simd_set1_d(2.0))); } +#endif /*! \brief Calculate 1/x for SIMD double. * @@ -1570,8 +1579,8 @@ gmx_simd_exp_d(gmx_simd_double_t x) { const gmx_simd_double_t argscale = gmx_simd_set1_d(1.44269504088896340735992468100); const gmx_simd_double_t arglimit = gmx_simd_set1_d(1022.0); - const gmx_simd_double_t invargscale0 = gmx_simd_set1_d(0.69314718055966295651160180568695068359375); - const gmx_simd_double_t invargscale1 = gmx_simd_set1_d(2.8235290563031577122588448175013436025525412068e-13); + const gmx_simd_double_t invargscale0 = gmx_simd_set1_d(-0.69314718055966295651160180568695068359375); + const gmx_simd_double_t invargscale1 = gmx_simd_set1_d(-2.8235290563031577122588448175013436025525412068e-13); const gmx_simd_double_t CE12 = gmx_simd_set1_d(2.078375306791423699350304e-09); const gmx_simd_double_t CE11 = gmx_simd_set1_d(2.518173854179933105218635e-08); const gmx_simd_double_t CE10 = gmx_simd_set1_d(2.755842049600488770111608e-07); @@ -1596,8 +1605,8 @@ gmx_simd_exp_d(gmx_simd_double_t x) fexppart = gmx_simd_blendzero_d(fexppart, valuemask); /* Extended precision arithmetics */ - x = gmx_simd_fnmadd_d(invargscale0, intpart, x); - x = gmx_simd_fnmadd_d(invargscale1, intpart, x); + x = gmx_simd_fmadd_d(invargscale0, intpart, x); + x = gmx_simd_fmadd_d(invargscale1, intpart, x); p = gmx_simd_fmadd_d(CE12, x, CE11); p = gmx_simd_fmadd_d(p, x, CE10); @@ -1992,10 +2001,10 @@ static gmx_inline void gmx_simdcall gmx_simd_sincos_d(gmx_simd_double_t x, gmx_simd_double_t *sinval, gmx_simd_double_t *cosval) { /* Constants to subtract Pi/4*x from y while minimizing precision loss */ - const gmx_simd_double_t argred0 = gmx_simd_set1_d(2*0.78539816290140151978); - const gmx_simd_double_t argred1 = gmx_simd_set1_d(2*4.9604678871439933374e-10); - const gmx_simd_double_t argred2 = gmx_simd_set1_d(2*1.1258708853173288931e-18); - const gmx_simd_double_t argred3 = gmx_simd_set1_d(2*1.7607799325916000908e-27); + const gmx_simd_double_t argred0 = gmx_simd_set1_d(-2*0.78539816290140151978); + const gmx_simd_double_t argred1 = gmx_simd_set1_d(-2*4.9604678871439933374e-10); + const gmx_simd_double_t argred2 = gmx_simd_set1_d(-2*1.1258708853173288931e-18); + const gmx_simd_double_t argred3 = gmx_simd_set1_d(-2*1.7607799325916000908e-27); const gmx_simd_double_t two_over_pi = gmx_simd_set1_d(2.0/M_PI); const gmx_simd_double_t const_sin5 = gmx_simd_set1_d( 1.58938307283228937328511e-10); const gmx_simd_double_t const_sin4 = gmx_simd_set1_d(-2.50506943502539773349318e-08); @@ -2078,10 +2087,10 @@ gmx_simd_sincos_d(gmx_simd_double_t x, gmx_simd_double_t *sinval, gmx_simd_doubl /* where mask is FALSE, set sign. */ csign = gmx_simd_xor_sign_d(csign, gmx_simd_blendv_d(gmx_simd_set1_d(-1.0), one, mask)); #endif - x = gmx_simd_fnmadd_d(y, argred0, x); - x = gmx_simd_fnmadd_d(y, argred1, x); - x = gmx_simd_fnmadd_d(y, argred2, x); - x = gmx_simd_fnmadd_d(y, argred3, x); + x = gmx_simd_fmadd_d(y, argred0, x); + x = gmx_simd_fmadd_d(y, argred1, x); + x = gmx_simd_fmadd_d(y, argred2, x); + x = gmx_simd_fmadd_d(y, argred3, x); x2 = gmx_simd_mul_d(x, x); psin = gmx_simd_fmadd_d(const_sin5, x2, const_sin4); @@ -2142,10 +2151,10 @@ gmx_simd_cos_d(gmx_simd_double_t x) static gmx_inline gmx_simd_double_t gmx_simdcall gmx_simd_tan_d(gmx_simd_double_t x) { - const gmx_simd_double_t argred0 = gmx_simd_set1_d(2*0.78539816290140151978); - const gmx_simd_double_t argred1 = gmx_simd_set1_d(2*4.9604678871439933374e-10); - const gmx_simd_double_t argred2 = gmx_simd_set1_d(2*1.1258708853173288931e-18); - const gmx_simd_double_t argred3 = gmx_simd_set1_d(2*1.7607799325916000908e-27); + const gmx_simd_double_t argred0 = gmx_simd_set1_d(-2*0.78539816290140151978); + const gmx_simd_double_t argred1 = gmx_simd_set1_d(-2*4.9604678871439933374e-10); + const gmx_simd_double_t argred2 = gmx_simd_set1_d(-2*1.1258708853173288931e-18); + const gmx_simd_double_t argred3 = gmx_simd_set1_d(-2*1.7607799325916000908e-27); const gmx_simd_double_t two_over_pi = gmx_simd_set1_d(2.0/M_PI); const gmx_simd_double_t CT15 = gmx_simd_set1_d(1.01419718511083373224408e-05); const gmx_simd_double_t CT14 = gmx_simd_set1_d(-2.59519791585924697698614e-05); @@ -2175,10 +2184,10 @@ gmx_simd_tan_d(gmx_simd_double_t x) y = gmx_simd_round_d(z); mask = gmx_simd_cvt_dib2db(gmx_simd_cmpeq_di(gmx_simd_and_di(iy, ione), ione)); - x = gmx_simd_fnmadd_d(y, argred0, x); - x = gmx_simd_fnmadd_d(y, argred1, x); - x = gmx_simd_fnmadd_d(y, argred2, x); - x = gmx_simd_fnmadd_d(y, argred3, x); + x = gmx_simd_fmadd_d(y, argred0, x); + x = gmx_simd_fmadd_d(y, argred1, x); + x = gmx_simd_fmadd_d(y, argred2, x); + x = gmx_simd_fmadd_d(y, argred3, x); x = gmx_simd_xor_d(gmx_simd_blendzero_d(gmx_simd_set1_d(GMX_DOUBLE_NEGZERO), mask), x); #else const gmx_simd_double_t quarter = gmx_simd_set1_d(0.25); @@ -2197,10 +2206,10 @@ gmx_simd_tan_d(gmx_simd_double_t x) m3 = gmx_simd_cmple_d(threequarter, q); m1 = gmx_simd_and_db(m1, m2); mask = gmx_simd_or_db(m1, m3); - w = gmx_simd_fnmadd_d(y, argred0, w); - w = gmx_simd_fnmadd_d(y, argred1, w); - w = gmx_simd_fnmadd_d(y, argred2, w); - w = gmx_simd_fnmadd_d(y, argred3, w); + w = gmx_simd_fmadd_d(y, argred0, w); + w = gmx_simd_fmadd_d(y, argred1, w); + w = gmx_simd_fmadd_d(y, argred2, w); + w = gmx_simd_fmadd_d(y, argred3, w); w = gmx_simd_blendv_d(w, gmx_simd_fneg_d(w), mask); x = gmx_simd_xor_sign_d(w, x); diff --git a/src/gromacs/simd/tests/base.cpp b/src/gromacs/simd/tests/base.cpp index c461b28952..115707363a 100644 --- a/src/gromacs/simd/tests/base.cpp +++ b/src/gromacs/simd/tests/base.cpp @@ -32,17 +32,16 @@ * 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 -#endif +#include "gmxpre.h" + +#include "base.h" #include -#include "testutils/testoptions.h" -#include "gromacs/options/options.h" #include "gromacs/options/basicoptions.h" +#include "gromacs/options/options.h" -#include "base.h" +#include "testutils/testoptions.h" namespace gmx { diff --git a/src/gromacs/simd/tests/base.h b/src/gromacs/simd/tests/base.h index f4af291973..7101e3243a 100644 --- a/src/gromacs/simd/tests/base.h +++ b/src/gromacs/simd/tests/base.h @@ -52,9 +52,11 @@ * \ingroup module_simd */ #include + #include -#include "gromacs/simd/simd.h" +#include "gromacs/simd/simd.h" +#include "gromacs/utility/real.h" namespace gmx { @@ -93,15 +95,14 @@ class SimdBaseTest : public ::testing::Test * 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(1, 10); + absTol_(0), range_(std::pair(1, 10)) + { } /*! \brief Adjust ulp tolerance from the default 10 (float) or 255 (double). */ diff --git a/src/gromacs/simd/tests/bootstrap_loadstore.cpp b/src/gromacs/simd/tests/bootstrap_loadstore.cpp index d7a38e9b51..824a831e18 100644 --- a/src/gromacs/simd/tests/bootstrap_loadstore.cpp +++ b/src/gromacs/simd/tests/bootstrap_loadstore.cpp @@ -32,9 +32,7 @@ * 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 -#endif +#include "gmxpre.h" /*! \internal \file * \brief @@ -55,7 +53,9 @@ */ #include + #include "gromacs/simd/simd.h" +#include "gromacs/utility/real.h" namespace { diff --git a/src/gromacs/simd/tests/simd.cpp b/src/gromacs/simd/tests/simd.cpp index e3fa9d9106..a53c78999e 100644 --- a/src/gromacs/simd/tests/simd.cpp +++ b/src/gromacs/simd/tests/simd.cpp @@ -32,9 +32,7 @@ * 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 -#endif +#include "gmxpre.h" #include "simd.h" diff --git a/src/gromacs/simd/tests/simd.h b/src/gromacs/simd/tests/simd.h index 551546fbf6..26cdf9e74b 100644 --- a/src/gromacs/simd/tests/simd.h +++ b/src/gromacs/simd/tests/simd.h @@ -75,7 +75,9 @@ * \ingroup module_simd */ #include + #include + #include "gromacs/simd/simd.h" #include "base.h" diff --git a/src/gromacs/simd/tests/simd4.cpp b/src/gromacs/simd/tests/simd4.cpp index f8d50ae877..23fead9a2b 100644 --- a/src/gromacs/simd/tests/simd4.cpp +++ b/src/gromacs/simd/tests/simd4.cpp @@ -32,9 +32,7 @@ * 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 -#endif +#include "gmxpre.h" #include "simd4.h" diff --git a/src/gromacs/simd/tests/simd4.h b/src/gromacs/simd/tests/simd4.h index 3f3df63154..83cb794a74 100644 --- a/src/gromacs/simd/tests/simd4.h +++ b/src/gromacs/simd/tests/simd4.h @@ -48,9 +48,12 @@ */ #include + #include + #include "gromacs/simd/simd.h" -#include "gromacs/simd/tests/base.h" + +#include "base.h" namespace gmx { diff --git a/src/gromacs/simd/tests/simd4_floatingpoint.cpp b/src/gromacs/simd/tests/simd4_floatingpoint.cpp index 57bfe85651..68a448e3db 100644 --- a/src/gromacs/simd/tests/simd4_floatingpoint.cpp +++ b/src/gromacs/simd/tests/simd4_floatingpoint.cpp @@ -32,11 +32,10 @@ * 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 -#endif +#include "gmxpre.h" #include + #include "gromacs/math/utilities.h" #include "simd4.h" diff --git a/src/gromacs/simd/tests/simd4_math.cpp b/src/gromacs/simd/tests/simd4_math.cpp index 70784dbc78..2345c037e4 100644 --- a/src/gromacs/simd/tests/simd4_math.cpp +++ b/src/gromacs/simd/tests/simd4_math.cpp @@ -32,15 +32,16 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #include + #include "gromacs/math/utilities.h" +#include "gromacs/options/basicoptions.h" #include "gromacs/simd/simd.h" #include "gromacs/simd/simd_math.h" -#include "gromacs/options/basicoptions.h" #include "simd4.h" diff --git a/src/gromacs/simd/tests/simd4_vector_operations.cpp b/src/gromacs/simd/tests/simd4_vector_operations.cpp index 7859705bb2..02a29afd3d 100644 --- a/src/gromacs/simd/tests/simd4_vector_operations.cpp +++ b/src/gromacs/simd/tests/simd4_vector_operations.cpp @@ -32,11 +32,10 @@ * 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 -#endif +#include "gmxpre.h" #include + #include "gromacs/simd/simd.h" #include "gromacs/simd/vector_operations.h" diff --git a/src/gromacs/simd/tests/simd_floatingpoint.cpp b/src/gromacs/simd/tests/simd_floatingpoint.cpp index 44bd447305..fb0a341482 100644 --- a/src/gromacs/simd/tests/simd_floatingpoint.cpp +++ b/src/gromacs/simd/tests/simd_floatingpoint.cpp @@ -32,11 +32,10 @@ * 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 -#endif +#include "gmxpre.h" #include + #include "gromacs/math/utilities.h" #include "simd.h" diff --git a/src/gromacs/simd/tests/simd_integer.cpp b/src/gromacs/simd/tests/simd_integer.cpp index 804354c084..9535c82a30 100644 --- a/src/gromacs/simd/tests/simd_integer.cpp +++ b/src/gromacs/simd/tests/simd_integer.cpp @@ -32,9 +32,7 @@ * 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 -#endif +#include "gmxpre.h" #include "simd.h" diff --git a/src/gromacs/simd/tests/simd_math.cpp b/src/gromacs/simd/tests/simd_math.cpp index 2fab43ca7e..17c61ce05e 100644 --- a/src/gromacs/simd/tests/simd_math.cpp +++ b/src/gromacs/simd/tests/simd_math.cpp @@ -32,15 +32,17 @@ * 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 -#endif +#include "gmxpre.h" + +#include "gromacs/simd/simd_math.h" + +#include "config.h" #include + #include "gromacs/math/utilities.h" -#include "gromacs/simd/simd.h" -#include "gromacs/simd/simd_math.h" #include "gromacs/options/basicoptions.h" +#include "gromacs/simd/simd.h" #include "simd.h" diff --git a/src/gromacs/simd/tests/simd_vector_operations.cpp b/src/gromacs/simd/tests/simd_vector_operations.cpp index 60652c73df..9393c24c98 100644 --- a/src/gromacs/simd/tests/simd_vector_operations.cpp +++ b/src/gromacs/simd/tests/simd_vector_operations.cpp @@ -32,11 +32,10 @@ * 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 -#endif +#include "gmxpre.h" #include + #include "gromacs/simd/simd.h" #include "gromacs/simd/vector_operations.h" diff --git a/src/gromacs/simd/vector_operations.h b/src/gromacs/simd/vector_operations.h index d2ccfde0e2..30713524c7 100644 --- a/src/gromacs/simd/vector_operations.h +++ b/src/gromacs/simd/vector_operations.h @@ -46,6 +46,8 @@ #ifndef GMX_SIMD_VECTOR_OPERATIONS_H #define GMX_SIMD_VECTOR_OPERATIONS_H +#include "config.h" + #include "gromacs/simd/simd.h" /*! \cond libapi */ diff --git a/src/gromacs/statistics/statistics.c b/src/gromacs/statistics/statistics.c index 21fadecf2f..d77c231f61 100644 --- a/src/gromacs/statistics/statistics.c +++ b/src/gromacs/statistics/statistics.c @@ -34,14 +34,15 @@ * 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 "gmxpre.h" + #include "statistics.h" -#ifdef HAVE_CONFIG_H -#include -#endif + #include -#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) { diff --git a/src/gromacs/statistics/statistics.h b/src/gromacs/statistics/statistics.h index 4e0faa93e0..23b0ce96b7 100644 --- a/src/gromacs/statistics/statistics.h +++ b/src/gromacs/statistics/statistics.h @@ -38,6 +38,10 @@ #ifndef GMX_STATISTICS_H #define GMX_STATISTICS_H +#include + +#include "gromacs/utility/real.h" + /*! \libinternal \file * * \brief @@ -50,8 +54,6 @@ #ifdef __cplusplus extern "C" { #endif -#include -#include "types/simple.h" //! Abstract container type typedef struct gmx_stats *gmx_stats_t; diff --git a/src/gromacs/statistics/statistics_test.c b/src/gromacs/statistics/statistics_test.c index 6d31816c4c..4b3dbf8a66 100644 --- a/src/gromacs/statistics/statistics_test.c +++ b/src/gromacs/statistics/statistics_test.c @@ -34,16 +34,15 @@ * 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 -#endif +#include "gmxpre.h" #include -#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/statistics/statistics.h" +#include "gromacs/utility/real.h" +#include "gromacs/utility/smalloc.h" static void horizontal() { diff --git a/src/gromacs/swap/CMakeLists.txt b/src/gromacs/swap/CMakeLists.txt index ce827aed4a..b0d4346a0a 100644 --- a/src/gromacs/swap/CMakeLists.txt +++ b/src/gromacs/swap/CMakeLists.txt @@ -32,7 +32,7 @@ # 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 SWAP_SOURCES *.cpp *.c) +file(GLOB SWAP_SOURCES *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${SWAP_SOURCES} PARENT_SCOPE) gmx_install_headers(swap enums.h) diff --git a/src/gromacs/swap/swapcoords.c b/src/gromacs/swap/swapcoords.cpp similarity index 97% rename from src/gromacs/swap/swapcoords.c rename to src/gromacs/swap/swapcoords.cpp index dc87ff1d25..048aa3b924 100644 --- a/src/gromacs/swap/swapcoords.c +++ b/src/gromacs/swap/swapcoords.cpp @@ -39,50 +39,51 @@ * \author Carsten Kutzner * \ingroup module_swap */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "gmxpre.h" + +#include "swapcoords.h" #include #include #include #include -#include "typedefs.h" -#include "gromacs/utility/cstringutil.h" -#include "gromacs/utility/smalloc.h" -#include "gromacs/mdlib/groupcoord.h" -#include "mtop_util.h" -#include "macros.h" -#include "vec.h" -#include "names.h" -#include "network.h" -#include "mdrun.h" -#include "xvgr.h" -#include "copyrite.h" + #include "gromacs/fileio/confio.h" +#include "gromacs/fileio/xvgr.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/groupcoord.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/timing/wallcycle.h" -#include "swapcoords.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/smalloc.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 */ -static char* IonStr[eIonNR] = {"-", "+" }; /**< Type of ion, used for short output */ -static char* CompStr[eCompNR] = {"A", "B" }; /**< Compartment name */ -static char *SwapStr[eSwapTypesNR+1] = { "", "X-", "Y-", "Z-", NULL}; /**< Name for the swap types. */ -static char *DimStr[DIM+1] = { "X", "Y", "Z", NULL}; /**< Name for the swap dimension. */ +static const char *SwS = {"SWAP:"}; /**< For output that comes from the swap module */ +static const char *SwSEmpty = {" "}; /**< Placeholder for multi-line output */ +static const char* IonString[eIonNR] = {"anion", "cation" }; /**< Type of ion, used for verbose output */ +static const char* IonStr[eIonNR] = {"-", "+" }; /**< Type of ion, used for short output */ +static const char* CompStr[eCompNR] = {"A", "B" }; /**< Compartment name */ +static const char *SwapStr[eSwapTypesNR+1] = { "", "X-", "Y-", "Z-", NULL}; /**< Name for the swap types. */ +static const char *DimStr[DIM+1] = { "X", "Y", "Z", NULL}; /**< Name for the swap dimension. */ /* eGrpSplit0 and eGrpSplit1 _must_ be neighbors in this list because * we sometimes loop from eGrpSplit0 to eGrpSplit1 */ enum { eGrpIons, eGrpSplit0, eGrpSplit1, eGrpSolvent, eGrpNr -}; /**< Group identifier */ -static char* GrpString[eGrpNr] = { "ion", "split0", "split1", "solvent" }; /**< Group name */ +}; /**< Group identifier */ +static const char* GrpString[eGrpNr] = { "ion", "split0", "split1", "solvent" }; /**< Group name */ /** Keep track of through which channel the ions have passed */ enum eChannelHistory { eChHistPassedNone, eChHistPassedCh0, eChHistPassedCh1, eChHistNr }; -static char* ChannelString[eChHistNr] = { "none", "channel0", "channel1" }; /**< Name for the channels */ +static const char* ChannelString[eChHistNr] = { "none", "channel0", "channel1" }; /**< Name for the channels */ /*! \brief Domain identifier. * @@ -92,7 +93,7 @@ static char* ChannelString[eChHistNr] = { "none", "channel0", "channel1" }; /** enum eDomain { eDomainNotset, eDomainA, eDomainB, eDomainNr }; -static char* DomainString[eDomainNr] = { "not_assigned", "Domain_A", "Domain_B" }; /**< Name for the domains */ +static const char* DomainString[eDomainNr] = { "not_assigned", "Domain_A", "Domain_B" }; /**< Name for the domains */ @@ -221,9 +222,9 @@ static gmx_bool is_in_channel( /*! \brief Prints to swap output file which ions are in which compartment. */ static void print_ionlist( - t_swap *s, - double time, - char comment[]) + t_swap *s, + double time, + const char comment[]) { int itype, icomp, i, j; t_compartment *comp; @@ -689,7 +690,7 @@ static void compartmentalize_ions( { fprintf(stderr, "\n" "%s Warning: %d atoms were detected as being in both channels! Probably your split\n" - "%s cylinder is way too large, or one compartment has collapsed (step %"GMX_PRId64 ")\n", + "%s cylinder is way too large, or one compartment has collapsed (step %" GMX_PRId64 ")\n", SwS, s->cyl0and1, SwS, step); fprintf(s->fpout, "Warning: %d atoms were assigned to both channels!\n", s->cyl0and1); @@ -1932,7 +1933,6 @@ extern gmx_bool do_swapcoords( } /* Now actually correct the number of ions */ - g = &(s->group[eGrpSolvent]); nswaps = 0; alook = gmx_mtop_atomlookup_init(mtop); for (ic = 0; ic < eCompNR; ic++) @@ -1994,7 +1994,7 @@ extern gmx_bool do_swapcoords( if (bVerbose) { - fprintf(stderr, "%s Performed %d swap%s in step %"GMX_PRId64 ".\n", SwS, nswaps, nswaps > 1 ? "s" : "", step); + fprintf(stderr, "%s Performed %d swap%s in step %" GMX_PRId64 ".\n", SwS, nswaps, nswaps > 1 ? "s" : "", step); } if (s->fpout != NULL) { diff --git a/src/gromacs/swap/swapcoords.h b/src/gromacs/swap/swapcoords.h index 4b0e384571..1693e1b670 100644 --- a/src/gromacs/swap/swapcoords.h +++ b/src/gromacs/swap/swapcoords.h @@ -52,8 +52,9 @@ #ifndef GMX_SWAP_SWAPCOORDS_H #define GMX_SWAP_SWAPCOORDS_H -#include "typedefs.h" -#include "types/commrec.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/timing/wallcycle.h" #ifdef __cplusplus extern "C" { diff --git a/src/gromacs/timing/CMakeLists.txt b/src/gromacs/timing/CMakeLists.txt index e73a1115a9..094cb6f298 100644 --- a/src/gromacs/timing/CMakeLists.txt +++ b/src/gromacs/timing/CMakeLists.txt @@ -36,7 +36,9 @@ file(GLOB TIMING_SOURCES *.cpp *.c) 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) diff --git a/src/gromacs/timing/cyclecounter.c b/src/gromacs/timing/cyclecounter.c index 4372575e4d..780587e114 100644 --- a/src/gromacs/timing/cyclecounter.c +++ b/src/gromacs/timing/cyclecounter.c @@ -2,7 +2,7 @@ * This file is part of the GROMACS molecular simulation package. * * Copyright (c) 1991-2006 David van der Spoel, Erik Lindahl, Berk Hess, 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. @@ -33,17 +33,17 @@ * 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/timing/cyclecounter.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "cyclecounter.h" + +#include "config.h" #include + #ifdef HAVE_SYS_TIME_H #include #endif - #ifdef _MSC_VER #include #endif diff --git a/src/gromacs/timing/cyclecounter.h b/src/gromacs/timing/cyclecounter.h index 7751db4390..4b3bede736 100644 --- a/src/gromacs/timing/cyclecounter.h +++ b/src/gromacs/timing/cyclecounter.h @@ -49,9 +49,7 @@ * define HAVE_RDTSCP to use the serializing rdtscp instruction instead of rdtsc. * This is only supported on newer Intel/AMD hardware, but provides better accuracy. */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #ifdef _MSC_VER #include @@ -150,8 +148,8 @@ typedef hrtime_t #elif defined(__xlC__) && defined (_AIX) /* AIX compilers */ -#include #include +#include typedef unsigned long long gmx_cycles_t; diff --git a/src/gromacs/timing/wallcycle.c b/src/gromacs/timing/wallcycle.c index ae26c2cec4..3b0d906636 100644 --- a/src/gromacs/timing/wallcycle.c +++ b/src/gromacs/timing/wallcycle.c @@ -34,21 +34,22 @@ * 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/timing/wallcycle.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "wallcycle.h" -#include +#include "config.h" -#include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "md_logging.h" -#include "gromacs/utility/cstringutil.h" +#include +#include +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/types/commrec.h" #include "gromacs/timing/cyclecounter.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" /* DEBUG_WCYCLE adds consistency checking for the counters. * It checks if you stop a counter different from the last @@ -109,7 +110,7 @@ static const char *wcsn[ewcsNR] = "DD redist.", "DD NS grid + sort", "DD setup comm.", "DD make top.", "DD make constr.", "DD top. other", "NS grid local", "NS grid non-loc.", "NS search local", "NS search non-loc.", - "Bonded F", "Nonbonded F", "Ewald F correction", + "Listed F", "Nonbonded F", "Ewald F correction", "NB X buffer ops.", "NB F buffer ops." }; diff --git a/src/gromacs/timing/wallcycle.h b/src/gromacs/timing/wallcycle.h index 7b48849707..69c92cde72 100644 --- a/src/gromacs/timing/wallcycle.h +++ b/src/gromacs/timing/wallcycle.h @@ -38,13 +38,17 @@ #define GMX_TIMING_WALLCYCLE_H #include -#include "gromacs/legacyheaders/typedefs.h" -#include "gromacs/legacyheaders/types/commrec.h" + +#include "gromacs/legacyheaders/types/commrec_fwd.h" +#include "gromacs/legacyheaders/types/nbnxn_cuda_types_ext.h" +#include "gromacs/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, @@ -62,7 +66,7 @@ enum { ewcsDD_MAKETOP, ewcsDD_MAKECONSTR, ewcsDD_TOPOTHER, ewcsNBS_GRID_LOCAL, ewcsNBS_GRID_NONLOCAL, ewcsNBS_SEARCH_LOCAL, ewcsNBS_SEARCH_NONLOCAL, - ewcsBONDED, ewcsNONBONDED, ewcsEWALD_CORRECTION, + ewcsLISTED, ewcsNONBONDED, ewcsEWALD_CORRECTION, ewcsNB_X_BUF_OPS, ewcsNB_F_BUF_OPS, ewcsNR }; diff --git a/src/gromacs/timing/walltime_accounting.c b/src/gromacs/timing/walltime_accounting.c index ec256b2273..25c723d4d6 100644 --- a/src/gromacs/timing/walltime_accounting.c +++ b/src/gromacs/timing/walltime_accounting.c @@ -33,13 +33,14 @@ * 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/timing/walltime_accounting.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "walltime_accounting.h" + +#include "config.h" #include + #ifdef HAVE_UNISTD_H #include #endif @@ -47,8 +48,7 @@ #include #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, diff --git a/src/gromacs/timing/walltime_accounting.h b/src/gromacs/timing/walltime_accounting.h index 641393a0dd..f131f26dd2 100644 --- a/src/gromacs/timing/walltime_accounting.h +++ b/src/gromacs/timing/walltime_accounting.h @@ -3,7 +3,7 @@ * * 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. @@ -38,7 +38,7 @@ #ifndef GMX_TIMING_WALLTIME_ACCOUNTING_H #define GMX_TIMING_WALLTIME_ACCOUNTING_H -#include "../legacyheaders/types/simple.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { @@ -48,8 +48,9 @@ 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 @@ -60,18 +61,21 @@ walltime_accounting_init(int numOpenMPThreads); 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); @@ -91,15 +95,16 @@ walltime_accounting_get_start_time_stamp(gmx_walltime_accounting_t walltime_acco 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. */ diff --git a/src/gromacs/tools/check.c b/src/gromacs/tools/check.c index 3d166cf465..ddb578dc06 100644 --- a/src/gromacs/tools/check.c +++ b/src/gromacs/tools/check.c @@ -34,38 +34,34 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include -#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 "names.h" -#include "mtop_util.h" -#include "gromacs/fileio/futil.h" -#include "gromacs/fileio/gmxfio.h" -#include "gromacs/fileio/trnio.h" -#include "gromacs/fileio/xtcio.h" #include "gromacs/fileio/confio.h" #include "gromacs/fileio/enxio.h" +#include "gromacs/fileio/gmxfio.h" #include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/trnio.h" #include "gromacs/fileio/trxio.h" - -#include "compare.h" +#include "gromacs/fileio/xtcio.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/tools/compare.h" +#include "gromacs/topology/atomprop.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/index.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" typedef struct { int bStep; @@ -710,8 +706,8 @@ void chk_enx(const char *fn) int gmx_check(int argc, char *argv[]) { const char *desc[] = { - "[THISMODULE] reads a trajectory ([TT].trj[tt], [TT].trr[tt] or ", - "[TT].xtc[tt]), an energy file ([TT].ene[tt] or [TT].edr[tt])", + "[THISMODULE] reads a trajectory ([TT].tng[tt], [TT].trr[tt] or ", + "[TT].xtc[tt]), an energy file ([TT].edr[tt])", "or an index file ([TT].ndx[tt])", "and prints out useful information about them.[PAR]", "Option [TT]-c[tt] checks for presence of coordinates,", @@ -727,8 +723,8 @@ int gmx_check(int argc, char *argv[]) "file are indeed correct in the trajectory. If not you may have", "non-matching files due to e.g. deshuffling or due to problems with", "virtual sites. With these flags, [TT]gmx check[tt] provides a quick check for such problems.[PAR]", - "The program can compare two run input ([TT].tpr[tt], [TT].tpb[tt] or", - "[TT].tpa[tt]) files", + "The program can compare two run input ([TT].tpr[tt])", + "files", "when both [TT]-s1[tt] and [TT]-s2[tt] are supplied.", "Similarly a pair of trajectory files can be compared (using the [TT]-f2[tt]", "option), or a pair of energy files (using the [TT]-e2[tt] option).[PAR]", @@ -740,8 +736,8 @@ int gmx_check(int argc, char *argv[]) t_filenm fnm[] = { { efTRX, "-f", NULL, ffOPTRD }, { efTRX, "-f2", NULL, ffOPTRD }, - { efTPX, "-s1", "top1", ffOPTRD }, - { efTPX, "-s2", "top2", ffOPTRD }, + { efTPR, "-s1", "top1", ffOPTRD }, + { efTPR, "-s2", "top2", ffOPTRD }, { efTPS, "-c", NULL, ffOPTRD }, { efEDR, "-e", NULL, ffOPTRD }, { efEDR, "-e2", "ener2", ffOPTRD }, @@ -798,7 +794,7 @@ int gmx_check(int argc, char *argv[]) } else if (fn2) { - fprintf(stderr, "Please give me TWO trajectory (.xtc/.trr/.trj) files!\n"); + fprintf(stderr, "Please give me TWO trajectory (.xtc/.trr/.tng) files!\n"); } fn1 = opt2fn_null("-s1", NFILE, fnm); @@ -821,7 +817,7 @@ int gmx_check(int argc, char *argv[]) } else if ((fn1 && !opt2fn_null("-f", NFILE, fnm)) || (!fn1 && fn2)) { - fprintf(stderr, "Please give me TWO run input (.tpr/.tpa/.tpb) files\n" + fprintf(stderr, "Please give me TWO run input (.tpr) files\n" "or specify the -m flag to generate a methods.tex file\n"); } diff --git a/src/gromacs/tools/compare.c b/src/gromacs/tools/compare.c index 34775b0ef4..89038a4c24 100644 --- a/src/gromacs/tools/compare.c +++ b/src/gromacs/tools/compare.c @@ -35,26 +35,23 @@ * 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 -#endif +#include "gmxpre.h" #include #include #include -#include "main.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "gromacs/fileio/futil.h" -#include "sysstuff.h" -#include "txtdump.h" -#include "gmx_fatal.h" -#include "names.h" + +#include "gromacs/fileio/enxio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trxio.h" -#include "gromacs/fileio/enxio.h" -#include "mtop_util.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/topology/mtop_util.h" #include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void cmp_int(FILE *fp, const char *s, int index, int i1, int i2) { @@ -89,11 +86,11 @@ static void cmp_us(FILE *fp, const char *s, int index, unsigned short i1, unsign { if (index != -1) { - fprintf(fp, "%s[%d] (%u - %u)\n", s, index, i1, i2); + fprintf(fp, "%s[%d] (%hu - %hu)\n", s, index, i1, i2); } else { - fprintf(fp, "%s (%u - %u)\n", s, i1, i2); + fprintf(fp, "%s (%hu - %hu)\n", s, i1, i2); } } } diff --git a/src/gromacs/tools/convert_tpr.c b/src/gromacs/tools/convert_tpr.c index 08c264e97e..deaa798fce 100644 --- a/src/gromacs/tools/convert_tpr.c +++ b/src/gromacs/tools/convert_tpr.c @@ -34,28 +34,29 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "index.h" -#include "gmx_fatal.h" -#include "sysstuff.h" -#include "gromacs/utility/smalloc.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 "checkpoint.h" +#include "gromacs/fileio/enxio.h" #include "gromacs/fileio/tpxio.h" #include "gromacs/fileio/trnio.h" -#include "gromacs/fileio/enxio.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/legacyheaders/types/state.h" +#include "gromacs/math/vec.h" #include "gromacs/random/random.h" +#include "gromacs/topology/index.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/topology/topology.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.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)) @@ -372,11 +373,11 @@ int gmx_convert_tpr(int argc, char *argv[]) char buf[200], buf2[200]; output_env_t oenv; t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efTRN, "-f", NULL, ffOPTRD }, { efEDR, "-e", NULL, ffOPTRD }, { efNDX, NULL, NULL, ffOPTRD }, - { efTPX, "-o", "tpxout", ffWRITE } + { efTPR, "-o", "tprout", ffWRITE } }; #define NFILE asize(fnm) @@ -421,7 +422,7 @@ int gmx_convert_tpr(int argc, char *argv[]) bTime = opt2parg_bSet("-time", asize(pa), pa); bTraj = (opt2bSet("-f", NFILE, fnm) || bTime); - top_fn = ftp2fn(efTPX, NFILE, fnm); + top_fn = ftp2fn(efTPR, NFILE, fnm); fprintf(stderr, "Reading toplogy and stuff from %s\n", top_fn); snew(ir, 1); diff --git a/src/gromacs/tools/dump.c b/src/gromacs/tools/dump.c index 559328908c..302ce26525 100644 --- a/src/gromacs/tools/dump.c +++ b/src/gromacs/tools/dump.c @@ -34,42 +34,38 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" +#include +#include #include #include -#include -#include -#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/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/fileio/tngio.h" -#include "gromacs/fileio/tngio_for_tools.h" #ifdef HAVE_UNISTD_H #include #endif -#include "gromacs/linearalgebra/mtxio.h" +#include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/enxio.h" +#include "gromacs/fileio/gmxfio.h" +#include "gromacs/fileio/mtxio.h" +#include "gromacs/fileio/tngio.h" +#include "gromacs/fileio/tngio_for_tools.h" +#include "gromacs/fileio/tpxio.h" +#include "gromacs/fileio/trnio.h" +#include "gromacs/fileio/xtcio.h" +#include "gromacs/gmxpreprocess/gmxcpp.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/txtdump.h" #include "gromacs/linearalgebra/sparsematrix.h" - +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" static void list_tpx(const char *fn, gmx_bool bShowNumbers, const char *mdpfn, gmx_bool bSysTop) @@ -411,25 +407,20 @@ static void list_tng(const char gmx_unused *fn) void list_trx(const char *fn) { - int ftp; - - ftp = fn2ftp(fn); - if (ftp == efXTC) - { - list_xtc(fn); - } - else if ((ftp == efTRR) || (ftp == efTRJ)) - { - list_trn(fn); - } - else if (ftp == efTNG) - { - list_tng(fn); - } - else + switch (fn2ftp(fn)) { - fprintf(stderr, "File %s is of an unsupported type. Try using the command\n 'less %s'\n", - fn, fn); + case efXTC: + list_xtc(fn); + break; + case efTRR: + list_trn(fn); + break; + case efTNG: + list_tng(fn); + break; + default: + fprintf(stderr, "File %s is of an unsupported type. Try using the command\n 'less %s'\n", + fn, fn); } } @@ -610,9 +601,9 @@ static void list_mtx(const char *fn) int gmx_dump(int argc, char *argv[]) { const char *desc[] = { - "[THISMODULE] reads a run input file ([TT].tpa[tt]/[TT].tpr[tt]/[TT].tpb[tt]),", - "a trajectory ([TT].trj[tt]/[TT].trr[tt]/[TT].xtc[tt]), an energy", - "file ([TT].ene[tt]/[TT].edr[tt]), or a checkpoint file ([TT].cpt[tt])", + "[THISMODULE] reads a run input file ([TT].tpr[tt]),", + "a trajectory ([TT].trr[tt]/[TT].xtc[tt]/[TT]/tng[tt]), an energy", + "file ([TT].edr[tt]) or a checkpoint file ([TT].cpt[tt])", "and prints that to standard output in a readable format.", "This program is essential for checking your run input file in case of", "problems.[PAR]", @@ -624,7 +615,7 @@ int gmx_dump(int argc, char *argv[]) "Position restraint output from -sys -s is broken" }; t_filenm fnm[] = { - { efTPX, "-s", NULL, ffOPTRD }, + { efTPR, "-s", NULL, ffOPTRD }, { efTRX, "-f", NULL, ffOPTRD }, { efEDR, "-e", NULL, ffOPTRD }, { efCPT, NULL, NULL, ffOPTRD }, @@ -650,9 +641,9 @@ int gmx_dump(int argc, char *argv[]) } - if (ftp2bSet(efTPX, NFILE, fnm)) + if (ftp2bSet(efTPR, NFILE, fnm)) { - list_tpx(ftp2fn(efTPX, NFILE, fnm), bShowNumbers, + list_tpx(ftp2fn(efTPR, NFILE, fnm), bShowNumbers, ftp2fn_null(efMDP, NFILE, fnm), bSysTop); } else if (ftp2bSet(efTRX, NFILE, fnm)) diff --git a/src/gromacs/tools/dump.h b/src/gromacs/tools/dump.h index 08b7b77b73..cf0195e1e3 100644 --- a/src/gromacs/tools/dump.h +++ b/src/gromacs/tools/dump.h @@ -35,8 +35,6 @@ #ifndef GMX_TOOLS_DUMP_H #define GMX_TOOLS_DUMP_H -#include "gromacs/legacyheaders/types/simple.h" - #ifdef __cplusplus extern "C" { #endif diff --git a/src/gromacs/topology/CMakeLists.txt b/src/gromacs/topology/CMakeLists.txt new file mode 100644 index 0000000000..ffc2379e83 --- /dev/null +++ b/src/gromacs/topology/CMakeLists.txt @@ -0,0 +1,52 @@ +# +# 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() diff --git a/src/gromacs/gmxlib/atomprop.c b/src/gromacs/topology/atomprop.cpp similarity index 93% rename from src/gromacs/gmxlib/atomprop.c rename to src/gromacs/topology/atomprop.cpp index c899adceaa..a2fdfece3e 100644 --- a/src/gromacs/gmxlib/atomprop.c +++ b/src/gromacs/topology/atomprop.cpp @@ -34,25 +34,21 @@ * 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 -#endif +#include "gmxpre.h" + +#include "atomprop.h" #include #include -#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; @@ -66,9 +62,9 @@ typedef struct { } 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; @@ -97,7 +93,7 @@ static int dbcmp_len(char *search, char *database) 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) { @@ -158,7 +154,7 @@ static int get_prop_index(aprop_t *ap, gmx_residuetype_t restype, 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) { @@ -184,8 +180,8 @@ static void add_prop(aprop_t *ap, gmx_residuetype_t restype, ap->bAvail[i] = FALSE; } } - ap->atomnm[ap->nprop] = strdup(atomnm); - ap->resnm[ap->nprop] = strdup(resnm); + ap->atomnm[ap->nprop] = gmx_strdup(atomnm); + ap->resnm[ap->nprop] = gmx_strdup(resnm); j = ap->nprop; ap->nprop++; } @@ -227,7 +223,7 @@ static void read_prop(gmx_atomprop_t aps, int eprop, double factor) 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); @@ -256,7 +252,7 @@ static void set_prop(gmx_atomprop_t aps, int eprop) ap = &ap2->prop[eprop]; if (!ap->bSet) { - ap->db = strdup(fns[eprop]); + ap->db = gmx_strdup(fns[eprop]); ap->def = def[eprop]; read_prop(aps, eprop, fac[eprop]); @@ -282,7 +278,6 @@ static void set_prop(gmx_atomprop_t aps, int eprop) gmx_atomprop_t gmx_atomprop_init(void) { gmx_atomprop *aps; - int p; snew(aps, 1); @@ -351,7 +346,6 @@ gmx_bool gmx_atomprop_query(gmx_atomprop_t aps, real *value) { gmx_atomprop *ap = (gmx_atomprop*) aps; - size_t i; int j; #define MAXQ 32 char atomname[MAXQ], resname[MAXQ]; @@ -368,8 +362,9 @@ gmx_bool gmx_atomprop_query(gmx_atomprop_t aps, } 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]; } @@ -431,5 +426,5 @@ int gmx_atomprop_atomnumber(gmx_atomprop_t aps, const char *elem) return gmx_nint(ap->prop[epropElement].value[i]); } } - return NOTSET; + return -1; } diff --git a/src/gromacs/legacyheaders/atomprop.h b/src/gromacs/topology/atomprop.h similarity index 92% rename from src/gromacs/legacyheaders/atomprop.h rename to src/gromacs/topology/atomprop.h index c70f760ec5..5723123ac7 100644 --- a/src/gromacs/legacyheaders/atomprop.h +++ b/src/gromacs/topology/atomprop.h @@ -3,7 +3,7 @@ * * 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. @@ -34,16 +34,16 @@ * 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 "gromacs/utility/basedefinitions.h" +#include "gromacs/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; @@ -75,5 +75,4 @@ gmx_bool gmx_atomprop_query(gmx_atomprop_t aps, } #endif - #endif diff --git a/src/gromacs/topology/atoms.cpp b/src/gromacs/topology/atoms.cpp new file mode 100644 index 0000000000..9d084240c2 --- /dev/null +++ b/src/gromacs/topology/atoms.cpp @@ -0,0 +1,288 @@ +/* + * 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 "gmxpre.h" + +#include "atoms.h" + +#include + +#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; +} diff --git a/src/gromacs/legacyheaders/types/atoms.h b/src/gromacs/topology/atoms.h similarity index 78% rename from src/gromacs/legacyheaders/types/atoms.h rename to src/gromacs/topology/atoms.h index 790520803e..ed8d96c2ae 100644 --- a/src/gromacs/legacyheaders/types/atoms.h +++ b/src/gromacs/topology/atoms.h @@ -3,7 +3,7 @@ * * 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. @@ -34,22 +34,25 @@ * 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 "gromacs/utility/basedefinitions.h" +#include "gromacs/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 */ @@ -60,7 +63,8 @@ typedef struct { 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 */ @@ -69,7 +73,8 @@ typedef struct { 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 */ @@ -80,12 +85,14 @@ typedef struct { 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 */ @@ -101,7 +108,8 @@ typedef struct { 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 */ @@ -111,9 +119,36 @@ typedef struct { 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 diff --git a/src/gromacs/topology/block.cpp b/src/gromacs/topology/block.cpp new file mode 100644 index 0000000000..c4b2e51c27 --- /dev/null +++ b/src/gromacs/topology/block.cpp @@ -0,0 +1,156 @@ +/* + * 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 "gmxpre.h" + +#include "block.h" + +#include + +#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]; + } +} diff --git a/src/gromacs/legacyheaders/types/block.h b/src/gromacs/topology/block.h similarity index 64% rename from src/gromacs/legacyheaders/types/block.h rename to src/gromacs/topology/block.h index 0a753e2d84..a3680e1a62 100644 --- a/src/gromacs/legacyheaders/types/block.h +++ b/src/gromacs/topology/block.h @@ -3,7 +3,7 @@ * * 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. @@ -34,11 +34,10 @@ * 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 "gromacs/legacyheaders/types/simple.h" #ifdef __cplusplus extern "C" { @@ -52,26 +51,50 @@ 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= 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. @@ -292,7 +290,7 @@ typedef int t_functype; * the remaining ones from nr_nonperturbed..(nr-1) are perturbed bonded * interactions. */ -typedef struct +typedef struct t_ilist { int nr; int nr_nonperturbed; @@ -304,36 +302,36 @@ typedef struct * 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; @@ -348,7 +346,7 @@ enum { ilsortUNKNOWN, ilsortNO_FE, ilsortFE_UNSORTED, ilsortFE_SORTED }; -typedef struct +typedef struct t_idef { int ntypes; int atnr; @@ -372,24 +370,24 @@ typedef struct * 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. @@ -409,15 +407,8 @@ typedef struct * 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 diff --git a/src/gromacs/gmxlib/index.c b/src/gromacs/topology/index.cpp similarity index 78% rename from src/gromacs/gmxlib/index.c rename to src/gromacs/topology/index.cpp index 1ac6062a0b..153554d900 100644 --- a/src/gromacs/gmxlib/index.c +++ b/src/gromacs/topology/index.cpp @@ -34,40 +34,28 @@ * 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 -#endif +#include "gmxpre.h" +#include "index.h" + +#include #include +#include #include -#include -#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 + #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 "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.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) { @@ -89,16 +77,6 @@ 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; @@ -148,7 +126,7 @@ void add_grp(t_blocka *b, char ***gnames, int nra, atom_id a[], const char *name srenew(b->index, b->nr+2); srenew(*gnames, b->nr+1); - (*gnames)[b->nr] = strdup(name); + (*gnames)[b->nr] = gmx_strdup(name); srenew(b->a, b->nra+nra); for (i = 0; (i < nra); i++) @@ -192,8 +170,6 @@ static void p_status(const char **restype, int nres, const char **typenames, int ntypes) { int i, j; - int found; - int * counter; snew(counter, ntypes); @@ -203,7 +179,6 @@ p_status(const char **restype, int nres, const char **typenames, int ntypes) } for (i = 0; i < nres; i++) { - found = 0; for (j = 0; j < ntypes; j++) { if (!gmx_strcasecmp(restype[i], typenames[j])) @@ -225,7 +200,7 @@ p_status(const char **restype, int nres, const char **typenames, int ntypes) } -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 */ { @@ -299,9 +274,9 @@ static void analyse_other(const char ** restype, t_atoms *atoms, if (l == nrestp) { srenew(restp, nrestp+1); - restp[nrestp].rname = strdup(rname); + restp[nrestp].rname = gmx_strdup(rname); restp[nrestp].bNeg = FALSE; - restp[nrestp].gname = strdup(rname); + restp[nrestp].gname = gmx_strdup(rname); nrestp++; } @@ -381,7 +356,7 @@ typedef struct gmx_help_make_index_group /** 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 @@ -432,7 +407,7 @@ static void analyse_prot(const char ** restype, t_atoms *atoms, int n, j; atom_id *aid; - int nra, nnpres, npres; + int nra, npres; gmx_bool match; char ndx_name[STRLEN], *atnm; int i; @@ -590,7 +565,6 @@ static void analyse_prot(const char ** restype, t_atoms *atoms, if (nra > 0) { add_grp(gb, gn, nra, aid, "SwapSC-CO"); - nra = 0; } } } @@ -598,256 +572,15 @@ static void analyse_prot(const char ** restype, t_atoms *atoms, } - - -/* 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; @@ -884,12 +617,13 @@ void analyse(t_atoms *atoms, t_blocka *gb, char ***gn, gmx_bool bASK, gmx_bool b found = 0; for (k = 0; k < ntypes && !found; k++) { + assert(p_typename != NULL); found = !strcmp(restype[i], p_typename[k]); } if (!found) { srenew(p_typename, ntypes+1); - p_typename[ntypes++] = strdup(restype[i]); + p_typename[ntypes++] = gmx_strdup(restype[i]); } } @@ -971,7 +705,7 @@ void analyse(t_atoms *atoms, t_blocka *gb, char ***gn, gmx_bool bASK, gmx_bool b { srenew(gb->index, gb->nr+2); srenew(*gn, gb->nr+1); - (*gn)[gb->nr] = strdup("Water_and_ions"); + (*gn)[gb->nr] = gmx_strdup("Water_and_ions"); srenew(gb->a, gb->nra+nwater+nion); if (nwater > 0) { @@ -1017,81 +751,52 @@ t_blocka *init_index(const char *gfile, char ***grpname) { 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] = gmx_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); } } } @@ -1099,6 +804,7 @@ t_blocka *init_index(const char *gfile, char ***grpname) 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) @@ -1261,7 +967,7 @@ static void rd_groups(t_blocka *grps, char **grpname, char *gnames[], fprintf(stderr, "There is one group in the index\n"); gnr1 = 0; } - gnames[i] = strdup(grpname[gnr1]); + gnames[i] = gmx_strdup(grpname[gnr1]); isize[i] = grps->index[gnr1+1]-grps->index[gnr1]; snew(index[i], isize[i]); for (j = 0; (j < isize[i]); j++) @@ -1339,7 +1045,7 @@ t_cluster_ndx *cluster_index(FILE *fplog, const char *ndx) 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", diff --git a/src/gromacs/legacyheaders/index.h b/src/gromacs/topology/index.h similarity index 70% rename from src/gromacs/legacyheaders/index.h rename to src/gromacs/topology/index.h index b472675936..e361be73d5 100644 --- a/src/gromacs/legacyheaders/index.h +++ b/src/gromacs/topology/index.h @@ -34,16 +34,20 @@ * 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 -#include "typedefs.h" +#include "gromacs/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, @@ -51,7 +55,7 @@ void check_index(char *gname, int n, atom_id index[], * 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[], @@ -75,7 +79,7 @@ void rd_index_nrs(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 @@ -83,72 +87,22 @@ void get_index(t_atoms *atoms, const char *fnm, int ngrps, */ 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. @@ -161,4 +115,4 @@ int find_group(char s[], int ngrps, char **grpname); } #endif -#endif /* _index_h */ +#endif diff --git a/src/gromacs/gmxlib/invblock.c b/src/gromacs/topology/invblock.c similarity index 96% rename from src/gromacs/gmxlib/invblock.c rename to src/gromacs/topology/invblock.c index 235a1f6c2a..48107b2c5f 100644 --- a/src/gromacs/gmxlib/invblock.c +++ b/src/gromacs/topology/invblock.c @@ -35,14 +35,14 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" #include "invblock.h" -#include "gmx_fatal.h" + +#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/topology/block.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" atom_id *make_invblock(const t_block *block, int nr) { diff --git a/src/gromacs/legacyheaders/invblock.h b/src/gromacs/topology/invblock.h similarity index 85% rename from src/gromacs/legacyheaders/invblock.h rename to src/gromacs/topology/invblock.h index 68379dc5ad..f30e98a957 100644 --- a/src/gromacs/legacyheaders/invblock.h +++ b/src/gromacs/topology/invblock.h @@ -3,7 +3,7 @@ * * 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. @@ -34,22 +34,24 @@ * 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 "gromacs/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 */ @@ -58,4 +60,4 @@ atom_id *make_invblocka(const t_blocka *block, int nr); } #endif -#endif /* _invblock_h */ +#endif diff --git a/src/gromacs/gmxlib/mtop_util.c b/src/gromacs/topology/mtop_util.c similarity index 98% rename from src/gromacs/gmxlib/mtop_util.c rename to src/gromacs/topology/mtop_util.c index 83c615634e..b069c64419 100644 --- a/src/gromacs/gmxlib/mtop_util.c +++ b/src/gromacs/topology/mtop_util.c @@ -32,18 +32,21 @@ * 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 "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "mtop_util.h" +#include #include + +#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) { diff --git a/src/gromacs/legacyheaders/mtop_util.h b/src/gromacs/topology/mtop_util.h similarity index 79% rename from src/gromacs/legacyheaders/mtop_util.h rename to src/gromacs/topology/mtop_util.h index 7c5172c75e..308476ea76 100644 --- a/src/gromacs/legacyheaders/mtop_util.h +++ b/src/gromacs/topology/mtop_util.h @@ -3,7 +3,7 @@ * * 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. @@ -34,32 +34,45 @@ * 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 "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/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 */ @@ -67,11 +80,11 @@ typedef struct gmx_mtop_atomlookup *gmx_mtop_atomlookup_t; /* 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 @@ -85,7 +98,7 @@ gmx_mtop_atomlookup_destroy(gmx_mtop_atomlookup_t alook); 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] @@ -94,7 +107,7 @@ gmx_mtop_atomnr_to_atom(const gmx_mtop_atomlookup_t alook, 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 @@ -110,7 +123,7 @@ gmx_mtop_atomnr_to_molblock_ind(const gmx_mtop_atomlookup_t alook, /* 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); @@ -124,7 +137,7 @@ typedef struct gmx_mtop_atomloop_all *gmx_mtop_atomloop_all_t; * 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: @@ -141,7 +154,7 @@ gmx_mtop_atomloop_all_init(const gmx_mtop_t *mtop); */ 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. @@ -155,7 +168,7 @@ gmx_mtop_atomloop_all_names(gmx_mtop_atomloop_all_t aloop, */ 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 */ @@ -164,7 +177,7 @@ typedef struct gmx_mtop_atomloop_block *gmx_mtop_atomloop_block_t; /* 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: @@ -181,7 +194,7 @@ gmx_mtop_atomloop_block_init(const gmx_mtop_t *mtop); */ 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 */ @@ -189,7 +202,7 @@ typedef struct gmx_mtop_ilistloop *gmx_mtop_ilistloop_t; /* 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, @@ -200,7 +213,7 @@ gmx_mtop_ilistloop_init(const gmx_mtop_t *mtop); */ 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 */ @@ -212,7 +225,7 @@ typedef struct gmx_mtop_ilistloop_all *gmx_mtop_ilistloop_all_t; * 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: @@ -222,22 +235,22 @@ gmx_mtop_ilistloop_all_init(const gmx_mtop_t *mtop); */ 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. @@ -245,22 +258,24 @@ gmx_mtop_global_atoms(const gmx_mtop_t *mtop); * 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 diff --git a/src/gromacs/topology/residuetypes.cpp b/src/gromacs/topology/residuetypes.cpp new file mode 100644 index 0000000000..6745c96d37 --- /dev/null +++ b/src/gromacs/topology/residuetypes.cpp @@ -0,0 +1,279 @@ +/* + * 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 "gmxpre.h" + +#include "residuetypes.h" + +#include +#include + +#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; + } +} diff --git a/src/gromacs/topology/residuetypes.h b/src/gromacs/topology/residuetypes.h new file mode 100644 index 0000000000..f569e008f9 --- /dev/null +++ b/src/gromacs/topology/residuetypes.h @@ -0,0 +1,86 @@ +/* + * This file is part of the GROMACS molecular simulation package. + * + * 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. + */ +#ifndef GMX_TOPOLOGY_RESIDUETYPES_H +#define GMX_TOPOLOGY_RESIDUETYPES_H + +#include "gromacs/utility/basedefinitions.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct gmx_residuetype_t 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); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/gromacs/gmxlib/symtab.c b/src/gromacs/topology/symtab.cpp similarity index 94% rename from src/gromacs/gmxlib/symtab.c rename to src/gromacs/topology/symtab.cpp index 7e9d65a450..678088f478 100644 --- a/src/gromacs/gmxlib/symtab.c +++ b/src/gromacs/topology/symtab.cpp @@ -34,19 +34,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "symtab.h" #include #include -#include "sysstuff.h" -#include "typedefs.h" -#include "gmx_fatal.h" + +#include + +#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 @@ -91,15 +91,14 @@ static char *trim_string(const char *s, char *out, int maxlen) 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; @@ -166,7 +165,7 @@ static char **enter_buf(t_symtab *symtab, char *name) if (symbuf->buf[i] == NULL) { symtab->nr++; - symbuf->buf[i] = strdup(name); + symbuf->buf[i] = gmx_strdup(name); return &(symbuf->buf[i]); } else if (strcmp(symbuf->buf[i], name) == 0) @@ -190,7 +189,7 @@ static char **enter_buf(t_symtab *symtab, char *name) symbuf = symbuf->next; symtab->nr++; - symbuf->buf[0] = strdup(name); + symbuf->buf[0] = gmx_strdup(name); return &(symbuf->buf[0]); } @@ -245,7 +244,7 @@ void free_symtab(t_symtab *symtab) 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); diff --git a/src/gromacs/legacyheaders/symtab.h b/src/gromacs/topology/symtab.h similarity index 92% rename from src/gromacs/legacyheaders/symtab.h rename to src/gromacs/topology/symtab.h index d0561340c2..d395e58c5f 100644 --- a/src/gromacs/legacyheaders/symtab.h +++ b/src/gromacs/topology/symtab.h @@ -3,7 +3,7 @@ * * 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. @@ -34,17 +34,28 @@ * 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 -#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 @@ -115,4 +126,4 @@ void pr_symtab(FILE *fp, int indent, const char *title, t_symtab *symtab); } #endif -#endif /* _symtab_h */ +#endif diff --git a/src/gromacs/topology/topology.cpp b/src/gromacs/topology/topology.cpp new file mode 100644 index 0000000000..e5ff05371d --- /dev/null +++ b/src/gromacs/topology/topology.cpp @@ -0,0 +1,153 @@ +/* + * 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 "gmxpre.h" + +#include "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)); +} diff --git a/src/gromacs/legacyheaders/types/topology.h b/src/gromacs/topology/topology.h similarity index 86% rename from src/gromacs/legacyheaders/types/topology.h rename to src/gromacs/topology/topology.h index 4ee71e582c..6f4e4792d4 100644 --- a/src/gromacs/legacyheaders/types/topology.h +++ b/src/gromacs/topology/topology.h @@ -3,7 +3,7 @@ * * 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. @@ -34,14 +34,14 @@ * 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 "atoms.h" -#include "idef.h" -#include "block.h" -#include "simple.h" -#include "symtab.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/topology/atoms.h" +#include "gromacs/topology/block.h" +#include "gromacs/topology/idef.h" +#include "gromacs/topology/symtab.h" #ifdef __cplusplus extern "C" { @@ -54,7 +54,8 @@ enum { 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]; @@ -62,7 +63,8 @@ typedef struct { 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 */ @@ -72,7 +74,8 @@ typedef struct { 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 */ @@ -88,7 +91,8 @@ typedef struct { /* 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; @@ -105,17 +109,19 @@ typedef struct { } 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 */ @@ -124,6 +130,16 @@ typedef struct { 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 diff --git a/src/gromacs/gmxlib/topsort.c b/src/gromacs/topology/topsort.c similarity index 98% rename from src/gromacs/gmxlib/topsort.c rename to src/gromacs/topology/topsort.c index 7d1f5e5fb3..1f87499166 100644 --- a/src/gromacs/gmxlib/topsort.c +++ b/src/gromacs/topology/topsort.c @@ -34,15 +34,16 @@ * 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 "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "typedefs.h" #include "topsort.h" + +#include + +#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) { diff --git a/src/gromacs/gmxlib/topsort.h b/src/gromacs/topology/topsort.h similarity index 82% rename from src/gromacs/gmxlib/topsort.h rename to src/gromacs/topology/topsort.h index 890df3bde1..53505a40c3 100644 --- a/src/gromacs/gmxlib/topsort.h +++ b/src/gromacs/topology/topsort.h @@ -1,7 +1,7 @@ /* * 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. @@ -32,24 +32,26 @@ * 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 } diff --git a/src/gromacs/trajectoryanalysis.h b/src/gromacs/trajectoryanalysis.h index 2942a303a8..a79edd567a 100644 --- a/src/gromacs/trajectoryanalysis.h +++ b/src/gromacs/trajectoryanalysis.h @@ -276,15 +276,16 @@ #ifndef GMX_TRAJECTORYANALYSIS_H #define GMX_TRAJECTORYANALYSIS_H -#include "analysisdata.h" -#include "options.h" -#include "selection.h" - -#include "selection/nbsearch.h" -#include "trajectoryanalysis/analysismodule.h" -#include "trajectoryanalysis/analysissettings.h" -#include "trajectoryanalysis/cmdlinerunner.h" -#include "utility/arrayref.h" -#include "utility/exceptions.h" +#include "gromacs/analysisdata.h" +#include "gromacs/options.h" +#include "gromacs/selection.h" +#include "gromacs/fileio/trx.h" +#include "gromacs/selection/nbsearch.h" +#include "gromacs/topology/topology.h" +#include "gromacs/trajectoryanalysis/analysismodule.h" +#include "gromacs/trajectoryanalysis/analysissettings.h" +#include "gromacs/trajectoryanalysis/cmdlinerunner.h" +#include "gromacs/utility/arrayref.h" +#include "gromacs/utility/exceptions.h" #endif diff --git a/src/gromacs/trajectoryanalysis/analysismodule.cpp b/src/gromacs/trajectoryanalysis/analysismodule.cpp index 721bac031e..a64a95fec7 100644 --- a/src/gromacs/trajectoryanalysis/analysismodule.cpp +++ b/src/gromacs/trajectoryanalysis/analysismodule.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include "gromacs/trajectoryanalysis/analysismodule.h" +#include "gmxpre.h" + +#include "analysismodule.h" #include @@ -293,7 +295,9 @@ void TrajectoryAnalysisModule::optionsFinished( } -void TrajectoryAnalysisModule::initAfterFirstFrame(const t_trxframe & /*fr*/) +void TrajectoryAnalysisModule::initAfterFirstFrame( + const TrajectoryAnalysisSettings & /*settings*/, + const t_trxframe & /*fr*/) { } diff --git a/src/gromacs/trajectoryanalysis/analysismodule.h b/src/gromacs/trajectoryanalysis/analysismodule.h index 9ae568aebd..a3846214b7 100644 --- a/src/gromacs/trajectoryanalysis/analysismodule.h +++ b/src/gromacs/trajectoryanalysis/analysismodule.h @@ -47,11 +47,13 @@ #include #include -#include "../legacyheaders/typedefs.h" +#include -#include "../selection/selection.h" // For gmx::SelectionList -#include "../utility/common.h" -#include "../utility/uniqueptr.h" +#include "gromacs/selection/selection.h" // For gmx::SelectionList +#include "gromacs/utility/common.h" + +struct t_pbc; +struct t_trxframe; namespace gmx { @@ -176,7 +178,7 @@ class TrajectoryAnalysisModuleData }; //! Smart pointer to manage a TrajectoryAnalysisModuleData object. -typedef gmx_unique_ptr::type +typedef boost::shared_ptr TrajectoryAnalysisModuleDataPointer; /*! \brief @@ -293,7 +295,8 @@ class TrajectoryAnalysisModule * * The default implementation does nothing. */ - virtual void initAfterFirstFrame(const t_trxframe &fr); + virtual void initAfterFirstFrame(const TrajectoryAnalysisSettings &settings, + const t_trxframe &fr); /*! \brief * Starts the analysis of frames. @@ -495,7 +498,7 @@ class TrajectoryAnalysisModule }; //! Smart pointer to manage a TrajectoryAnalysisModule. -typedef gmx_unique_ptr::type +typedef boost::shared_ptr TrajectoryAnalysisModulePointer; } // namespace gmx diff --git a/src/gromacs/trajectoryanalysis/analysissettings-impl.h b/src/gromacs/trajectoryanalysis/analysissettings-impl.h index a19c73b0ab..b42defaaa6 100644 --- a/src/gromacs/trajectoryanalysis/analysissettings-impl.h +++ b/src/gromacs/trajectoryanalysis/analysissettings-impl.h @@ -1,7 +1,7 @@ /* * 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. @@ -42,10 +42,9 @@ #ifndef GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_IMPL_H #define GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_IMPL_H -#include "analysissettings.h" - -#include "../analysisdata/modules/plot.h" -#include "../options/timeunitmanager.h" +#include "gromacs/analysisdata/modules/plot.h" +#include "gromacs/options/timeunitmanager.h" +#include "gromacs/trajectoryanalysis/analysissettings.h" namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/analysissettings.cpp b/src/gromacs/trajectoryanalysis/analysissettings.cpp index 6cfc1d20d7..da9031abb8 100644 --- a/src/gromacs/trajectoryanalysis/analysissettings.cpp +++ b/src/gromacs/trajectoryanalysis/analysissettings.cpp @@ -39,11 +39,13 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include "analysissettings.h" +#include "gmxpre.h" -#include "gromacs/legacyheaders/vec.h" +#include "analysissettings.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" diff --git a/src/gromacs/trajectoryanalysis/analysissettings.h b/src/gromacs/trajectoryanalysis/analysissettings.h index 391b3791d8..5d40d2ac83 100644 --- a/src/gromacs/trajectoryanalysis/analysissettings.h +++ b/src/gromacs/trajectoryanalysis/analysissettings.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,10 +43,11 @@ #ifndef GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_H #define GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_H -#include "../legacyheaders/typedefs.h" +#include "gromacs/math/vectypes.h" +#include "gromacs/options/timeunitmanager.h" +#include "gromacs/utility/common.h" -#include "../options/timeunitmanager.h" -#include "../utility/common.h" +struct t_topology; namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp b/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp index 2838db6d5a..60684c4019 100644 --- a/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp +++ b/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp @@ -39,14 +39,9 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include "cmdlinerunner.h" - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include "gmxpre.h" -#include "gromacs/legacyheaders/pbc.h" -#include "gromacs/legacyheaders/rmpbc.h" +#include "cmdlinerunner.h" #include "gromacs/analysisdata/paralleloptions.h" #include "gromacs/commandline/cmdlinehelpcontext.h" @@ -54,16 +49,20 @@ #include "gromacs/commandline/cmdlinemodule.h" #include "gromacs/commandline/cmdlinemodulemanager.h" #include "gromacs/commandline/cmdlineparser.h" +#include "gromacs/fileio/trx.h" +#include "gromacs/options/filenameoptionmanager.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" #include "gromacs/trajectoryanalysis/analysissettings.h" -#include "gromacs/trajectoryanalysis/runnercommon.h" #include "gromacs/utility/exceptions.h" #include "gromacs/utility/file.h" #include "gromacs/utility/gmxassert.h" +#include "runnercommon.h" + namespace gmx { @@ -109,20 +108,22 @@ TrajectoryAnalysisCommandLineRunner::Impl::parseOptions( 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); + FileNameOptionManager fileoptManager; + 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(&fileoptManager); + 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); @@ -195,7 +196,7 @@ TrajectoryAnalysisCommandLineRunner::run(int argc, char *argv[]) // Load first frame. common.initFirstFrame(); - module->initAfterFirstFrame(common.frame()); + module->initAfterFirstFrame(settings, common.frame()); t_pbc pbc; t_pbc *ppbc = settings.hasPBC() ? &pbc : NULL; @@ -255,21 +256,20 @@ TrajectoryAnalysisCommandLineRunner::writeHelp(const CommandLineHelpContext &con 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) @@ -306,6 +306,7 @@ class TrajectoryAnalysisCommandLineRunner::Impl::RunnerCommandLineModule virtual const char *name() const { return name_; } virtual const char *shortDescription() const { return description_; }; + virtual void init(CommandLineModuleSettings *settings); virtual int run(int argc, char *argv[]); virtual void writeHelp(const CommandLineHelpContext &context) const; @@ -317,6 +318,11 @@ class TrajectoryAnalysisCommandLineRunner::Impl::RunnerCommandLineModule GMX_DISALLOW_COPY_AND_ASSIGN(RunnerCommandLineModule); }; +void TrajectoryAnalysisCommandLineRunner::Impl::RunnerCommandLineModule::init( + CommandLineModuleSettings * /*settings*/) +{ +} + int TrajectoryAnalysisCommandLineRunner::Impl::RunnerCommandLineModule::run( int argc, char *argv[]) { diff --git a/src/gromacs/trajectoryanalysis/cmdlinerunner.h b/src/gromacs/trajectoryanalysis/cmdlinerunner.h index 0b87455e85..242a629959 100644 --- a/src/gromacs/trajectoryanalysis/cmdlinerunner.h +++ b/src/gromacs/trajectoryanalysis/cmdlinerunner.h @@ -1,7 +1,7 @@ /* * 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. @@ -43,8 +43,8 @@ #ifndef GMX_TRAJECTORYANALYSIS_CMDLINERUNNER_H #define GMX_TRAJECTORYANALYSIS_CMDLINERUNNER_H -#include "analysismodule.h" -#include "../utility/common.h" +#include "gromacs/trajectoryanalysis/analysismodule.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/modules.cpp b/src/gromacs/trajectoryanalysis/modules.cpp index bea3ad50ab..07a3a8c378 100644 --- a/src/gromacs/trajectoryanalysis/modules.cpp +++ b/src/gromacs/trajectoryanalysis/modules.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include "gromacs/trajectoryanalysis/modules.h" +#include "gmxpre.h" + +#include "modules.h" #include "gromacs/commandline/cmdlinemodulemanager.h" #include "gromacs/trajectoryanalysis/cmdlinerunner.h" diff --git a/src/gromacs/trajectoryanalysis/modules/angle.cpp b/src/gromacs/trajectoryanalysis/modules/angle.cpp index 25f8346dad..e63cb502d6 100644 --- a/src/gromacs/trajectoryanalysis/modules/angle.cpp +++ b/src/gromacs/trajectoryanalysis/modules/angle.cpp @@ -39,22 +39,24 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ +#include "gmxpre.h" + #include "angle.h" #include #include #include -#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" diff --git a/src/gromacs/trajectoryanalysis/modules/angle.h b/src/gromacs/trajectoryanalysis/modules/angle.h index 80976ebca4..24b81c7356 100644 --- a/src/gromacs/trajectoryanalysis/modules/angle.h +++ b/src/gromacs/trajectoryanalysis/modules/angle.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012,2013, by the GROMACS development team, led by + * Copyright (c) 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. @@ -42,7 +42,7 @@ #ifndef GMX_TRAJECTORYANALYSIS_MODULES_ANGLE_H #define GMX_TRAJECTORYANALYSIS_MODULES_ANGLE_H -#include "../analysismodule.h" +#include "gromacs/trajectoryanalysis/analysismodule.h" namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/modules/distance.cpp b/src/gromacs/trajectoryanalysis/modules/distance.cpp index 13794cb2a9..cd74a302cd 100644 --- a/src/gromacs/trajectoryanalysis/modules/distance.cpp +++ b/src/gromacs/trajectoryanalysis/modules/distance.cpp @@ -39,20 +39,22 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ +#include "gmxpre.h" + #include "distance.h" #include -#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" @@ -367,9 +369,9 @@ Distance::writeOutput() 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)); } } diff --git a/src/gromacs/trajectoryanalysis/modules/distance.h b/src/gromacs/trajectoryanalysis/modules/distance.h index 7d354e3894..519176d577 100644 --- a/src/gromacs/trajectoryanalysis/modules/distance.h +++ b/src/gromacs/trajectoryanalysis/modules/distance.h @@ -1,7 +1,7 @@ /* * 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. @@ -42,7 +42,7 @@ #ifndef GMX_TRAJECTORYANALYSIS_MODULES_DISTANCE_H #define GMX_TRAJECTORYANALYSIS_MODULES_DISTANCE_H -#include "../analysismodule.h" +#include "gromacs/trajectoryanalysis/analysismodule.h" namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/modules/freevolume.cpp b/src/gromacs/trajectoryanalysis/modules/freevolume.cpp index 3e24e2fbfc..127a834b1b 100644 --- a/src/gromacs/trajectoryanalysis/modules/freevolume.cpp +++ b/src/gromacs/trajectoryanalysis/modules/freevolume.cpp @@ -39,25 +39,28 @@ * \author David van der Spoel * \ingroup module_trajectoryanalysis */ +#include "gmxpre.h" + #include "freevolume.h" #include -#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/legacyheaders/copyrite.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" diff --git a/src/gromacs/trajectoryanalysis/modules/freevolume.h b/src/gromacs/trajectoryanalysis/modules/freevolume.h index cc96d6a8e6..ba24de0951 100644 --- a/src/gromacs/trajectoryanalysis/modules/freevolume.h +++ b/src/gromacs/trajectoryanalysis/modules/freevolume.h @@ -1,7 +1,7 @@ /* * 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. @@ -42,7 +42,7 @@ #ifndef GMX_TRAJECTORYANALYSIS_MODULES_FREEVOLUME_H #define GMX_TRAJECTORYANALYSIS_MODULES_FREEVOLUME_H -#include "../analysismodule.h" +#include "gromacs/trajectoryanalysis/analysismodule.h" namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/modules/nsc.c b/src/gromacs/trajectoryanalysis/modules/nsc.c index ab27dae4e3..29f9875b6e 100644 --- a/src/gromacs/trajectoryanalysis/modules/nsc.c +++ b/src/gromacs/trajectoryanalysis/modules/nsc.c @@ -34,21 +34,20 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nsc.h" -#include -#include -#include #include #include -/* Modified DvdS */ -#include "pbc.h" -#include "macros.h" -#include "vec.h" +#include +#include +#include + +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" #include "gromacs/utility/smalloc.h" -#include "nsc.h" #define TEST_NSC 0 diff --git a/src/gromacs/trajectoryanalysis/modules/nsc.h b/src/gromacs/trajectoryanalysis/modules/nsc.h index 6394c56a6b..bb39b9f350 100644 --- a/src/gromacs/trajectoryanalysis/modules/nsc.h +++ b/src/gromacs/trajectoryanalysis/modules/nsc.h @@ -34,7 +34,10 @@ * 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 @@ -142,3 +145,5 @@ int nsc_dclm_pbc(const rvec *coords, real *radius, int nat, #ifdef __cplusplus } #endif + +#endif diff --git a/src/gromacs/trajectoryanalysis/modules/sasa.cpp b/src/gromacs/trajectoryanalysis/modules/sasa.cpp index eb7a3d3e69..6fec3377ab 100644 --- a/src/gromacs/trajectoryanalysis/modules/sasa.cpp +++ b/src/gromacs/trajectoryanalysis/modules/sasa.cpp @@ -41,33 +41,36 @@ * \author Teemu Murtola (C++ conversion) * \ingroup module_trajectoryanalysis */ +#include "gmxpre.h" + #include "sasa.h" #include #include #include -#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/legacyheaders/copyrite.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" diff --git a/src/gromacs/trajectoryanalysis/modules/sasa.h b/src/gromacs/trajectoryanalysis/modules/sasa.h index dcf7329702..4e2ca5eb1e 100644 --- a/src/gromacs/trajectoryanalysis/modules/sasa.h +++ b/src/gromacs/trajectoryanalysis/modules/sasa.h @@ -42,7 +42,7 @@ #ifndef GMX_TRAJECTORYANALYSIS_MODULES_SASA_H #define GMX_TRAJECTORYANALYSIS_MODULES_SASA_H -#include "../analysismodule.h" +#include "gromacs/trajectoryanalysis/analysismodule.h" namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/modules/select.cpp b/src/gromacs/trajectoryanalysis/modules/select.cpp index fc8f592e93..909c70d6af 100644 --- a/src/gromacs/trajectoryanalysis/modules/select.cpp +++ b/src/gromacs/trajectoryanalysis/modules/select.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ +#include "gmxpre.h" + #include "select.h" #include @@ -56,12 +58,14 @@ #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" diff --git a/src/gromacs/trajectoryanalysis/modules/select.h b/src/gromacs/trajectoryanalysis/modules/select.h index 90c4898fa3..62b26a34af 100644 --- a/src/gromacs/trajectoryanalysis/modules/select.h +++ b/src/gromacs/trajectoryanalysis/modules/select.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012,2013, by the GROMACS development team, led by + * Copyright (c) 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. @@ -42,7 +42,7 @@ #ifndef GMX_TRAJECTORYANALYSIS_MODULES_SELECT_H #define GMX_TRAJECTORYANALYSIS_MODULES_SELECT_H -#include "../analysismodule.h" +#include "gromacs/trajectoryanalysis/analysismodule.h" namespace gmx { diff --git a/src/gromacs/trajectoryanalysis/runnercommon.cpp b/src/gromacs/trajectoryanalysis/runnercommon.cpp index b69fe77f49..4d9513ed28 100644 --- a/src/gromacs/trajectoryanalysis/runnercommon.cpp +++ b/src/gromacs/trajectoryanalysis/runnercommon.cpp @@ -39,27 +39,26 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include "runnercommon.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include "runnercommon.h" #include -#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/legacyheaders/oenv.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" @@ -348,7 +347,7 @@ TrajectoryAnalysisRunnerCommon::initFirstFrame() } time_unit_t time_unit = static_cast(impl_->settings_.timeUnit() + 1); - output_env_init(&impl_->oenv_, getProgramContext(), time_unit, FALSE, exvgNONE, 0, 0); + output_env_init(&impl_->oenv_, getProgramContext(), time_unit, FALSE, exvgNONE, 0); int frflags = impl_->settings_.frflags(); frflags |= TRX_NEED_X; @@ -371,17 +370,6 @@ TrajectoryAnalysisRunnerCommon::initFirstFrame() "Trajectory (%d atoms) does not match topology (%d atoms)", impl_->fr->natoms, top.topology()->atoms.nr))); } - // TODO: Check index groups if they have been initialized based on the topology. - /* - if (top) - { - for (int i = 0; i < impl_->sel->nr(); ++i) - { - gmx_ana_index_check(impl_->sel->sel(i)->indexGroup(), - impl_->fr->natoms); - } - } - */ } else { diff --git a/src/gromacs/trajectoryanalysis/runnercommon.h b/src/gromacs/trajectoryanalysis/runnercommon.h index 44b22eceae..e8753db775 100644 --- a/src/gromacs/trajectoryanalysis/runnercommon.h +++ b/src/gromacs/trajectoryanalysis/runnercommon.h @@ -1,7 +1,7 @@ /* * 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. @@ -42,10 +42,9 @@ #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 { diff --git a/src/gromacs/trajectoryanalysis/tests/angle.cpp b/src/gromacs/trajectoryanalysis/tests/angle.cpp index 11c51d1f67..94701813fb 100644 --- a/src/gromacs/trajectoryanalysis/tests/angle.cpp +++ b/src/gromacs/trajectoryanalysis/tests/angle.cpp @@ -39,10 +39,12 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include +#include "gmxpre.h" #include "gromacs/trajectoryanalysis/modules/angle.h" +#include + #include "testutils/cmdlinetest.h" #include "moduletest.h" diff --git a/src/gromacs/trajectoryanalysis/tests/distance.cpp b/src/gromacs/trajectoryanalysis/tests/distance.cpp index 14db4b20b9..5a63636346 100644 --- a/src/gromacs/trajectoryanalysis/tests/distance.cpp +++ b/src/gromacs/trajectoryanalysis/tests/distance.cpp @@ -39,10 +39,12 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include +#include "gmxpre.h" #include "gromacs/trajectoryanalysis/modules/distance.h" +#include + #include "testutils/cmdlinetest.h" #include "moduletest.h" diff --git a/src/gromacs/trajectoryanalysis/tests/freevolume.cpp b/src/gromacs/trajectoryanalysis/tests/freevolume.cpp index a4879651e0..f199976cc5 100644 --- a/src/gromacs/trajectoryanalysis/tests/freevolume.cpp +++ b/src/gromacs/trajectoryanalysis/tests/freevolume.cpp @@ -39,10 +39,12 @@ * \author David van der Spoel * \ingroup module_trajectoryanalysis */ -#include +#include "gmxpre.h" #include "gromacs/trajectoryanalysis/modules/freevolume.h" +#include + #include "testutils/cmdlinetest.h" #include "moduletest.h" diff --git a/src/gromacs/trajectoryanalysis/tests/moduletest.cpp b/src/gromacs/trajectoryanalysis/tests/moduletest.cpp index dc1a265127..b12f0a4418 100644 --- a/src/gromacs/trajectoryanalysis/tests/moduletest.cpp +++ b/src/gromacs/trajectoryanalysis/tests/moduletest.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ +#include "gmxpre.h" + #include "moduletest.h" #include diff --git a/src/gromacs/trajectoryanalysis/tests/sasa.cpp b/src/gromacs/trajectoryanalysis/tests/sasa.cpp index 129597991d..75a60d69df 100644 --- a/src/gromacs/trajectoryanalysis/tests/sasa.cpp +++ b/src/gromacs/trajectoryanalysis/tests/sasa.cpp @@ -52,10 +52,12 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include +#include "gmxpre.h" #include "gromacs/trajectoryanalysis/modules/sasa.h" +#include + #include "testutils/cmdlinetest.h" #include "testutils/testasserts.h" diff --git a/src/gromacs/trajectoryanalysis/tests/select.cpp b/src/gromacs/trajectoryanalysis/tests/select.cpp index 0b101b29c7..05a24a4707 100644 --- a/src/gromacs/trajectoryanalysis/tests/select.cpp +++ b/src/gromacs/trajectoryanalysis/tests/select.cpp @@ -47,10 +47,12 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ -#include +#include "gmxpre.h" #include "gromacs/trajectoryanalysis/modules/select.h" +#include + #include "testutils/cmdlinetest.h" #include "moduletest.h" diff --git a/src/gromacs/trajectoryanalysis/tests/test_selection.cpp b/src/gromacs/trajectoryanalysis/tests/test_selection.cpp index de0ed42872..e8153b6e2e 100644 --- a/src/gromacs/trajectoryanalysis/tests/test_selection.cpp +++ b/src/gromacs/trajectoryanalysis/tests/test_selection.cpp @@ -38,6 +38,8 @@ * \author Teemu Murtola * \ingroup module_trajectoryanalysis */ +#include "gmxpre.h" + #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" #include "gromacs/selection/selection.h" diff --git a/src/gromacs/utility.h b/src/gromacs/utility.h index d2597a13e1..c0bdd6a91c 100644 --- a/src/gromacs/utility.h +++ b/src/gromacs/utility.h @@ -92,8 +92,7 @@ * 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. * @@ -109,14 +108,11 @@ * The header flags.h implements a gmx::FlagsTemplate template for better type * safety when using bit flag fields. * - * The header uniqueptr.h declares gmx::gmx_unique_ptr, which is intended for - * declaring smart pointer types with unique ownership. - * * *

    Other Functionality

    * * The header init.h declares gmx::init() and gmx::finalize() for initializing - * and deinitializing the Gromacs library. + * and deinitializing the \Gromacs library. * * The header arrayref.h implements a gmx::ConstArrayRef class for exposing a * C array or part of a std::vector (basically, any continuous stretch of @@ -137,6 +133,9 @@ * The header messagestringcollector.h declares a gmx::MessageStringCollector * class for composing messages with context information. * + * The header sysinfo.h declares gmx_getpid() for getting the current process + * id. + * * The header programcontext.h declares a gmx::ProgramContextInterface that is * used to * initialize and access information about the running program, such as the @@ -146,6 +145,9 @@ * The header qsort_threadsafe.h provides a guaranteed threadsafe * implementation for qsort(). * + * The header uniqueptr.h declares gmx::gmx_unique_ptr, which is intended for + * declaring smart pointer types with unique ownership. + * * \endif * * \author Teemu Murtola @@ -161,10 +163,10 @@ #ifndef GMX_UTILITY_H #define GMX_UTILITY_H -#include "utility/errorcodes.h" -#include "utility/exceptions.h" -#include "utility/gmxassert.h" -#include "utility/init.h" -#include "utility/programcontext.h" +#include "gromacs/utility/errorcodes.h" +#include "gromacs/utility/exceptions.h" +#include "gromacs/utility/gmxassert.h" +#include "gromacs/utility/init.h" +#include "gromacs/utility/programcontext.h" #endif diff --git a/src/gromacs/utility/.gitignore b/src/gromacs/utility/.gitignore index bd574593cd..c9b05c53b1 100644 --- a/src/gromacs/utility/.gitignore +++ b/src/gromacs/utility/.gitignore @@ -1,2 +1 @@ baseversion-gen.c -gmx_header_config_gen.h diff --git a/src/gromacs/utility/CMakeLists.txt b/src/gromacs/utility/CMakeLists.txt index ae59513caa..b08dcfc5ab 100644 --- a/src/gromacs/utility/CMakeLists.txt +++ b/src/gromacs/utility/CMakeLists.txt @@ -35,27 +35,26 @@ file(GLOB UTILITY_SOURCES *.c *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${UTILITY_SOURCES} PARENT_SCOPE) -set(GENERATED_HEADER_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/gmx_header_config_gen.h) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/gmx_header_config_gen.h.cmakein - ${GENERATED_HEADER_CONFIG}) - 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) + ) gmx_install_headers(utility ${UTILITY_PUBLIC_HEADERS}) -gmx_install_headers(utility ${GENERATED_HEADER_CONFIG}) if (BUILD_TESTING) add_subdirectory(tests) diff --git a/src/gromacs/utility/arrayref.h b/src/gromacs/utility/arrayref.h index 982c712b7d..fb4778d24a 100644 --- a/src/gromacs/utility/arrayref.h +++ b/src/gromacs/utility/arrayref.h @@ -50,7 +50,7 @@ #include #include -#include "gmxassert.h" +#include "gromacs/utility/gmxassert.h" namespace gmx { diff --git a/src/gromacs/utility/basedefinitions.h b/src/gromacs/utility/basedefinitions.h new file mode 100644 index 0000000000..10ed2c7f6d --- /dev/null +++ b/src/gromacs/utility/basedefinitions.h @@ -0,0 +1,229 @@ +/* + * 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 +#include +#ifndef _MSC_VER +#include +#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_cxx_const + * \brief + * Keyword to work around C/C++ differences in possible const keyword usage. + * + * Some functions that do not modify their input parameters cannot declare + * those parameters as `const` and compile warning/error-free on both C and C++ + * compilers because of differences in `const` semantics. This macro can be + * used in cases where C++ allows `const`, but C does not like it, to make the + * same declaration work for both. + */ +#ifdef __cplusplus +#define gmx_cxx_const const +#else +#define gmx_cxx_const +#endif + +/*! \def gmx_unused + * \brief + * Attribute to suppress 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(__PGI) +/* Portland group compilers */ +# 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 + +#ifndef __has_feature +/** For compatibility with non-clang compilers. */ +#define __has_feature(x) 0 +#endif + +/*! \def gmx_noreturn + * \brief + * Indicate that a function is not expected to return. + * + */ +#ifndef gmx_noreturn +#if defined(__GNUC__) || __has_feature(attribute_analyzer_noreturn) +#define gmx_noreturn __attribute__((noreturn)) +#elif defined (_MSC_VER) +#define gmx_noreturn __declspec(noreturn) +#else +#define gmx_noreturn +#endif +#endif + + +#endif diff --git a/src/gromacs/utility/basenetwork.cpp b/src/gromacs/utility/basenetwork.cpp new file mode 100644 index 0000000000..64ef078feb --- /dev/null +++ b/src/gromacs/utility/basenetwork.cpp @@ -0,0 +1,277 @@ +/* + * 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 "gmxpre.h" + +#include "basenetwork.h" + +#include "config.h" + +#include +#include +#include +#include + +#include +#include + +#ifdef HAVE_UNISTD_H +#include +#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__) && !defined(__MINGW32__) + 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 +#ifdef GMX_THREAD_MPI + if (!gmx_mpi_initialized()) + { + return 1; + } +#endif + int i; + (void) MPI_Comm_size(MPI_COMM_WORLD, &i); + return i; +#endif +} + +int gmx_node_rank(void) +{ +#ifndef GMX_MPI + return 0; +#else +#ifdef GMX_THREAD_MPI + if (!gmx_mpi_initialized()) + { + return 0; + } +#endif + 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 +#ifdef __clang__ +/* IBM's declaration of this function in + * /bgsys/drivers/V1R2M2/ppc64/spi/include/kernel/process.h + * erroneously fails to specify __INLINE__, despite + * /bgsys/drivers/V1R2M2/ppc64/spi/include/kernel/cnk/process_impl.h + * specifiying __INLINE__, so bgclang thinks they are different enough + * to complain about. */ +static uint64_t Kernel_GetJobID(); +#endif +#include + +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 diff --git a/src/gromacs/utility/basenetwork.h b/src/gromacs/utility/basenetwork.h new file mode 100644 index 0000000000..d93714c992 --- /dev/null +++ b/src/gromacs/utility/basenetwork.h @@ -0,0 +1,130 @@ +/* + * 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. + */ +/*! \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 + +#include "gromacs/utility/basedefinitions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/*! \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); + +/*! \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, returns `TRUE` when the threads have been started. + * + * Note that there is a lot of code in between MPI_Init() and the thread-MPI + * thread start where the return value is different depending on compilation + * options. + */ +gmx_bool gmx_mpi_initialized(void); + +/*! \brief + * Returns the number of nodes. + * + * For thread-MPI, returns one before the threads have been started. + * This allows code between the real MPI_Init() and the thread-MPI "init" to + * still use this function to check for serial/parallel status and work as + * expected: for thread-MPI, at that point they should behave as if the run was + * serial. + */ +int gmx_node_num(void); + +/*! \brief + * Returns the rank of the node. + * + * For thread-MPI, returns zero before the threads have been started. + * This allows code between the real MPI_Init() and the thread-MPI "init" to + * still use this function to check for master node work as expected: + * for thread-MPI, at that point the only thread of execution should behave as + * if it the master node. + */ +int gmx_node_rank(void); + +/*! \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); + +/*! \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 +} +#endif + +#endif diff --git a/src/gromacs/utility/baseversion-gen.c.cmakein b/src/gromacs/utility/baseversion-gen.c.cmakein index 77bb06e568..7d12ce3db8 100644 --- a/src/gromacs/utility/baseversion-gen.c.cmakein +++ b/src/gromacs/utility/baseversion-gen.c.cmakein @@ -34,6 +34,6 @@ */ #include "gromacs/utility/baseversion-gen.h" -const char _gmx_ver_string[] = "VERSION @GMX_PROJECT_VERSION_STR@"; -const char _gmx_full_git_hash[] = "@GMX_GIT_HEAD_HASH@"; -const char _gmx_central_base_hash[] = "@GMX_GIT_REMOTE_HASH@"; +const char _gmx_ver_string[] = "VERSION @GMX_VERSION_STRING_FULL@"; +const char _gmx_full_git_hash[] = "@GMX_VERSION_FULL_HASH@"; +const char _gmx_central_base_hash[] = "@GMX_VERSION_CENTRAL_BASE_HASH@"; diff --git a/src/gromacs/utility/baseversion.cpp b/src/gromacs/utility/baseversion.cpp index 84315b7c46..876dbeb5b1 100644 --- a/src/gromacs/utility/baseversion.cpp +++ b/src/gromacs/utility/baseversion.cpp @@ -32,7 +32,10 @@ * 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 "gmxpre.h" + #include "baseversion.h" + #include "baseversion-gen.h" const char *gmx_version() diff --git a/src/gromacs/utility/cstringutil.c b/src/gromacs/utility/cstringutil.c index d71419f70b..14f010c077 100644 --- a/src/gromacs/utility/cstringutil.c +++ b/src/gromacs/utility/cstringutil.c @@ -35,11 +35,11 @@ * the research papers on the package. Check out http://www.gromacs.org. */ /* This file is completely threadsafe - keep it that way! */ +#include "gmxpre.h" + #include "cstringutil.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "config.h" #include #include @@ -49,6 +49,7 @@ #include #include + #ifdef HAVE_SYS_TIME_H #include #endif @@ -59,11 +60,10 @@ #include #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) @@ -216,7 +216,7 @@ void nice_header (FILE *out, const char *fn) { const char *unk = "onbekend"; time_t clock; - const char *user = unk; + const char *user; int gh; #ifdef HAVE_PWD_H uid_t uid; @@ -241,8 +241,9 @@ void nice_header (FILE *out, const char *fn) /* pw returns null on error (e.g. compute nodes lack /etc/passwd) */ user = pw ? pw->pw_name : unk; #else - uid = 0; - gh = -1; + uid = 0; + gh = -1; + user = unk; #endif gmx_ctime_r(&clock, timebuf, STRLEN); @@ -589,6 +590,12 @@ str_to_int64_t(const char *str, char **endptr) #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; diff --git a/src/gromacs/utility/cstringutil.h b/src/gromacs/utility/cstringutil.h index 8cba1a370b..9bd8e3b85e 100644 --- a/src/gromacs/utility/cstringutil.h +++ b/src/gromacs/utility/cstringutil.h @@ -43,12 +43,12 @@ #ifndef GMX_UTILITY_CSTRINGUTIL_H #define GMX_UTILITY_CSTRINGUTIL_H +#include "gromacs/utility/gmx_header_config.h" + #include #include -#include "../legacyheaders/types/simple.h" - -#include "gmx_header_config.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { @@ -61,6 +61,8 @@ extern "C" { #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. @@ -183,6 +185,18 @@ char *wrap_lines(const char *buf, int line_width, int indent, */ 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 diff --git a/src/gromacs/utility/errorcodes.cpp b/src/gromacs/utility/errorcodes.cpp index f03bf2d38b..00c57aa67c 100644 --- a/src/gromacs/utility/errorcodes.cpp +++ b/src/gromacs/utility/errorcodes.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_utility */ -#include "gromacs/utility/errorcodes.h" +#include "gmxpre.h" + +#include "errorcodes.h" #include diff --git a/src/gromacs/utility/errorformat.cpp b/src/gromacs/utility/errorformat.cpp index 53e98d735c..a8f7159c29 100644 --- a/src/gromacs/utility/errorformat.cpp +++ b/src/gromacs/utility/errorformat.cpp @@ -39,12 +39,12 @@ * \author Teemu Murtola * \ingroup module_utility */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include "gmxpre.h" #include "errorformat.h" +#include "config.h" + #include #include #include diff --git a/src/gromacs/utility/exceptions.cpp b/src/gromacs/utility/exceptions.cpp index 0f0d003696..952383ffad 100644 --- a/src/gromacs/utility/exceptions.cpp +++ b/src/gromacs/utility/exceptions.cpp @@ -39,11 +39,11 @@ * \author Teemu Murtola * \ingroup module_utility */ +#include "gmxpre.h" + #include "exceptions.h" -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include @@ -51,13 +51,12 @@ #include #include -#include #include +#include #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" @@ -177,11 +176,15 @@ GromacsException::GromacsException(const ExceptionInitializer &details) const char *GromacsException::what() const throw() { const ErrorMessage *msg = boost::get_error_info(*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) @@ -517,7 +520,7 @@ int processExceptionAtExit(const std::exception & /*ex*/) #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; } diff --git a/src/gromacs/utility/exceptions.h b/src/gromacs/utility/exceptions.h index ace7b66224..e6a8929320 100644 --- a/src/gromacs/utility/exceptions.h +++ b/src/gromacs/utility/exceptions.h @@ -51,11 +51,11 @@ #include #include +#include #include #include #include #include -#include namespace gmx { diff --git a/src/gromacs/gmxlib/gmx_fatal.c b/src/gromacs/utility/fatalerror.cpp similarity index 54% rename from src/gromacs/gmxlib/gmx_fatal.c rename to src/gromacs/utility/fatalerror.cpp index 63353f1c41..f242e2d448 100644 --- a/src/gromacs/gmxlib/gmx_fatal.c +++ b/src/gromacs/utility/fatalerror.cpp @@ -34,54 +34,58 @@ * 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 "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "fatalerror.h" -#include -#include -#include -#include +#include "config.h" -#include "thread_mpi/threads.h" +#include +#include +#include +#include + +#include -#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 bool bDebug = false; +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; +FILE *debug = NULL; +gmx_bool gmx_debug_at = FALSE; -gmx_bool bDebugMode(void) +static FILE *log_file = NULL; +static tMPI_Thread_mutex_t error_mutex = TMPI_THREAD_MUTEX_INITIALIZER; +static const char *const gmxuser + = "Please report this to the mailing list (gmx-users@gromacs.org)"; + +void gmx_init_debug(const int dbglevel, const char *dbgfile) { - 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; + if (!bDebug) + { + gmx_disable_file_buffering(); + debug = gmx_ffopen(dbgfile, "w+"); + bDebug = true; + if (dbglevel >= 2) + { + gmx_debug_at = TRUE; + } + } } -void gmx_fatal_set_log_file(FILE *fp) +gmx_bool bDebugMode(void) { - log_file = fp; + return bDebug; } void _where(const char *file, int line) @@ -126,11 +130,16 @@ void _where(const char *file, int line) } } +void gmx_fatal_set_log_file(FILE *fp) +{ + log_file = fp; +} + 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); + tMPI_Thread_mutex_lock(&error_mutex); if (fatal_errno == 0) { if (log_file) @@ -150,212 +159,127 @@ static void quit_gmx(const char *msg) } perror(msg); } + tMPI_Thread_mutex_unlock(&error_mutex); +} -#ifdef GMX_LIB_MPI - if (gmx_mpi_initialized()) - { - int nnodes; - int noderank; - - nnodes = gmx_node_num(); - noderank = gmx_node_rank(); - - if (nnodes > 1) - { - fprintf(stderr, "Error on rank %d, will try to stop all ranks\n", - noderank); - } - gmx_abort(noderank, nnodes, -1); - } -#endif - - if (debug) - { - fflush(debug); - } - if (bDebugMode()) - { - fprintf(stderr, "dump core (y/n):"); - fflush(stderr); - if (toupper(getc(stdin)) != 'N') - { - (void) abort(); - } - } +static void (*gmx_error_handler)(const char *msg) = default_error_handler; - exit(fatal_errno); - tMPI_Thread_mutex_unlock(&debug_mutex); +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(&error_mutex); + gmx_error_handler = func; + tMPI_Thread_mutex_unlock(&error_mutex); } -/* 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) +static void call_error_handler(const char *key, const char *file, int line, const char *msg) { - 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 + char buf[10240], errerrbuf[1024]; + const char *llines = "-------------------------------------------------------"; + char *strerr; + + if (msg == NULL) { - if (fatal_errno != -1) - { - errno = fatal_errno; - } - perror(msg); + sprintf(errerrbuf, "Empty fatal_error message. %s", gmxuser); } - -#ifndef GMX_LIB_MPI - if (debug) + // In case ProgramInfo is not initialized and there is an issue with the + // initialization, fall back to "GROMACS". + const char *programName = "GROMACS"; + try { - fflush(debug); + programName = gmx::getProgramContext().displayName(); } - if (bDebugMode()) + catch (const std::exception &) { - fprintf(stderr, "dump core (y/n):"); - fflush(stderr); - if (toupper(getc(stdin)) != 'N') - { - (void) abort(); - } } -#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); + 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("fatal", msg, file, line); + gmx_error_handler(buf); } -void gmx_fatal_collective(int f_errno, const char *file, int line, - const t_commrec *cr, gmx_domdec_t *dd, - const char *fmt, ...) +gmx_noreturn static void do_exit(bool bMaster, bool bFinalize) { - gmx_bool bFinalize; - va_list ap; - char msg[STRLEN]; -#ifdef GMX_MPI - int result; -#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 (debug) { - MPI_Comm_compare(dd->mpi_comm_all, MPI_COMM_WORLD, &result); + fflush(debug); } - /* Any result except MPI_UNEQUAL allows us to call MPI_Finalize */ - bFinalize = (result != MPI_UNEQUAL); -#endif - if ((cr != NULL && MASTER(cr) ) || - (dd != NULL && DDMASTER(dd))) +#ifdef GMX_MPI + if (gmx_mpi_initialized()) { - 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); - if (bFinalize) { - /* Use an error handler that does not quit */ - set_gmx_error_handler(quit_gmx_noquit); + /* 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 + } + else + { + /* Let all other processes wait till the master has printed + * the error message and issued MPI_Abort. + */ + MPI_Barrier(MPI_COMM_WORLD); } - - _gmx_error("fatal", msg, file, line); } +#else + GMX_UNUSED_VALUE(bMaster); + GMX_UNUSED_VALUE(bFinalize); +#endif -#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 + if (bDebugMode()) { - /* Let all other processes wait till the master has printed - * the error message and issued MPI_Abort. - */ - MPI_Barrier(MPI_COMM_WORLD); + std::abort(); } -#endif - - exit(fatal_errno); + std::exit(1); } -/* - * These files are global variables in the gromacs preprocessor - * Every routine in a file that includes gmx_fatal.h can write to these - * debug channels. Depending on the debuglevel used - * 0 to 3 of these filed are redirected to /dev/null - * - */ -FILE *debug = NULL; -gmx_bool gmx_debug_at = FALSE; - -void init_debug(const int dbglevel, const char *dbgfile) +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) { - tMPI_Thread_mutex_lock(&debug_mutex); - if (!bDebug) /* another thread hasn't already run this*/ + if (bMaster) { - no_buffers(); - debug = gmx_fio_fopen(dbgfile, "w+"); - bDebug = TRUE; - if (dbglevel >= 2) - { - gmx_debug_at = TRUE; - } - } - tMPI_Thread_mutex_unlock(&debug_mutex); -} + char msg[STRLEN]; + vsprintf(msg, fmt, ap); + + tMPI_Thread_mutex_lock(&error_mutex); + fatal_errno = f_errno; + tMPI_Thread_mutex_unlock(&error_mutex); -static const char *gmxuser = "Please report this to the mailing list (gmx-users@gromacs.org)"; + call_error_handler("fatal", file, line, msg); + } -static void (*gmx_error_handler)(const char *msg) = quit_gmx; + do_exit(bMaster, bFinalize); +} -void set_gmx_error_handler(void (*func)(const char *msg)) +void gmx_fatal(int f_errno, const char *file, int line, const char *fmt, ...) { - tMPI_Thread_mutex_lock(&debug_mutex); - gmx_error_handler = func; - tMPI_Thread_mutex_unlock(&debug_mutex); + va_list ap; + va_start(ap, fmt); + gmx_fatal_mpi_va(f_errno, file, line, TRUE, FALSE, fmt, ap); + va_end(ap); } char *gmx_strerror(const char *key) @@ -375,11 +299,9 @@ char *gmx_strerror(const char *key) { "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) { @@ -387,49 +309,24 @@ char *gmx_strerror(const char *key) } 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, diff --git a/src/gromacs/legacyheaders/gmx_fatal.h b/src/gromacs/utility/fatalerror.h similarity index 78% rename from src/gromacs/legacyheaders/gmx_fatal.h rename to src/gromacs/utility/fatalerror.h index 8bf145b35e..1dd4cff339 100644 --- a/src/gromacs/legacyheaders/gmx_fatal.h +++ b/src/gromacs/utility/fatalerror.h @@ -39,39 +39,48 @@ * 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 #include -#include "types/simple.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" { #endif -#ifndef __has_feature -/** For compatibility with non-clang compilers. */ -#define __has_feature(x) 0 -#endif +/*! \brief + * Debug log file. + * + * Functions can write to this file for debug info. + * Before writing to it, it should be checked whether the file is not NULL: + * \code + if (debug) + { + fprintf(debug, "%s", "Debug text"); + } + \endcode + */ +extern FILE *debug; +/** Whether extra debugging is enabled. */ +extern gmx_bool gmx_debug_at; -/*! \def GMX_ATTRIBUTE_NORETURN - * \brief - * Indicate that a function is not expected to return. +/*! \brief + * Initializes debugging variables. * - * \todo - * There are functions outside this header that need the same attribute. - * This could be moved to a generic header and made it affect also compiler - * code generation. + * This function is not threadsafe. It should be called as part of + * initializing \Gromacs, before any other thread accesses the library. + * For command line programs, gmx::CommandLineModuleManager takes care + * of this if the user requests debugging. */ -#ifndef GMX_ATTRIBUTE_NORETURN -#if __has_feature(attribute_analyzer_noreturn) -#define GMX_ATTRIBUTE_NORETURN __attribute__((analyzer_noreturn)) -#else -#define GMX_ATTRIBUTE_NORETURN -#endif -#endif +void gmx_init_debug(const int dbglevel, const char *dbgfile); + +/** Returns TRUE when the program was started in debug mode */ +gmx_bool bDebugMode(void); /** Implementation for where(). */ void @@ -79,6 +88,40 @@ _where(const char *file, int line); /** Prints filename and line to stdlog. */ #define where() _where(__FILE__, __LINE__) +/** Sets the log file for printing error messages. */ +void +gmx_fatal_set_log_file(FILE *fp); + +/*! \brief + * Sets an error handler for gmx_fatal() and other fatal error routines. + * + * 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() + */ +void +set_gmx_error_handler(void (*func)(const char *msg)); + +/*! \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). + */ +gmx_noreturn 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); + /*! \brief * Fatal error reporting routine for \Gromacs. * @@ -92,7 +135,7 @@ _where(const char *file, int line); * 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: @@ -100,61 +143,11 @@ _where(const char *file, int line); gmx_fatal(FARGS, fmt, ...); \endcode */ -void -gmx_fatal(int fatal_errno, const char *file, int line, const char *fmt, ...) GMX_ATTRIBUTE_NORETURN; +gmx_noreturn void +gmx_fatal(int fatal_errno, const char *file, int line, const char *fmt, ...); /** Helper macro to pass first three parameters to gmx_fatal(). */ #define FARGS 0, __FILE__, __LINE__ -/** Sets the log file for printing error messages. */ -void -gmx_fatal_set_log_file(FILE *fp); - -/*! \brief - * Debug log file. - * - * Functions can write to this file for debug info. - * Before writing to it, it should be checked whether the file is not NULL: - * \code - if (debug) - { - fprintf(debug, "%s", "Debug text"); - } - \endcode - */ -extern FILE *debug; -/** Whether extra debugging is enabled. */ -extern gmx_bool gmx_debug_at; - -/** Initializes debugging variables */ -void init_debug(const int dbglevel, const char *dbgfile); - -/** Returns TRUE when the program was started in debug mode */ -gmx_bool bDebugMode(void); - -/*! \brief - * Implementation for range_check() and range_check_mesg(). - * - * \p warn_str can be NULL. - */ -void _range_check(int n, int n_min, int n_max, const char *warn_str, - const char *var, - const char *file, int line); - -/*! \brief - * Checks that a variable is within a range. - * - * If \p n is not in range [n_min, n_max), a fatal error is raised. - * \p n_min is inclusive, but \p n_max is not. - */ -#define range_check_mesg(n, n_min, n_max, str) _range_check(n, n_min, n_max, str,#n, __FILE__, __LINE__) - -/*! \brief - * Checks that a variable is within a range. - * - * This works as range_check_mesg(), but with a default error message. - */ -#define range_check(n, n_min, n_max) _range_check(n, n_min, n_max, NULL,#n, __FILE__, __LINE__) - /*! \brief * Returns error message corresponding to a string key. * @@ -164,7 +157,7 @@ void _range_check(int n, int n_min, int n_max, const char *warn_str, char *gmx_strerror(const char *key); /** Implementation for gmx_error(). */ -void _gmx_error(const char *key, const char *msg, const char *file, int line) GMX_ATTRIBUTE_NORETURN; +gmx_noreturn void _gmx_error(const char *key, const char *msg, const char *file, int line); /*! \brief * Alternative fatal error routine with canned messages. * @@ -194,18 +187,28 @@ void _gmx_error(const char *key, const char *msg, const char *file, int line) GM /*! \} */ /*! \brief - * Sets an error handler for gmx_fatal() and other fatal error routines. + * Implementation for range_check() and range_check_mesg(). * - * 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 string passed to the handler may be a multi-line string. + * \p warn_str can be NULL. + */ +void _range_check(int n, int n_min, int n_max, const char *warn_str, + const char *var, + const char *file, int line); + +/*! \brief + * Checks that a variable is within a range. * - * \see gmx_fatal() + * If \p n is not in range [n_min, n_max), a fatal error is raised. + * \p n_min is inclusive, but \p n_max is not. */ -void -set_gmx_error_handler(void (*func)(const char *msg)); +#define range_check_mesg(n, n_min, n_max, str) _range_check(n, n_min, n_max, str,#n, __FILE__, __LINE__) + +/*! \brief + * Checks that a variable is within a range. + * + * This works as range_check_mesg(), but with a default error message. + */ +#define range_check(n, n_min, n_max) _range_check(n, n_min, n_max, NULL,#n, __FILE__, __LINE__) /*! \brief * Prints a warning message to stderr. diff --git a/src/gromacs/utility/file.cpp b/src/gromacs/utility/file.cpp index 787cb72c5a..174fa00803 100644 --- a/src/gromacs/utility/file.cpp +++ b/src/gromacs/utility/file.cpp @@ -39,8 +39,12 @@ * \author Teemu Murtola * \ingroup module_utility */ +#include "gmxpre.h" + #include "file.h" +#include "config.h" + #include #include #include @@ -49,9 +53,8 @@ #include #include -#include "config.h" - #include + #ifdef HAVE_UNISTD_H #include #endif diff --git a/src/gromacs/utility/file.h b/src/gromacs/utility/file.h index 15b48d16a5..ef837b4a84 100644 --- a/src/gromacs/utility/file.h +++ b/src/gromacs/utility/file.h @@ -47,7 +47,7 @@ #include -#include "common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/fileio/futil.cpp b/src/gromacs/utility/futil.cpp similarity index 92% rename from src/gromacs/fileio/futil.cpp rename to src/gromacs/utility/futil.cpp index a93bf6f1f0..546b875808 100644 --- a/src/gromacs/fileio/futil.cpp +++ b/src/gromacs/utility/futil.cpp @@ -34,17 +34,19 @@ * 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 "gmxpre.h" + +#include "futil.h" + #include "config.h" -#endif #include #include #include -#include -#include #include +#include +#include #ifdef HAVE_DIRENT_H /* POSIX */ @@ -56,9 +58,9 @@ #endif #ifdef GMX_NATIVE_WINDOWS -#include #include #include +#include #endif /* Windows file stuff, only necessary for visual studio */ @@ -68,14 +70,10 @@ #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" @@ -90,15 +88,15 @@ typedef struct t_pstack { } t_pstack; static t_pstack *pstack = NULL; -static gmx_bool bUnbuffered = FALSE; +static bool bUnbuffered = false; /* this linked list is an intrinsically globally shared object, so we have to protect it with mutexes */ static tMPI_Thread_mutex_t pstack_mutex = TMPI_THREAD_MUTEX_INITIALIZER; -void no_buffers(void) +void gmx_disable_file_buffering(void) { - bUnbuffered = TRUE; + bUnbuffered = true; } void push_ps(FILE *fp) @@ -199,10 +197,6 @@ int gmx_ffclose(FILE *fp) } -#ifdef rewind -#undef rewind -#endif - void frewind(FILE *fp) { tMPI_Thread_mutex_lock(&pstack_mutex); @@ -252,26 +246,6 @@ gmx_off_t gmx_ftell(FILE *stream) #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; @@ -330,41 +304,6 @@ gmx_bool gmx_fexist(const char *fname) } } - -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 @@ -870,28 +809,6 @@ void gmx_tmpnam(char *buf) /* name in Buf should now be OK */ } -int gmx_truncatefile(char *path, gmx_off_t length) -{ -#ifdef GMX_NATIVE_WINDOWS - /* 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 @@ -994,13 +911,15 @@ int gmx_fsync(FILE *fp) rc = fah_fsync(fp); #else /* GMX_FAHCORE */ { - int fn = -1; + int fn; /* get the file number */ #if defined(HAVE_FILENO) fn = fileno(fp); #elif defined(HAVE__FILENO) fn = _fileno(fp); +#else + fn = -1; #endif /* do the actual fsync */ diff --git a/src/gromacs/utility/futil.h b/src/gromacs/utility/futil.h new file mode 100644 index 0000000000..8e669e09d3 --- /dev/null +++ b/src/gromacs/utility/futil.h @@ -0,0 +1,262 @@ +/* + * 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 +#include + +#include "gromacs/utility/basedefinitions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#if 0 +} +#endif + +#include "gromacs/utility/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 for output files (which is default) for debugging + * purposes. + * + * This only has effect on files opened with gmx_ffopen(). + */ +void gmx_disable_file_buffering(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 diff --git a/src/gromacs/utility/gmx_header_config.h b/src/gromacs/utility/gmx_header_config.h index d70c1efd67..ae67ee1851 100644 --- a/src/gromacs/utility/gmx_header_config.h +++ b/src/gromacs/utility/gmx_header_config.h @@ -1,7 +1,7 @@ /* * 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. @@ -36,21 +36,17 @@ * \brief * Include file for configuration macros that affect installed headers. * - * This include file (or rather, one that it includes) will configured by CMake - * and installed with GROMACS header files so that they can refer to a central - * location for \#defines that will be available for builds of projects that - * depend on GROMACS. - * - * The actual defines are in gmx_header_config_gen.h to allow usage of relative - * include paths before installation. + * This include file will be installed with GROMACS header files so that they + * can refer to a central location for \#defines that will be available for + * builds of projects that depend on GROMACS. * * \todo - * It would be better to have the defines here such that they are not generated - * from CMake, but instead detected using \#ifdefs (possible for some of the - * macros currently used). - * Even better would be to not have these defines at all. + * It would be better to not have these defines at all in installed headers. * * \inlibraryapi * \ingroup module_utility */ -#include "gmx_header_config_gen.h" + +#if defined( _WIN32 ) || defined( _WIN64 ) +#define GMX_NATIVE_WINDOWS +#endif diff --git a/src/gromacs/utility/gmx_header_config_gen.h.cmakein b/src/gromacs/utility/gmx_header_config_gen.h.cmakein deleted file mode 100644 index f9d6835ca8..0000000000 --- a/src/gromacs/utility/gmx_header_config_gen.h.cmakein +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of the GROMACS molecular simulation package. - * - * 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. - */ -/*! \file - * \brief - * Generated include file for configuration macros that affect installed - * headers. - * - * This include file will configured by CMake and installed with GROMACS - * header files so that they can refer to a central location for \#defines that - * will be available for builds of projects that depend on GROMACS. - * - * gmx_header_config.h should be included instead of this file to allow usage - * of relative install paths. - * - * \inlibraryapi - * \ingroup module_utility - */ - -#ifdef __CYGWIN__ -#define GMX_CYGWIN -#endif - -#if defined( _WIN32 ) || defined( _WIN64 ) -#define GMX_NATIVE_WINDOWS -#endif - -/** Define if we have sufficient C++11 support */ -#cmakedefine GMX_CXX11 diff --git a/src/gromacs/utility/gmxassert.cpp b/src/gromacs/utility/gmxassert.cpp index eba0f964eb..ef61240a76 100644 --- a/src/gromacs/utility/gmxassert.cpp +++ b/src/gromacs/utility/gmxassert.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012, by the GROMACS development team, led by + * Copyright (c) 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. @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_utility */ +#include "gmxpre.h" + #include "gmxassert.h" #include diff --git a/src/gromacs/utility/gmxassert.h b/src/gromacs/utility/gmxassert.h index 941faaeaa4..a919080d32 100644 --- a/src/gromacs/utility/gmxassert.h +++ b/src/gromacs/utility/gmxassert.h @@ -45,6 +45,8 @@ #include +#include "gromacs/utility/basedefinitions.h" + //! \addtogroup module_utility //! \{ @@ -99,11 +101,7 @@ namespace internal * * \ingroup module_utility */ -#if defined(_MSC_VER) -__declspec(noreturn) -#elif defined(__GNUC__) -__attribute__((__noreturn__)) -#endif +gmx_noreturn void assertHandler(const char *condition, const char *msg, const char *func, const char *file, int line); diff --git a/src/gromacs/utility/gmxmpi.h b/src/gromacs/utility/gmxmpi.h index dea8c9fdae..cacc0a0cbe 100644 --- a/src/gromacs/utility/gmxmpi.h +++ b/src/gromacs/utility/gmxmpi.h @@ -49,9 +49,7 @@ #ifndef GMX_UTILITY_GMXMPI_H #define GMX_UTILITY_GMXMPI_H -#ifdef HAVE_CONFIG_H #include "config.h" -#endif /*! \cond */ #ifdef GMX_LIB_MPI @@ -75,8 +73,8 @@ #endif /*MPI_INT64_T*/ #else #ifdef GMX_THREAD_MPI -#include "thread_mpi/tmpi.h" #include "thread_mpi/mpi_bindings.h" +#include "thread_mpi/tmpi.h" #else typedef void* MPI_Comm; typedef void* MPI_Request; diff --git a/src/gromacs/utility/gmxomp.cpp b/src/gromacs/utility/gmxomp.cpp index 9e6469b3a4..15989a16fe 100644 --- a/src/gromacs/utility/gmxomp.cpp +++ b/src/gromacs/utility/gmxomp.cpp @@ -38,22 +38,25 @@ * * \ingroup module_utility */ -#include "gromacs/utility/gmxomp.h" +#include "gmxpre.h" + +#include "gmxomp.h" #include "config.h" #include +#include #ifdef GMX_OPENMP #include #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) { @@ -91,58 +94,41 @@ void gmx_omp_set_num_threads(int num_threads) #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 */ @@ -178,17 +164,21 @@ void gmx_omp_check_thread_affinity(FILE *fplog, /* 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; } diff --git a/src/gromacs/utility/gmxomp.h b/src/gromacs/utility/gmxomp.h index 276aee8c13..553eadc092 100644 --- a/src/gromacs/utility/gmxomp.h +++ b/src/gromacs/utility/gmxomp.h @@ -49,9 +49,9 @@ #ifndef GMX_UTILITY_OMP_H #define GMX_UTILITY_OMP_H -#ifdef HAVE_CONFIG_H #include "config.h" -#endif + +#include #ifndef GMX_NATIVE_WINDOWS /* Ugly hack because the openmp implementation below hacks into the SIMD @@ -67,8 +67,7 @@ #include #endif -#include "types/commrec.h" -#include "mdrun.h" +#include "gromacs/utility/basedefinitions.h" #ifdef __cplusplus extern "C" @@ -113,9 +112,31 @@ void gmx_omp_set_num_threads(int num_threads); /*! \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. diff --git a/src/gromacs/utility/gmxregex.cpp b/src/gromacs/utility/gmxregex.cpp index e6b0ce5c8c..81efa86870 100644 --- a/src/gromacs/utility/gmxregex.cpp +++ b/src/gromacs/utility/gmxregex.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -39,15 +39,15 @@ * \author Teemu Murtola * \ingroup module_utility */ +#include "gmxpre.h" + #include "gmxregex.h" -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #if defined(HAVE_POSIX_REGEX) -// old Mac needs sys/types.h before regex.h #include +// old Mac needs sys/types.h before regex.h #include #define USE_POSIX_REGEX #elif defined(HAVE_CXX11_REGEX) @@ -55,8 +55,8 @@ #define USE_CXX11_REGEX #endif -#include "exceptions.h" -#include "stringutil.h" +#include "gromacs/utility/exceptions.h" +#include "gromacs/utility/stringutil.h" namespace gmx { diff --git a/src/gromacs/utility/gmxregex.h b/src/gromacs/utility/gmxregex.h index a80f523bee..9385163082 100644 --- a/src/gromacs/utility/gmxregex.h +++ b/src/gromacs/utility/gmxregex.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -45,7 +45,7 @@ #include -#include "common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/utility/init.cpp b/src/gromacs/utility/init.cpp index fbb56e1d21..f211053574 100644 --- a/src/gromacs/utility/init.cpp +++ b/src/gromacs/utility/init.cpp @@ -39,11 +39,11 @@ * \author Teemu Murtola * \ingroup module_utility */ -#include "gromacs/utility/init.h" +#include "gmxpre.h" + +#include "init.h" -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #ifdef GMX_LIB_MPI #include "gromacs/utility/gmxmpi.h" diff --git a/src/gromacs/utility/messagestringcollector.cpp b/src/gromacs/utility/messagestringcollector.cpp index 5bc53b8a2e..937bb541cb 100644 --- a/src/gromacs/utility/messagestringcollector.cpp +++ b/src/gromacs/utility/messagestringcollector.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012, by the GROMACS development team, led by + * Copyright (c) 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. @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_utility */ -#include "gromacs/utility/messagestringcollector.h" +#include "gmxpre.h" + +#include "messagestringcollector.h" #include diff --git a/src/gromacs/utility/messagestringcollector.h b/src/gromacs/utility/messagestringcollector.h index aca59a33b1..b78af98447 100644 --- a/src/gromacs/utility/messagestringcollector.h +++ b/src/gromacs/utility/messagestringcollector.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012,2013, by the GROMACS development team, led by + * Copyright (c) 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. @@ -45,7 +45,7 @@ #include -#include "../utility/common.h" +#include "gromacs/utility/common.h" namespace gmx { diff --git a/src/gromacs/fileio/path.cpp b/src/gromacs/utility/path.cpp similarity index 94% rename from src/gromacs/fileio/path.cpp rename to src/gromacs/utility/path.cpp index b9db04d7a1..1302d30f97 100644 --- a/src/gromacs/fileio/path.cpp +++ b/src/gromacs/utility/path.cpp @@ -37,10 +37,14 @@ * Implements functions in path.h. * * \author Teemu Murtola - * \ingroup module_fileio + * \ingroup module_utility */ +#include "gmxpre.h" + #include "path.h" +#include "config.h" + #include #include #include @@ -48,9 +52,8 @@ #include -#include "config.h" - #include + #ifdef GMX_NATIVE_WINDOWS #include #else @@ -59,7 +62,7 @@ #endif #endif -#include "gromacs/fileio/futil.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/stringutil.h" namespace @@ -165,6 +168,18 @@ std::string Path::getFilename(const std::string &path) 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); diff --git a/src/gromacs/fileio/path.h b/src/gromacs/utility/path.h similarity index 95% rename from src/gromacs/fileio/path.h rename to src/gromacs/utility/path.h index b900676d73..faadab1c49 100644 --- a/src/gromacs/fileio/path.h +++ b/src/gromacs/utility/path.h @@ -38,10 +38,10 @@ * * \author Teemu Murtola * \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 #include @@ -67,6 +67,7 @@ class Path 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); diff --git a/src/gromacs/utility/programcontext.cpp b/src/gromacs/utility/programcontext.cpp index 5af68f1424..ac9bc13dd7 100644 --- a/src/gromacs/utility/programcontext.cpp +++ b/src/gromacs/utility/programcontext.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_utility */ -#include "gromacs/utility/programcontext.h" +#include "gmxpre.h" + +#include "programcontext.h" #include diff --git a/src/gromacs/utility/qsort_threadsafe.c b/src/gromacs/utility/qsort_threadsafe.c index 347080bfe7..0f0849076d 100644 --- a/src/gromacs/utility/qsort_threadsafe.c +++ b/src/gromacs/utility/qsort_threadsafe.c @@ -32,6 +32,8 @@ * 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 "gmxpre.h" + #include "qsort_threadsafe.h" #include diff --git a/src/gromacs/utility/real.h b/src/gromacs/utility/real.h new file mode 100644 index 0000000000..e8a3ae18e7 --- /dev/null +++ b/src/gromacs/utility/real.h @@ -0,0 +1,138 @@ +/* + * 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 + +#ifdef __PGI +/* The portland group x86 C/C++ compilers do not treat negative zero initializers + * correctly, but "optimizes" them to positive zero, so we implement it explicitly. + * These constructs are optimized to simple loads at compile time. If you want to + * use them on other compilers those have to support gcc preprocessor extensions. + * Note: These initializers might be sensitive to the endianness (which can + * be different for byte and word order), so check that it works for your platform + * and add a separate section if necessary before adding to the ifdef above. + */ +# define GMX_DOUBLE_NEGZERO ({ const union { int di[2]; double d; } _gmx_dzero = {0, -2147483648}; _gmx_dzero.d; }) +# define GMX_FLOAT_NEGZERO ({ const union { int fi; float f; } _gmx_fzero = {-2147483648}; _gmx_fzero.f; }) +#else +/*! \brief Negative zero in double */ +# define GMX_DOUBLE_NEGZERO (-0.0) + +/*! \brief Negative zero in float */ +# define GMX_FLOAT_NEGZERO (-0.0f) +#endif + +/*! \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_NEGZERO + * \brief Negative zero 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_NEGZERO GMX_DOUBLE_NEGZERO +#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_NEGZERO GMX_FLOAT_NEGZERO +#define gmx_real_fullprecision_pfmt "%14.7e" + +#endif /* GMX_DOUBLE */ + +#endif diff --git a/src/gromacs/utility/scoped_ptr_sfree.h b/src/gromacs/utility/scoped_ptr_sfree.h index 3c1077ccae..7078a80aeb 100644 --- a/src/gromacs/utility/scoped_ptr_sfree.h +++ b/src/gromacs/utility/scoped_ptr_sfree.h @@ -43,7 +43,7 @@ #ifndef GMX_UTILITY_SCOPED_PTR_SFREE_H #define GMX_UTILITY_SCOPED_PTR_SFREE_H -#include "common.h" +#include "gromacs/utility/common.h" #include "gromacs/utility/smalloc.h" namespace gmx diff --git a/src/gromacs/utility/smalloc.c b/src/gromacs/utility/smalloc.c index 7d8e85c029..16d70514b9 100644 --- a/src/gromacs/utility/smalloc.c +++ b/src/gromacs/utility/smalloc.c @@ -34,11 +34,11 @@ * 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/smalloc.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "smalloc.h" + +#include "config.h" #include #include @@ -52,16 +52,18 @@ #include #endif -#include "gromacs/legacyheaders/gmx_fatal.h" +#include "thread_mpi/threads.h" +#include "gromacs/utility/fatalerror.h" #ifdef PRINT_ALLOC_KB -#include "gromacs/legacyheaders/network.h" +#include "gromacs/utility/basenetwork.h" #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) { @@ -290,7 +292,6 @@ void *save_malloc_aligned(const char *name, const char *file, int line, } #endif - allocate_fail = FALSE; /* stop compiler warnings */ #ifdef HAVE_POSIX_MEMALIGN allocate_fail = (0 != posix_memalign(&malloced, alignment, nelem*elsize)); #elif defined HAVE_MEMALIGN @@ -359,3 +360,24 @@ void save_free_aligned(const char gmx_unused *name, const char gmx_unused *file, #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; + } +} diff --git a/src/gromacs/utility/smalloc.h b/src/gromacs/utility/smalloc.h index 0d1aa3aaed..74d71a5586 100644 --- a/src/gromacs/utility/smalloc.h +++ b/src/gromacs/utility/smalloc.h @@ -73,6 +73,8 @@ #include +#include "gromacs/utility/basedefinitions.h" + #ifdef __cplusplus extern "C" { #endif @@ -328,6 +330,10 @@ void gmx_snew_aligned_impl(const char *name, const char *file, int line, #endif +#ifdef __cplusplus +extern "C" { +#endif + /*! \brief * Frees memory referenced by \p ptr. * @@ -347,4 +353,47 @@ void gmx_snew_aligned_impl(const char *name, const char *file, int line, */ #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 diff --git a/src/gromacs/utility/stringutil.cpp b/src/gromacs/utility/stringutil.cpp index 6104225d3f..5b2c725017 100644 --- a/src/gromacs/utility/stringutil.cpp +++ b/src/gromacs/utility/stringutil.cpp @@ -39,11 +39,13 @@ * \author Teemu Murtola * \ingroup module_utility */ +#include "gmxpre.h" + #include "stringutil.h" #include -#include #include +#include #include #include diff --git a/src/gromacs/gmxlib/physics_test.c b/src/gromacs/utility/sysinfo.cpp similarity index 77% rename from src/gromacs/gmxlib/physics_test.c rename to src/gromacs/utility/sysinfo.cpp index 7382cd2e71..64f9ff29bf 100644 --- a/src/gromacs/gmxlib/physics_test.c +++ b/src/gromacs/utility/sysinfo.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * 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. @@ -32,20 +32,31 @@ * 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 -#include "physics.h" +/*! \internal \file + * \brief + * Implements functions from sysinfo.h. + * + * \author Teemu Murtola + * \ingroup module_utility + */ +#include "gmxpre.h" -int main(int argc, char *argv[]) -{ - int i; - double x, y, z; +#include "sysinfo.h" - 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); - } +#include "config.h" + +#ifdef GMX_NATIVE_WINDOWS +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif + +int gmx_getpid() +{ +#ifdef GMX_NATIVE_WINDOWS + return _getpid(); +#else + return getpid(); +#endif } diff --git a/src/gromacs/utility/sysinfo.h b/src/gromacs/utility/sysinfo.h new file mode 100644 index 0000000000..919c7b623f --- /dev/null +++ b/src/gromacs/utility/sysinfo.h @@ -0,0 +1,64 @@ +/* + * 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 functions for obtaining information about the operating environment + * and the current process. + * + * \author Teemu Murtola + * \inlibraryapi + * \ingroup module_utility + */ +#ifndef GMX_UTILITY_SYSINFO_H +#define GMX_UTILITY_SYSINFO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*! \brief + * Returns the process ID of the current process. + * + * Does not throw. + * + * \ingroup module_utility + */ +int gmx_getpid(); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/gromacs/utility/tests/stringutil.cpp b/src/gromacs/utility/tests/stringutil.cpp index 348ffa8964..dcdc5cba0c 100644 --- a/src/gromacs/utility/tests/stringutil.cpp +++ b/src/gromacs/utility/tests/stringutil.cpp @@ -43,14 +43,16 @@ * \author Teemu Murtola * \ingroup module_utility */ +#include "gmxpre.h" + +#include "gromacs/utility/stringutil.h" + #include #include #include #include -#include "gromacs/utility/stringutil.h" - #include "testutils/refdata.h" #include "testutils/stringtest.h" diff --git a/src/gromacs/utility/uniqueptr.h b/src/gromacs/utility/uniqueptr.h index c9157f9755..93d376cd8a 100644 --- a/src/gromacs/utility/uniqueptr.h +++ b/src/gromacs/utility/uniqueptr.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -32,7 +32,7 @@ * 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 +/*! \libinternal \file * \brief * Declares gmx::gmx_unique_ptr and supporting functionality. * @@ -44,7 +44,7 @@ #ifndef GMX_UTILITY_UNIQUEPTR_H #define GMX_UTILITY_UNIQUEPTR_H -#include "gmx_header_config.h" +#include "config.h" #ifdef GMX_CXX11 // C++11 Compiler #include @@ -56,7 +56,8 @@ namespace gmx { -/*! \class gmx_unique_ptr +//! \cond libapi +/*! \libinternal \class gmx_unique_ptr * \brief * Smart pointer for unique ownership. * @@ -73,7 +74,7 @@ namespace gmx * \ingroup module_utility * \inlibraryapi */ -/*! \typedef gmx_unique_ptr::type +/*! \libinternal \typedef gmx_unique_ptr::type * \brief The smart pointer type. * Work-around for the non-existence of template typedefs in C++03. */ @@ -105,6 +106,7 @@ struct gmx_unique_ptr typedef boost::shared_ptr type; }; #endif +//! \endcond } // namespace gmx diff --git a/src/gromacs/version.h.cmakein b/src/gromacs/version.h.cmakein index 179457e8f3..667ca13991 100644 --- a/src/gromacs/version.h.cmakein +++ b/src/gromacs/version.h.cmakein @@ -92,7 +92,7 @@ * For 4.6 and 5.0 (and likely for some time in the future as well), this * tracks the exact \Gromacs version. */ -#define GMX_API_VERSION @API_VERSION@ +#define GMX_API_VERSION @GMX_API_VERSION@ /*! \brief * Exact \Gromacs version of this set of headers. @@ -100,6 +100,6 @@ * This specifies the version number of the actual \Gromacs library that * installed these headers. */ -#define GMX_VERSION @NUM_VERSION@ +#define GMX_VERSION @GMX_VERSION_NUMERIC@ #endif diff --git a/src/programs/BuildCompletions.cmake b/src/programs/BuildCompletions.cmake new file mode 100644 index 0000000000..cea5ea151f --- /dev/null +++ b/src/programs/BuildCompletions.cmake @@ -0,0 +1,58 @@ +# +# 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. + +if (NOT DEFINED GMX_EXECUTABLE) + message(FATAL_ERROR "Required input parameter not set") +endif() + +file(MAKE_DIRECTORY completion) +execute_process( + COMMAND ${GMX_EXECUTABLE} -quiet help -export completion + WORKING_DIRECTORY completion + RESULT_VARIABLE exitcode) +if (exitcode) + # Ensure that no partial output is left behind. + file(REMOVE_RECURSE completion) + if (ERRORS_ARE_FATAL) + message(FATAL_ERROR + "Failed to generate shell completions. " + "Set GMX_BUILD_HELP=OFF if you want to skip the completions.\n" + "Error/exit code: ${exitcode}") + else() + message( + "Failed to generate shell completions, will build GROMACS without. " + "Set GMX_BUILD_HELP=OFF if you want to skip this notification and " + "warnings during installation.") + endif() +endif() diff --git a/src/programs/CMakeLists.txt b/src/programs/CMakeLists.txt index 6d907b88e9..d4643c9d94 100644 --- a/src/programs/CMakeLists.txt +++ b/src/programs/CMakeLists.txt @@ -79,23 +79,21 @@ else() ######################## # Completion generation + include(gmxCustomCommandUtilities) + set(COMPLETION_DIR ${CMAKE_CURRENT_SOURCE_DIR}/completion) - if(SOURCE_IS_SOURCE_DISTRIBUTION) - # Make sure source package contains the completions. - if(NOT EXISTS "${COMPLETION_DIR}/gmx-completion.bash") - message(FATAL_ERROR "Shell completions are missing from source package.") - endif() - endif() - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/completion) - add_custom_target(completion - gmx -quiet help -export completion - COMMENT "Generating command-line completions for programs" - WORKING_DIRECTORY completion - VERBATIM) # Using GMX_BUILD_HELP here is somewhat confusing, but the conditions when # this can be done are exactly the same (ability to run the compiled # binaries). if (GMX_BUILD_HELP) + gmx_add_custom_output_target(completion OUTPUT STAMP + COMMAND ${CMAKE_COMMAND} + -D GMX_EXECUTABLE=$ + -D ERRORS_ARE_FATAL=${GMX_BUILD_HELP_FORCE} + -P ${CMAKE_CURRENT_SOURCE_DIR}/BuildCompletions.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS gmx ${CMAKE_CURRENT_SOURCE_DIR}/BuildCompletions.cmake + COMMENT "Generating command-line completions for programs") set_target_properties(completion PROPERTIES EXCLUDE_FROM_ALL OFF) set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "completion") @@ -103,12 +101,13 @@ else() endif() if (SOURCE_IS_SOURCE_DISTRIBUTION OR GMX_BUILD_HELP) install(DIRECTORY ${COMPLETION_DIR}/ - DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime) + DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime OPTIONAL) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gmx-completion-${BINARY_NAME}.bash "complete -o nospace -F _gmx_compl ${BINARY_NAME}") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gmx-completion-${BINARY_NAME}.bash DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime) endif() + gmx_cpack_add_generated_source_directory(completion) if (GMX_SYMLINK_OLD_BINARY_NAMES) configure_file(CreateLinks.cmake.cmakein CreateLinks.cmake @ONLY) diff --git a/src/programs/gmx.cpp b/src/programs/gmx.cpp index 68ff5408e7..3381f6bc8e 100644 --- a/src/programs/gmx.cpp +++ b/src/programs/gmx.cpp @@ -37,9 +37,11 @@ * * \author Teemu Murtola */ -#include "gromacs/commandline/cmdlinemodulemanager.h" +#include "gmxpre.h" + #include "gromacs/commandline/cmdlineinit.h" -#include "gromacs/selection/selectioncollection.h" +#include "gromacs/commandline/cmdlinemodulemanager.h" +#include "gromacs/selection/selhelp.h" #include "gromacs/trajectoryanalysis/modules.h" #include "gromacs/utility/exceptions.h" @@ -54,7 +56,7 @@ main(int argc, char *argv[]) gmx::CommandLineModuleManager manager("gmx", &context); registerTrajectoryAnalysisModules(&manager); registerLegacyModules(&manager); - manager.addHelpTopic(gmx::SelectionCollection::createDefaultHelpTopic()); + manager.addHelpTopic(gmx::createSelectionHelpTopic()); int rc = manager.run(argc, argv); gmx::finalizeForCommandLine(); return rc; diff --git a/src/programs/legacymodules.cpp b/src/programs/legacymodules.cpp index 11c1097edc..720122cba7 100644 --- a/src/programs/legacymodules.cpp +++ b/src/programs/legacymodules.cpp @@ -37,13 +37,14 @@ * * \author Teemu Murtola */ +#include "gmxpre.h" + #include "legacymodules.h" #include #include "gromacs/commandline/cmdlinemodule.h" #include "gromacs/commandline/cmdlinemodulemanager.h" - #include "gromacs/gmxana/gmx_ana.h" #include "gromacs/gmxpreprocess/genconf.h" #include "gromacs/gmxpreprocess/grompp.h" @@ -86,6 +87,9 @@ class ObsoleteToolModule : public gmx::CommandLineModuleInterface return NULL; } + virtual void init(gmx::CommandLineModuleSettings * /*settings*/) + { + } virtual int run(int /*argc*/, char * /*argv*/[]) { printMessage(); @@ -107,7 +111,58 @@ class ObsoleteToolModule : public gmx::CommandLineModuleInterface } const char *name_; +}; + +// TODO: Consider removing duplication with CMainCommandLineModule from +// cmdlinemodulemanager.cpp. +class NoNiceModule : public gmx::CommandLineModuleInterface +{ + public: + //! \copydoc gmx::CommandLineModuleManager::CMainFunction + typedef gmx::CommandLineModuleManager::CMainFunction CMainFunction; + + /*! \brief + * Creates a wrapper module for the given main function. + * + * \param[in] name Name for the module. + * \param[in] shortDescription One-line description for the module. + * \param[in] mainFunction Main function to wrap. + * + * Does not throw. + */ + NoNiceModule(const char *name, const char *shortDescription, + CMainFunction mainFunction) + : name_(name), shortDescription_(shortDescription), + mainFunction_(mainFunction) + { + } + + virtual const char *name() const + { + return name_; + } + virtual const char *shortDescription() const + { + return shortDescription_; + } + virtual void init(gmx::CommandLineModuleSettings *settings) + { + settings->setDefaultNiceLevel(0); + } + virtual int run(int argc, char *argv[]) + { + return mainFunction_(argc, argv); + } + virtual void writeHelp(const gmx::CommandLineHelpContext &context) const + { + writeCommandLineHelpCMain(context, name_, mainFunction_); + } + + private: + const char *name_; + const char *shortDescription_; + CMainFunction mainFunction_; }; /*! \brief @@ -125,6 +180,24 @@ void registerModule(gmx::CommandLineModuleManager *manager, manager->addModuleCMain(name, shortDescription, mainFunction); } +/*! \brief + * Convenience function for creating and registering a module that defaults to + * -nice 0. + * + * \param[in] manager Module manager to which to register the module. + * \param[in] mainFunction Main function to wrap. + * \param[in] name Name for the new module. + * \param[in] shortDescription One-line description for the new module. + */ +void registerModuleNoNice(gmx::CommandLineModuleManager *manager, + gmx::CommandLineModuleManager::CMainFunction mainFunction, + const char *name, const char *shortDescription) +{ + gmx::CommandLineModulePointer module( + new NoNiceModule(name, shortDescription, mainFunction)); + manager->addModule(move(module)); +} + /*! \brief * Convenience function for registering a module for an obsolete tool. * @@ -160,8 +233,8 @@ void registerLegacyModules(gmx::CommandLineModuleManager *manager) registerModule(manager, &gmx_x2top, "x2top", "Generate a primitive topology from coordinates"); - registerModule(manager, &gmx_mdrun, "mdrun", - "Perform a simulation, do a normal mode analysis or an energy minimization"); + registerModuleNoNice(manager, &gmx_mdrun, "mdrun", + "Perform a simulation, do a normal mode analysis or an energy minimization"); // Modules from gmx_ana.h. registerModule(manager, &gmx_do_dssp, "do_dssp", @@ -332,8 +405,8 @@ void registerLegacyModules(gmx::CommandLineModuleManager *manager) "Perform weighted histogram analysis after umbrella sampling"); registerModule(manager, &gmx_wheel, "wheel", "Plot helical wheels"); - registerModule(manager, &gmx_view, "view", - "View a trajectory on an X-Windows terminal"); + registerModuleNoNice(manager, &gmx_view, "view", + "View a trajectory on an X-Windows terminal"); { gmx::CommandLineModuleGroup group = diff --git a/src/programs/mdrun/md.c b/src/programs/mdrun/md.cpp similarity index 97% rename from src/programs/mdrun/md.c rename to src/programs/mdrun/md.cpp index 3d98d597c7..0504150c00 100644 --- a/src/programs/mdrun/md.c +++ b/src/programs/mdrun/md.cpp @@ -34,67 +34,67 @@ * 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 -#endif +#include "gmxpre.h" -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "sysstuff.h" -#include "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 "mdrun.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 "orires.h" -#include "pme.h" -#include "mdatoms.h" -#include "repl_ex.h" -#include "deform.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 "sighandler.h" -#include "txtdump.h" -#include "gromacs/utility/cstringutil.h" -#include "pme_loadbal.h" -#include "bondf.h" -#include "membed.h" -#include "types/nlistheuristics.h" -#include "types/iteratedconstraints.h" -#include "nbnxn_cuda_data_mgmt.h" +#include "config.h" + +#include -#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/gmxpreprocess/compute_io.h" +#include "gromacs/imd/imd.h" +#include "gromacs/legacyheaders/bonded-threading.h" +#include "gromacs/legacyheaders/calcmu.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/domdec_network.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/md_support.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdebin.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/nrnb.h" +#include "gromacs/legacyheaders/ns.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/shellfc.h" +#include "gromacs/legacyheaders/sighandler.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/update.h" +#include "gromacs/legacyheaders/vcm.h" +#include "gromacs/legacyheaders/vsite.h" +#include "gromacs/legacyheaders/types/iteratedconstraints.h" +#include "gromacs/legacyheaders/types/nlistheuristics.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.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/topology/mtop_util.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" + +#include "deform.h" +#include "membed.h" +#include "pme_loadbal.h" +#include "repl_ex.h" #ifdef GMX_FAHCORE #include "corewrap.h" @@ -105,7 +105,7 @@ static void reset_all_counters(FILE *fplog, t_commrec *cr, gmx_int64_t *step_rel, t_inputrec *ir, gmx_wallcycle_t wcycle, t_nrnb *nrnb, gmx_walltime_accounting_t walltime_accounting, - nbnxn_cuda_ptr_t cu_nbv) + struct nonbonded_verlet_t *nbv) { char sbuf[STEPSTRSIZE]; @@ -113,10 +113,7 @@ static void reset_all_counters(FILE *fplog, t_commrec *cr, md_print_warn(cr, fplog, "step %s: resetting all time and cycle counters\n", gmx_step_str(step, sbuf)); - if (cu_nbv) - { - nbnxn_cuda_reset_timings(cu_nbv); - } + nbnxn_cuda_reset_timings(nbv); wallcycle_stop(wcycle, ewcRUN); wallcycle_reset_all(wcycle); @@ -170,7 +167,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], 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; @@ -189,10 +186,8 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], 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, bSumEkinhOld, bDoReplEx, bExchanged, bNeedRepartition; gmx_bool bResetCountersHalfMaxH = FALSE; gmx_bool bVV, bIterativeCase, bFirstIterate, bTemp, bPres, bTrotter; gmx_bool bUpdateDoLR; @@ -207,7 +202,6 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], 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]; @@ -231,7 +225,6 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], /* Check for special mdrun options */ bRerunMD = (Flags & MD_RERUN); - bAppend = (Flags & MD_APPENDFILES); if (Flags & MD_RESETCOUNTERSHALFWAY) { if (ir->nsteps > 0) @@ -483,7 +476,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], */ if ((Flags & MD_TUNEPME) && EEL_PME(fr->eeltype) && - ( (fr->cutoff_scheme == ecutsVERLET && fr->nbv->bUseGPU) || !(cr->duty & DUTY_PME)) && + ( use_GPU(fr->nbv) || !(cr->duty & DUTY_PME)) && !bRerunMD) { pme_loadbal_init(&pme_loadbal, ir, state->box, fr->ic, fr->pmedata); @@ -726,9 +719,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], bStateFromTPX = !bStateFromCP; bInitStep = bFirstStep && (bStateFromTPX || bVV); bStartingFromCpt = (Flags & MD_STARTFROMCPT) && bInitStep; - bLastStep = FALSE; bSumEkinhOld = FALSE; - bDoReplEx = FALSE; bExchanged = FALSE; bNeedRepartition = FALSE; @@ -737,10 +728,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], 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 )) { @@ -1161,7 +1149,6 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], } } - bOK = TRUE; if (!bRerunMD || rerun_fr.bV || bForceUpdate) /* Why is rerun_fr.bV here? Unclear. */ { wallcycle_stop(wcycle, ewcUPDATE); @@ -1177,12 +1164,6 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], /* Correct the virial for multiple time stepping */ m_sub(shake_vir, fr->vir_twin_constr, shake_vir); } - - if (!bOK) - { - gmx_fatal(FARGS, "Constraint error: Shake, Lincs or Settle could not solve the constrains"); - } - } else if (graph) { @@ -1483,7 +1464,6 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], */ copy_mat(state->box, lastbox); - bOK = TRUE; dvdl_constr = 0; if (!(bRerunMD && !rerun_fr.bV && !bForceUpdate)) @@ -1593,15 +1573,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], FALSE, bCalcVir, state->veta); } - if (!bOK) - { - gmx_fatal(FARGS, "Constraint error: Shake, Lincs or Settle could not solve the constrains"); - } - if (fr->bSepDVDL && fplog && do_log) - { - gmx_print_sepdvdl(fplog, "Constraint dV/dl", 0.0, dvdl_constr); - } if (bVV) { /* this factor or 2 correction is necessary @@ -1910,7 +1882,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], dd_bcast(cr->dd, sizeof(gmx_bool), &bPMETuneRunning); if (bPMETuneRunning && - fr->nbv->bUseGPU && DOMAINDECOMP(cr) && + use_GPU(fr->nbv) && DOMAINDECOMP(cr) && !(cr->duty & DUTY_PME)) { /* Lock DLB=auto to off (does nothing when DLB=yes/no). @@ -1974,7 +1946,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], { /* Reset all the counters related to performance over the run */ reset_all_counters(fplog, cr, step, &step_rel, ir, wcycle, nrnb, walltime_accounting, - fr->nbv != NULL && fr->nbv->bUseGPU ? fr->nbv->cu_nbv : NULL); + use_GPU(fr->nbv) ? fr->nbv : NULL); wcycle_set_reset_counters(wcycle, -1); if (!(cr->duty & DUTY_PME)) { @@ -2033,7 +2005,7 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], if (pme_loadbal != NULL) { pme_loadbal_done(pme_loadbal, cr, fplog, - fr->nbv != NULL && fr->nbv->bUseGPU); + use_GPU(fr->nbv)); } if (shellfc && fplog) diff --git a/src/programs/mdrun/mdrun.cpp b/src/programs/mdrun/mdrun.cpp index 6bac3f08e7..52d866fdf8 100644 --- a/src/programs/mdrun/mdrun.cpp +++ b/src/programs/mdrun/mdrun.cpp @@ -34,17 +34,17 @@ * 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 "mdrun_main.h" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include +#include +#include "gromacs/commandline/pargs.h" +#include "gromacs/fileio/filenm.h" #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" @@ -52,9 +52,21 @@ #include "gromacs/legacyheaders/readinp.h" #include "gromacs/legacyheaders/typedefs.h" #include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/utility/fatalerror.h" -#include "gromacs/commandline/pargs.h" -#include "gromacs/fileio/filenm.h" +#include "mdrun_main.h" + +static bool is_multisim_option_set(int argc, const char *const argv[]) +{ + for (int i = 0; i < argc; ++i) + { + if (strcmp(argv[i], "-multi") == 0 || strcmp(argv[i], "-multidir") == 0) + { + return true; + } + } + return false; +} int gmx_mdrun(int argc, char *argv[]) { @@ -71,8 +83,7 @@ int gmx_mdrun(int argc, char *argv[]) "The [TT]mdrun[tt] program reads the run input file ([TT]-s[tt])", "and distributes the topology over ranks if needed.", "[TT]mdrun[tt] produces at least four output files.", - "A single log file ([TT]-g[tt]) is written, unless the option", - "[TT]-seppot[tt] is used, in which case each rank writes a log file.", + "A single log file ([TT]-g[tt]) is written.", "The trajectory file ([TT]-o[tt]), contains coordinates, velocities and", "optionally forces.", "The structure file ([TT]-c[tt]) contains the coordinates and", @@ -398,7 +409,7 @@ int gmx_mdrun(int argc, char *argv[]) }; t_commrec *cr; t_filenm fnm[] = { - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efTRN, "-o", NULL, ffWRITE }, { efCOMPRESSED, "-x", NULL, ffOPTWR }, { efCPT, "-cpi", NULL, ffOPTRD }, @@ -443,7 +454,6 @@ int gmx_mdrun(int argc, char *argv[]) gmx_bool bTestVerlet = FALSE; gmx_bool bVerbose = FALSE; gmx_bool bCompact = TRUE; - gmx_bool bSepPot = FALSE; gmx_bool bRerunVSite = FALSE; gmx_bool bConfout = TRUE; gmx_bool bReproducible = FALSE; @@ -507,9 +517,9 @@ int gmx_mdrun(int argc, char *argv[]) { "-ntomp_pme", FALSE, etINT, {&hw_opt.nthreads_omp_pme}, "Number of OpenMP threads per MPI rank to start (0 is -ntomp)" }, { "-pin", FALSE, etENUM, {thread_aff_opt}, - "Set thread affinities" }, + "Whether mdrun should try to set thread affinities" }, { "-pinoffset", FALSE, etINT, {&hw_opt.core_pinning_offset}, - "The starting logical core number for pinning to cores; used to avoid pinning threads from different mdrun instances to the same core" }, + "The lowest logical core number to which mdrun should pin the first thread" }, { "-pinstride", FALSE, etINT, {&hw_opt.core_pinning_stride}, "Pinning distance in logical cores for threads, use 0 to minimize the number of threads per physical core" }, { "-gpu_id", FALSE, etSTR, {&hw_opt.gpu_opt.gpu_id}, @@ -553,8 +563,6 @@ int gmx_mdrun(int argc, char *argv[]) "Be loud and noisy" }, { "-compact", FALSE, etBOOL, {&bCompact}, "Write a compact log file" }, - { "-seppot", FALSE, etBOOL, {&bSepPot}, - "Write separate V and dVdl terms for each interaction type and rank to the log file(s)" }, { "-pforce", FALSE, etREAL, {&pforce}, "Print all forces larger than this (kJ/mol nm)" }, { "-reprod", FALSE, etBOOL, {&bReproducible}, @@ -596,7 +604,7 @@ int gmx_mdrun(int argc, char *argv[]) { "-resethway", FALSE, etBOOL, {&bResetCountersHalfWay}, "HIDDENReset the cycle counters after half the number of steps or halfway [TT]-maxh[tt]" } }; - unsigned long Flags, PCA_Flags; + unsigned long Flags; ivec ddxyz; int dd_node_order; gmx_bool bAddPart; @@ -607,10 +615,17 @@ int gmx_mdrun(int argc, char *argv[]) int rc; char **multidir = NULL; - cr = init_commrec(); - PCA_Flags = (PCA_CAN_SET_DEFFNM | (MASTER(cr) ? 0 : PCA_QUIET)); + unsigned long PCA_Flags = PCA_CAN_SET_DEFFNM; + // With -multi or -multidir, the file names are going to get processed + // further (or the working directory changed), so we can't check for their + // existence during parsing. It isn't useful to do any completion based on + // file system contents, either. + if (is_multisim_option_set(argc, argv)) + { + PCA_Flags |= PCA_DISABLE_INPUT_FILE_CHECKING; + } /* Comment this in to do fexist calls only on master * works not with rerun or tables at the moment @@ -679,11 +694,6 @@ int gmx_mdrun(int argc, char *argv[]) sim_part_fn = sim_part; if (opt2bSet("-cpi", NFILE, fnm)) { - if (bSepPot && bAppendFiles) - { - gmx_fatal(FARGS, "Output file appending is not supported with -seppot"); - } - bAppendFiles = read_checkpoint_simulation_part(opt2fn_master("-cpi", NFILE, fnm, cr), @@ -738,7 +748,6 @@ int gmx_mdrun(int argc, char *argv[]) } Flags = opt2bSet("-rerun", NFILE, fnm) ? MD_RERUN : 0; - Flags = Flags | (bSepPot ? MD_SEPPOT : 0); Flags = Flags | (bDDBondCheck ? MD_DDBONDCHECK : 0); Flags = Flags | (bDDBondComm ? MD_DDBONDCOMM : 0); Flags = Flags | (bTunePME ? MD_TUNEPME : 0); @@ -758,19 +767,15 @@ int gmx_mdrun(int argc, char *argv[]) /* We postpone opening the log file if we are appending, so we can first truncate the old log file and append to the correct position there instead. */ - if ((MASTER(cr) || bSepPot) && !bAppendFiles) + if (MASTER(cr) && !bAppendFiles) { gmx_log_open(ftp2fn(efLOG, NFILE, fnm), cr, - !bSepPot, Flags & MD_APPENDFILES, &fplog); + Flags & MD_APPENDFILES, &fplog); please_cite(fplog, "Hess2008b"); please_cite(fplog, "Spoel2005a"); please_cite(fplog, "Lindahl2001a"); please_cite(fplog, "Berendsen95a"); } - else if (!MASTER(cr) && bSepPot) - { - gmx_log_open(ftp2fn(efLOG, NFILE, fnm), cr, !bSepPot, Flags, &fplog); - } else { fplog = NULL; diff --git a/src/programs/mdrun/membed.c b/src/programs/mdrun/membed.c index cf83ce57b5..cef61ffb3d 100644 --- a/src/programs/mdrun/membed.c +++ b/src/programs/mdrun/membed.c @@ -32,31 +32,28 @@ * 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 -#endif +#include "gmxpre.h" + +#include "membed.h" #include #include -#include "typedefs.h" -#include "types/commrec.h" -#include "gromacs/utility/smalloc.h" -#include "sysstuff.h" -#include "vec.h" -#include "macros.h" -#include "main.h" -#include "gromacs/fileio/futil.h" + #include "gromacs/essentialdynamics/edsam.h" -#include "index.h" -#include "physics.h" -#include "names.h" -#include "mtop_util.h" #include "gromacs/fileio/tpxio.h" -#include "gromacs/utility/cstringutil.h" -#include "membed.h" -#include "pbc.h" -#include "readinp.h" #include "gromacs/gmxpreprocess/readir.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/readinp.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/topology/index.h" +#include "gromacs/topology/mtop_util.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" /* information about scaling center */ typedef struct { @@ -1039,7 +1036,7 @@ gmx_membed_t init_membed(FILE *fplog, int nfile, const t_filenm fnm[], gmx_mtop_ get_input(membed_input, &xy_fac, &xy_max, &z_fac, &z_max, &it_xy, &it_z, &probe_rad, &low_up_rm, &maxwarn, &pieces, &bALLOW_ASYMMETRY); - tpr_version = get_tpr_version(ftp2fn(efTPX, nfile, fnm)); + tpr_version = get_tpr_version(ftp2fn(efTPR, nfile, fnm)); if (tpr_version < membed_version) { gmx_fatal(FARGS, "Version of *.tpr file to old (%d). " diff --git a/src/programs/mdrun/membed.h b/src/programs/mdrun/membed.h index b420604676..7face206df 100644 --- a/src/programs/mdrun/membed.h +++ b/src/programs/mdrun/membed.h @@ -1,7 +1,7 @@ /* * 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. @@ -36,8 +36,9 @@ #ifndef _gmx_membed_h #define _gmx_membed_h -#include "typedefs.h" -#include "types/membedt.h" +#include "gromacs/fileio/filenm.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/membedt.h" #ifdef __cplusplus extern "C" { diff --git a/src/programs/mdrun/pme_loadbal.c b/src/programs/mdrun/pme_loadbal.c index d6fd68f372..dd2cd1a2e9 100644 --- a/src/programs/mdrun/pme_loadbal.c +++ b/src/programs/mdrun/pme_loadbal.c @@ -32,23 +32,27 @@ * 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 -#endif +#include "gmxpre.h" -#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 "macros.h" -#include "md_logging.h" #include "pme_loadbal.h" +#include "config.h" + +#include "gromacs/legacyheaders/calcgrid.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/sim_util.h" +#include "gromacs/legacyheaders/types/commrec.h" +#include "gromacs/math/vec.h" +#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.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 */ @@ -436,17 +440,17 @@ static void switch_to_stage1(pme_load_balancing_t pme_lb) pme_lb->cur = pme_lb->start - 1; } -gmx_bool pme_load_balance(pme_load_balancing_t pme_lb, - t_commrec *cr, - FILE *fp_err, - FILE *fp_log, - t_inputrec *ir, - t_state *state, - double cycles, - interaction_const_t *ic, - nonbonded_verlet_t *nbv, - gmx_pme_t *pmedata, - gmx_int64_t step) +gmx_bool pme_load_balance(pme_load_balancing_t pme_lb, + t_commrec *cr, + FILE *fp_err, + FILE *fp_log, + t_inputrec *ir, + t_state *state, + double cycles, + interaction_const_t *ic, + struct nonbonded_verlet_t *nbv, + gmx_pme_t *pmedata, + gmx_int64_t step) { gmx_bool OK; pme_setup_t *set; @@ -698,30 +702,26 @@ gmx_bool pme_load_balance(pme_load_balancing_t pme_lb, } bUsesSimpleTables = uses_simple_tables(ir->cutoff_scheme, nbv, 0); - if (pme_lb->cutoff_scheme == ecutsVERLET && - nbv->grp[0].kernel_type == nbnxnk8x8x8_CUDA) - { - nbnxn_cuda_pme_loadbal_update_param(nbv->cu_nbv, ic); - - /* With tMPI + GPUs some ranks may be sharing GPU(s) and therefore - * also sharing texture references. To keep the code simple, we don't - * treat texture references as shared resources, but this means that - * the coulomb_tab texture ref will get updated by multiple threads. - * Hence, to ensure that the non-bonded kernels don't start before all - * texture binding operations are finished, we need to wait for all ranks - * to arrive here before continuing. - * - * Note that we could omit this barrier if GPUs are not shared (or - * texture objects are used), but as this is initialization code, there - * is not point in complicating things. - */ + nbnxn_cuda_pme_loadbal_update_param(nbv, ic); + + /* With tMPI + GPUs some ranks may be sharing GPU(s) and therefore + * also sharing texture references. To keep the code simple, we don't + * treat texture references as shared resources, but this means that + * the coulomb_tab texture ref will get updated by multiple threads. + * Hence, to ensure that the non-bonded kernels don't start before all + * texture binding operations are finished, we need to wait for all ranks + * to arrive here before continuing. + * + * Note that we could omit this barrier if GPUs are not shared (or + * texture objects are used), but as this is initialization code, there + * is not point in complicating things. + */ #ifdef GMX_THREAD_MPI - if (PAR(cr)) - { - gmx_barrier(cr); - } -#endif /* GMX_THREAD_MPI */ + if (PAR(cr) && use_GPU(nbv)) + { + gmx_barrier(cr); } +#endif /* GMX_THREAD_MPI */ /* Usually we won't need the simple tables with GPUs. * But we do with hybrid acceleration and with free energy. diff --git a/src/programs/mdrun/pme_loadbal.h b/src/programs/mdrun/pme_loadbal.h index f2b9f0152b..db68beb1ab 100644 --- a/src/programs/mdrun/pme_loadbal.h +++ b/src/programs/mdrun/pme_loadbal.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -36,6 +36,16 @@ #ifndef _pme_loadbal_h #define _pme_loadbal_h +#ifdef __cplusplus +extern "C" { +#endif + +#include "gromacs/legacyheaders/types/commrec_fwd.h" +#include "gromacs/legacyheaders/types/forcerec.h" +#include "gromacs/legacyheaders/types/inputrec.h" +#include "gromacs/legacyheaders/types/interaction_const.h" +#include "gromacs/legacyheaders/types/state.h" + typedef struct pme_load_balancing *pme_load_balancing_t; /* Initialze the PP-PME load balacing data and infrastructure */ @@ -56,17 +66,17 @@ void pme_loadbal_init(pme_load_balancing_t *pme_lb_p, * factors as well as DD load balancing. * Returns TRUE the load balancing continues, FALSE is the balancing is done. */ -gmx_bool pme_load_balance(pme_load_balancing_t pme_lb, - t_commrec *cr, - FILE *fp_err, - FILE *fp_log, - t_inputrec *ir, - t_state *state, - double cycles, - interaction_const_t *ic, - nonbonded_verlet_t *nbv, - gmx_pme_t *pmedata, - gmx_int64_t step); +gmx_bool pme_load_balance(pme_load_balancing_t pme_lb, + t_commrec *cr, + FILE *fp_err, + FILE *fp_log, + t_inputrec *ir, + t_state *state, + double cycles, + interaction_const_t *ic, + struct nonbonded_verlet_t *nbv, + gmx_pme_t *pmedata, + gmx_int64_t step); /* Restart the PME load balancing discarding all timings gathered up till now */ void restart_pme_loadbal(pme_load_balancing_t pme_lb, int n); @@ -76,4 +86,8 @@ void pme_loadbal_done(pme_load_balancing_t pme_lb, t_commrec *cr, FILE *fplog, gmx_bool bNonBondedOnGPU); +#ifdef __cplusplus +} +#endif + #endif /* _pme_loadbal_h */ diff --git a/src/programs/mdrun/repl_ex.c b/src/programs/mdrun/repl_ex.cpp similarity index 98% rename from src/programs/mdrun/repl_ex.c rename to src/programs/mdrun/repl_ex.cpp index 46a9bc0113..ac5e34c785 100644 --- a/src/programs/mdrun/repl_ex.c +++ b/src/programs/mdrun/repl_ex.cpp @@ -34,22 +34,24 @@ * 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 -#endif -#include +#include "gmxpre.h" + #include "repl_ex.h" -#include "network.h" + +#include "config.h" + +#include + +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/main.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/math/units.h" +#include "gromacs/math/vec.h" #include "gromacs/random/random.h" #include "gromacs/utility/smalloc.h" -#include "physics.h" -#include "copyrite.h" -#include "macros.h" -#include "vec.h" -#include "names.h" -#include "domdec.h" -#include "gromacs/random/random.h" #define PROBABILITYCUTOFF 100 /* we don't bother evaluating if events are more rare than exp(-100) = 3.7x10^-44 */ @@ -106,7 +108,7 @@ static gmx_bool repl_quantity(const gmx_multisim_t *ms, { real *qall; gmx_bool bDiff; - int i, s; + int s; snew(qall, ms->nsim); qall[re->repl] = q; @@ -142,7 +144,7 @@ gmx_repl_ex_t init_replica_exchange(FILE *fplog, 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; @@ -897,7 +899,7 @@ test_for_replica_exchange(FILE *fplog, 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; @@ -905,10 +907,9 @@ test_for_replica_exchange(FILE *fplog, 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) { @@ -1306,7 +1307,7 @@ gmx_bool replica_exchange(FILE *fplog, const t_commrec *cr, struct gmx_repl_ex * 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; diff --git a/src/programs/mdrun/repl_ex.h b/src/programs/mdrun/repl_ex.h index ec6c6ee23c..ffedd2305f 100644 --- a/src/programs/mdrun/repl_ex.h +++ b/src/programs/mdrun/repl_ex.h @@ -38,8 +38,12 @@ #ifndef _repl_ex_h #define _repl_ex_h -#include "typedefs.h" -#include "types/commrec.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/legacyheaders/types/commrec.h" + +#ifdef __cplusplus +extern "C" { +#endif /* Abstract type for replica exchange */ typedef struct gmx_repl_ex *gmx_repl_ex_t; @@ -68,4 +72,8 @@ extern gmx_bool replica_exchange(FILE *fplog, 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 */ diff --git a/src/programs/mdrun/runner.c b/src/programs/mdrun/runner.cpp similarity index 92% rename from src/programs/mdrun/runner.c rename to src/programs/mdrun/runner.cpp index 923f0f6544..c9b47b7e54 100644 --- a/src/programs/mdrun/runner.c +++ b/src/programs/mdrun/runner.cpp @@ -34,68 +34,71 @@ * 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 -#endif + +#include "gmxpre.h" + +#include "config.h" + +#include #include #include +#include + +#include #ifdef HAVE_UNISTD_H #include #endif -#include -#include - -#include "typedefs.h" -#include "gromacs/utility/smalloc.h" -#include "sysstuff.h" -#include "copyrite.h" -#include "force.h" -#include "mdrun.h" -#include "md_logging.h" -#include "md_support.h" -#include "network.h" -#include "names.h" -#include "disre.h" -#include "orires.h" -#include "pme.h" -#include "mdatoms.h" -#include "repl_ex.h" -#include "deform.h" -#include "qmmm.h" -#include "domdec.h" -#include "coulomb.h" -#include "constr.h" -#include "mvdata.h" -#include "checkpoint.h" -#include "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 "gromacs/essentialdynamics/edsam.h" #include "gromacs/fileio/tpxio.h" -#include "gromacs/mdlib/nbnxn_search.h" +#include "gromacs/gmxpreprocess/calc_verletbuf.h" +#include "gromacs/legacyheaders/checkpoint.h" +#include "gromacs/legacyheaders/constr.h" +#include "gromacs/legacyheaders/coulomb.h" +#include "gromacs/legacyheaders/disre.h" +#include "gromacs/legacyheaders/domdec.h" +#include "gromacs/legacyheaders/force.h" +#include "gromacs/legacyheaders/gmx_detect_hardware.h" +#include "gromacs/legacyheaders/gmx_omp_nthreads.h" +#include "gromacs/legacyheaders/gmx_thread_affinity.h" +#include "gromacs/legacyheaders/inputrec.h" +#include "gromacs/legacyheaders/main.h" +#include "gromacs/legacyheaders/md_logging.h" +#include "gromacs/legacyheaders/md_support.h" +#include "gromacs/legacyheaders/mdatoms.h" +#include "gromacs/legacyheaders/mdrun.h" +#include "gromacs/legacyheaders/mvdata.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/network.h" +#include "gromacs/legacyheaders/oenv.h" +#include "gromacs/legacyheaders/orires.h" +#include "gromacs/legacyheaders/pme.h" +#include "gromacs/legacyheaders/qmmm.h" +#include "gromacs/legacyheaders/sighandler.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/math/vec.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/mdlib/nbnxn_search.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/topology/mtop_util.h" +#include "gromacs/utility/gmxassert.h" +#include "gromacs/utility/gmxmpi.h" +#include "gromacs/utility/smalloc.h" + +#include "deform.h" +#include "membed.h" +#include "repl_ex.h" #ifdef GMX_FAHCORE #include "corewrap.h" #endif -#include "gpu_utils.h" -#include "nbnxn_cuda_data_mgmt.h" +#include "gromacs/legacyheaders/gpu_utils.h" typedef struct { gmx_integrator_t *func; @@ -295,7 +298,7 @@ static int get_tmpi_omp_thread_division(const gmx_hw_info_t *hwinfo, 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 { @@ -314,8 +317,6 @@ static int get_tmpi_omp_thread_division(const gmx_hw_info_t *hwinfo, 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 = @@ -356,8 +357,6 @@ static int get_nthreads_mpi(const gmx_hw_info_t *hwinfo, { 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) @@ -432,7 +431,7 @@ static int get_nthreads_mpi(const gmx_hw_info_t *hwinfo, { /* 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 && @@ -480,7 +479,7 @@ static int get_nthreads_mpi(const gmx_hw_info_t *hwinfo, /* 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]) @@ -509,9 +508,9 @@ static void increase_nstlist(FILE *fp, t_commrec *cr, 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"; @@ -520,6 +519,7 @@ static void increase_nstlist(FILE *fp, t_commrec *cr, 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) { @@ -605,19 +605,19 @@ static void increase_nstlist(FILE *fp, t_commrec *cr, 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", @@ -761,7 +761,7 @@ static void convert_to_verlet_scheme(FILE *fplog, 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); @@ -844,7 +844,7 @@ static void convert_to_verlet_scheme(FILE *fplog, 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); @@ -1038,47 +1038,6 @@ static void override_nsteps_cmdline(FILE *fplog, } } -/* Frees GPU memory and destroys the CUDA context. - * - * Note that this function needs to be called even if GPUs are not used - * in this run because the PME ranks have no knowledge of whether GPUs - * are used or not, but all ranks need to enter the barrier below. - */ -static void free_gpu_resources(const t_forcerec *fr, - const t_commrec *cr) -{ - gmx_bool bIsPPrankUsingGPU; - char gpu_err_str[STRLEN]; - - bIsPPrankUsingGPU = (cr->duty & DUTY_PP) && fr->nbv != NULL && fr->nbv->bUseGPU; - - if (bIsPPrankUsingGPU) - { - /* free nbnxn data in GPU memory */ - nbnxn_cuda_free(fr->nbv->cu_nbv); - - /* With tMPI we need to wait for all ranks to finish deallocation before - * destroying the context in free_gpu() as some ranks may be sharing - * GPU and context. - * Note: as only PP ranks need to free GPU resources, so it is safe to - * not call the barrier on PME ranks. - */ -#ifdef GMX_THREAD_MPI - if (PAR(cr)) - { - gmx_barrier(cr); - } -#endif /* GMX_THREAD_MPI */ - - /* uninitialize GPU (by destroying the context) */ - if (!free_gpu(gpu_err_str)) - { - gmx_warning("On rank %d failed to free GPU #%d: %s", - cr->nodeid, get_current_gpu_device_id(), gpu_err_str); - } - } -} - int mdrunner(gmx_hw_opt_t *hw_opt, FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], const output_env_t oenv, gmx_bool bVerbose, @@ -1093,13 +1052,11 @@ int mdrunner(gmx_hw_opt_t *hw_opt, 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; @@ -1110,16 +1067,13 @@ int mdrunner(gmx_hw_opt_t *hw_opt, 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; @@ -1149,7 +1103,7 @@ int mdrunner(gmx_hw_opt_t *hw_opt, if (SIMMASTER(cr)) { /* Read (nearly) all data required for the simulation */ - read_tpx_state(ftp2fn(efTPX, nfile, fnm), inputrec, state, NULL, mtop); + read_tpx_state(ftp2fn(efTPR, nfile, fnm), inputrec, state, NULL, mtop); if (inputrec->cutoff_scheme != ecutsVERLET && ((Flags & MD_TESTVERLET) || getenv("GMX_VERLET_SCHEME") != NULL)) @@ -1220,29 +1174,14 @@ int mdrunner(gmx_hw_opt_t *hw_opt, } } - /* 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) @@ -1279,6 +1218,7 @@ int mdrunner(gmx_hw_opt_t *hw_opt, 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, @@ -1341,7 +1281,7 @@ int mdrunner(gmx_hw_opt_t *hw_opt, "but %s was not started through mpirun/mpiexec or only one rank was requested through mpirun/mpiexec" #endif #endif - , ShortProgram() + , output_env_get_program_display_name(oenv) ); } @@ -1432,16 +1372,9 @@ int mdrunner(gmx_hw_opt_t *hw_opt, } } - if (((MASTER(cr) || (Flags & MD_SEPPOT)) && (Flags & MD_APPENDFILES)) -#ifdef GMX_THREAD_MPI - /* With thread MPI only the master node/thread exists in mdrun.c, - * therefore non-master nodes need to open the "seppot" log file here. - */ - || (!MASTER(cr) && (Flags & MD_SEPPOT)) -#endif - ) + if (MASTER(cr) && (Flags & MD_APPENDFILES)) { - gmx_log_open(ftp2fn(efLOG, nfile, fnm), cr, !(Flags & MD_SEPPOT), + gmx_log_open(ftp2fn(efLOG, nfile, fnm), cr, Flags, &fplog); } @@ -1614,7 +1547,6 @@ int mdrunner(gmx_hw_opt_t *hw_opt, /*init_forcerec(fplog,fr,fcd,inputrec,mtop,cr,box,FALSE, "nofile","nofile","nofile","nofile",FALSE,pforce); */ - fr->bSepDVDL = ((Flags & MD_SEPPOT) == MD_SEPPOT); /* Initialize QM-MM */ if (fr->bQMMM) @@ -1762,6 +1694,7 @@ int mdrunner(gmx_hw_opt_t *hw_opt, 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); @@ -1799,6 +1732,7 @@ int mdrunner(gmx_hw_opt_t *hw_opt, } 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); @@ -1811,8 +1745,7 @@ int mdrunner(gmx_hw_opt_t *hw_opt, */ finish_run(fplog, cr, inputrec, nrnb, wcycle, walltime_accounting, - fr != NULL && fr->nbv != NULL && fr->nbv->bUseGPU ? - nbnxn_cuda_get_timings(fr->nbv->cu_nbv) : NULL, + fr ? fr->nbv : NULL, EI_DYNAMICS(inputrec->eI) && !MULTISIM(cr)); diff --git a/src/programs/mdrun/tests/compressed_x_output.cpp b/src/programs/mdrun/tests/compressed_x_output.cpp index bfaf6b8cf5..4cc1b106f2 100644 --- a/src/programs/mdrun/tests/compressed_x_output.cpp +++ b/src/programs/mdrun/tests/compressed_x_output.cpp @@ -40,13 +40,19 @@ * \author Mark Abraham * \ingroup module_mdrun */ -#include "moduletest.h" -#include +#include "gmxpre.h" + #include + +#include + #include "gromacs/options/filenameoption.h" #include "gromacs/tools/check.h" + #include "testutils/cmdlinetest.h" +#include "moduletest.h" + namespace { @@ -63,16 +69,16 @@ TEST_P(CompressedXOutputTest, ExitsNormally) "nsteps = 1\n" "nstxout-compressed = 1\n"); mdpFile += GetParam(); - useStringAsMdpFile(mdpFile.c_str()); - useTopGroAndNdxFromDatabase("spc2"); - ASSERT_EQ(0, callGrompp()); + runner_.useStringAsMdpFile(mdpFile.c_str()); + runner_.useTopGroAndNdxFromDatabase("spc2"); + ASSERT_EQ(0, runner_.callGrompp()); - reducedPrecisionTrajectoryFileName = fileManager_.getTemporaryFilePath(".xtc"); - ASSERT_EQ(0, callMdrun()); + runner_.reducedPrecisionTrajectoryFileName_ = fileManager_.getTemporaryFilePath(".xtc"); + ASSERT_EQ(0, runner_.callMdrun()); ::gmx::test::CommandLine checkCaller; checkCaller.append("check"); - checkCaller.addOption("-f", reducedPrecisionTrajectoryFileName); + checkCaller.addOption("-f", runner_.reducedPrecisionTrajectoryFileName_); ASSERT_EQ(0, gmx_check(checkCaller.argc(), checkCaller.argv())); } diff --git a/src/programs/mdrun/tests/interactiveMD.cpp b/src/programs/mdrun/tests/interactiveMD.cpp index bb610a7a17..a4b7b3dfe6 100644 --- a/src/programs/mdrun/tests/interactiveMD.cpp +++ b/src/programs/mdrun/tests/interactiveMD.cpp @@ -40,6 +40,8 @@ * \author Carsten Kutzner * \ingroup module_mdrun */ +#include "gmxpre.h" + #include "moduletest.h" namespace gmx @@ -75,10 +77,10 @@ typedef gmx::test::ImdTestFixture ImdTest; TEST_F(ImdTest, ImdCanRun) { std::string name = "spc2"; - useTopGroAndNdxFromDatabase(name.c_str()); - mdpInputFileName = fileManager_.getInputFilePath((name + "-IMD.mdp").c_str()); + runner_.useTopGroAndNdxFromDatabase(name.c_str()); + runner_.mdpInputFileName_ = fileManager_.getInputFilePath((name + "-IMD.mdp").c_str()); - EXPECT_EQ(0, callGrompp()); + EXPECT_EQ(0, runner_.callGrompp()); ::gmx::test::CommandLine imdCaller; imdCaller.append("mdrun"); @@ -89,7 +91,7 @@ TEST_F(ImdTest, ImdCanRun) imdCaller.append("-noimdterm"); // Do an mdrun with IMD enabled - ASSERT_EQ(0, callMdrun(imdCaller)); + ASSERT_EQ(0, runner_.callMdrun(imdCaller)); } diff --git a/src/programs/mdrun/tests/moduletest.cpp b/src/programs/mdrun/tests/moduletest.cpp index c0f12bdb49..1e8a6373c5 100644 --- a/src/programs/mdrun/tests/moduletest.cpp +++ b/src/programs/mdrun/tests/moduletest.cpp @@ -39,23 +39,24 @@ * \author Mark Abraham * \ingroup module_mdrun */ +#include "gmxpre.h" + #include "moduletest.h" -#ifdef HAVE_CONFIG_H -# include -#endif +#include "config.h" -#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/cmdlinetest.h" +#include "testutils/integrationtests.h" +#include "testutils/testoptions.h" + namespace gmx { namespace test @@ -82,92 +83,89 @@ GMX_TEST_OPTIONS(MdrunTestOptions, options) GMX_UNUSED_VALUE(options); #ifdef GMX_THREAD_MPI options->addOption(IntegerOption("nt").store(&g_numThreads) - .description("Number of thread-MPI threads/ranks for child mdrun call")); + .description("Number of thread-MPI threads/ranks for child mdrun calls")); #endif #ifdef GMX_OPENMP options->addOption(IntegerOption("nt_omp").store(&g_numOpenMPThreads) - .description("Number of OpenMP threads for child mdrun call")); + .description("Number of OpenMP threads for child mdrun calls")); #endif } //! \endcond } -MdrunTestFixture::MdrunTestFixture() : - topFileName(), - groFileName(), - fullPrecisionTrajectoryFileName(), - ndxFileName(), - mdpInputFileName(fileManager_.getTemporaryFilePath("input.mdp")), - mdpOutputFileName(fileManager_.getTemporaryFilePath("output.mdp")), - tprFileName(fileManager_.getTemporaryFilePath(".tpr")), - logFileName(fileManager_.getTemporaryFilePath(".log")), - edrFileName(fileManager_.getTemporaryFilePath(".edr")), - nsteps(-2) +SimulationRunner::SimulationRunner(IntegrationTestFixture *fixture) : + fixture_(fixture), + topFileName_(), + groFileName_(), + fullPrecisionTrajectoryFileName_(), + ndxFileName_(), + mdpInputFileName_(fixture_->fileManager_.getTemporaryFilePath("input.mdp")), + mdpOutputFileName_(fixture_->fileManager_.getTemporaryFilePath("output.mdp")), + tprFileName_(fixture_->fileManager_.getTemporaryFilePath(".tpr")), + logFileName_(fixture_->fileManager_.getTemporaryFilePath(".log")), + edrFileName_(fixture_->fileManager_.getTemporaryFilePath(".edr")), + nsteps_(-2) { #ifdef GMX_LIB_MPI GMX_RELEASE_ASSERT(gmx_mpi_initialized(), "MPI system not initialized for mdrun tests"); #endif } -MdrunTestFixture::~MdrunTestFixture() -{ -} - // TODO The combination of defaulting to Verlet cut-off scheme, NVE, // and verlet-buffer-tolerance = -1 gives a grompp error. If we keep // things that way, this function should be renamed. For now, // force the use of the group scheme. void -MdrunTestFixture::useEmptyMdpFile() +SimulationRunner::useEmptyMdpFile() { useStringAsMdpFile("cutoff-scheme = Group\n"); } void -MdrunTestFixture::useStringAsMdpFile(const char *mdpString) +SimulationRunner::useStringAsMdpFile(const char *mdpString) { useStringAsMdpFile(std::string(mdpString)); } void -MdrunTestFixture::useStringAsMdpFile(const std::string &mdpString) +SimulationRunner::useStringAsMdpFile(const std::string &mdpString) { - gmx::File::writeFileFromString(mdpInputFileName, mdpString); + gmx::File::writeFileFromString(mdpInputFileName_, mdpString); } void -MdrunTestFixture::useStringAsNdxFile(const char *ndxString) +SimulationRunner::useStringAsNdxFile(const char *ndxString) { - gmx::File::writeFileFromString(ndxFileName, ndxString); + gmx::File::writeFileFromString(ndxFileName_, ndxString); } void -MdrunTestFixture::useTopGroAndNdxFromDatabase(const char *name) +SimulationRunner::useTopGroAndNdxFromDatabase(const char *name) { - topFileName = fileManager_.getInputFilePath((std::string(name) + ".top").c_str()); - groFileName = fileManager_.getInputFilePath((std::string(name) + ".gro").c_str()); - ndxFileName = fileManager_.getInputFilePath((std::string(name) + ".ndx").c_str()); + topFileName_ = fixture_->fileManager_.getInputFilePath((std::string(name) + ".top").c_str()); + groFileName_ = fixture_->fileManager_.getInputFilePath((std::string(name) + ".gro").c_str()); + ndxFileName_ = fixture_->fileManager_.getInputFilePath((std::string(name) + ".ndx").c_str()); } int -MdrunTestFixture::callGromppOnThisRank() +SimulationRunner::callGromppOnThisRank() { CommandLine caller; caller.append("grompp"); - caller.addOption("-f", mdpInputFileName); - caller.addOption("-n", ndxFileName); - caller.addOption("-p", topFileName); - caller.addOption("-c", groFileName); + caller.addOption("-f", mdpInputFileName_); + caller.addOption("-n", ndxFileName_); + caller.addOption("-p", topFileName_); + caller.addOption("-c", groFileName_); - caller.addOption("-po", mdpOutputFileName); - caller.addOption("-o", tprFileName); + caller.addOption("-po", mdpOutputFileName_); + caller.addOption("-o", tprFileName_); return gmx_grompp(caller.argc(), caller.argv()); } int -MdrunTestFixture::callGrompp() +SimulationRunner::callGrompp() { #ifdef GMX_LIB_MPI // When compiled with external MPI, only call one instance of the @@ -181,25 +179,25 @@ MdrunTestFixture::callGrompp() } int -MdrunTestFixture::callMdrun(const CommandLine &callerRef) +SimulationRunner::callMdrun(const CommandLine &callerRef) { /* Conforming to style guide by not passing a non-const reference to this function. Passing a non-const reference might make it easier to write code that incorrectly re-uses callerRef after the call to this function. */ CommandLine caller(callerRef); - caller.addOption("-s", tprFileName); + caller.addOption("-s", tprFileName_); - caller.addOption("-g", logFileName); - caller.addOption("-e", edrFileName); - caller.addOption("-o", fullPrecisionTrajectoryFileName); - caller.addOption("-x", reducedPrecisionTrajectoryFileName); + caller.addOption("-g", logFileName_); + caller.addOption("-e", edrFileName_); + caller.addOption("-o", fullPrecisionTrajectoryFileName_); + caller.addOption("-x", reducedPrecisionTrajectoryFileName_); - caller.addOption("-deffnm", fileManager_.getTemporaryFilePath("state")); + caller.addOption("-deffnm", fixture_->fileManager_.getTemporaryFilePath("state")); - if (nsteps > -2) + if (nsteps_ > -2) { - caller.addOption("-nsteps", nsteps); + caller.addOption("-nsteps", nsteps_); } #ifdef GMX_THREAD_MPI @@ -213,12 +211,35 @@ MdrunTestFixture::callMdrun(const CommandLine &callerRef) } int -MdrunTestFixture::callMdrun() +SimulationRunner::callMdrun() { CommandLine caller; caller.append("mdrun"); return callMdrun(caller); } +// ==== + +MdrunTestFixtureBase::MdrunTestFixtureBase() +{ +#ifdef GMX_LIB_MPI + GMX_RELEASE_ASSERT(gmx_mpi_initialized(), "MPI system not initialized for mdrun tests"); +#endif +} + +MdrunTestFixtureBase::~MdrunTestFixtureBase() +{ +} + +// ==== + +MdrunTestFixture::MdrunTestFixture() : runner_(this) +{ +} + +MdrunTestFixture::~MdrunTestFixture() +{ +} + } // namespace test } // namespace gmx diff --git a/src/programs/mdrun/tests/moduletest.h b/src/programs/mdrun/tests/moduletest.h index 1b50fb6714..d021dc8621 100644 --- a/src/programs/mdrun/tests/moduletest.h +++ b/src/programs/mdrun/tests/moduletest.h @@ -41,10 +41,10 @@ #ifndef GMX_MDRUN_TESTS_MODULETEST_H #define GMX_MDRUN_TESTS_MODULETEST_H -#include "testutils/integrationtests.h" - #include + #include "testutils/cmdlinetest.h" +#include "testutils/integrationtests.h" namespace gmx { @@ -52,41 +52,30 @@ namespace gmx namespace test { -/*! \libinternal \brief Declares test fixture for integration tests of - * mdrun functionality +/*! \libinternal \brief Helper object for running grompp and mdrun in + * integration tests of mdrun functionality * - * Derived fixture classes (or individual test cases) that might have - * specific requirements should assert that behaviour, rather than - * hard-code the requirements. A test that (for example) can't run - * with more than one thread should report that as a diagnostic, so the - * person running the test (or designing the test harness) can get - * feedback on what tests need what conditions without having to read - * the code of lots of tests. + * Objects of this class are intended to be owned by + * IntegrationTestFixture objects, and an IntegrationTestFixture + * object might own more than one SimulationRunner. * * The setup phase creates various temporary files for input and * output that are common for mdrun tests, using the file manager - * object of the parent class. Individual tests should create any - * extra filenames similarly, so that the test users's current working - * directory does not get littered with files left over from all - * manner of tests. - * - * Specifying the execution context (such as numbers of threads and - * processors) is normally sensible to specify from the test harness - * (i.e. when CMake/CTest/the user runs a test executable), because - * only there is information about the hardware available. The default - * values for such context provided in test fixtures for mdrun should - * mirror the defaults for mdrun, but currently mdrun.c hard-codes - * those in a gmx_hw_opt_t. + * object of the fixture that owns this object. Individual tests + * should create any extra filenames similarly, so that the test + * users's current working directory does not get littered with files + * left over from tests. * * Any method in this class may throw std::bad_alloc if out of memory. * * \ingroup module_mdrun_integration_tests */ -class MdrunTestFixture : public IntegrationTestFixture +class SimulationRunner { - protected: - MdrunTestFixture(); - virtual ~MdrunTestFixture(); + public: + /*! \brief Constructor, which establishes the fixture that + * will own each object */ + explicit SimulationRunner(IntegrationTestFixture *fixture_); //! Use an empty .mdp file as input to grompp void useEmptyMdpFile(); @@ -108,6 +97,10 @@ class MdrunTestFixture : public IntegrationTestFixture * with default command line */ int callMdrun(); + private: + //! Provides access to the test fixture, e.g. for the TestFileManager + IntegrationTestFixture *fixture_; + public: //@{ /*! \name Names for frequently used grompp and mdrun output files * @@ -119,23 +112,70 @@ class MdrunTestFixture : public IntegrationTestFixture * in a temporary directory and (by default behaviour of * TestFileManager) deleted when the test is complete. */ - std::string topFileName; - std::string groFileName; - std::string fullPrecisionTrajectoryFileName; - std::string reducedPrecisionTrajectoryFileName; - std::string groOutputFileName; - std::string ndxFileName; - std::string mdpInputFileName; - std::string mdpOutputFileName; - std::string tprFileName; - std::string logFileName; - std::string edrFileName; - std::string cptFileName; - std::string swapFileName; - int nsteps; + std::string topFileName_; + std::string groFileName_; + std::string fullPrecisionTrajectoryFileName_; + std::string reducedPrecisionTrajectoryFileName_; + std::string groOutputFileName_; + std::string ndxFileName_; + std::string mdpInputFileName_; + std::string mdpOutputFileName_; + std::string tprFileName_; + std::string logFileName_; + std::string edrFileName_; + std::string cptFileName_; + std::string swapFileName_; + int nsteps_; //@} }; +/*! \libinternal \brief Declares test fixture base class for + * integration tests of mdrun functionality + * + * Derived fixture classes (or individual test cases) that might have + * specific requirements should assert that behaviour, rather than + * hard-code the requirements. A test that (for example) can't run + * with more than one thread should report that as a diagnostic, so the + * person running the test (or designing the test harness) can get + * feedback on what tests need what conditions without having to read + * the code of lots of tests. + * + * Specifying the execution context (such as numbers of threads and + * processors) is normally sensible to specify from the test harness + * (i.e. when CMake/CTest/the user runs a test executable), because + * only there is information about the hardware available. The default + * values for such context provided in test fixtures for mdrun should + * mirror the defaults for mdrun, but currently mdrun.c hard-codes + * those in a gmx_hw_opt_t. + * + * Any method in this class may throw std::bad_alloc if out of memory. + * + * \ingroup module_mdrun_integration_tests + */ +class MdrunTestFixtureBase : public IntegrationTestFixture +{ + public: + MdrunTestFixtureBase(); + virtual ~MdrunTestFixtureBase(); +}; + +/*! \libinternal \brief Declares test fixture class for integration + * tests of mdrun functionality that use a single call of mdrun + * + * Any method in this class may throw std::bad_alloc if out of memory. + * + * \ingroup module_mdrun_integration_tests + */ +class MdrunTestFixture : public IntegrationTestFixture +{ + public: + MdrunTestFixture(); + virtual ~MdrunTestFixture(); + + //! Helper object to manage the preparation for and call of mdrun + SimulationRunner runner_; +}; + /*! \libinternal \brief * Parameterized test fixture for mdrun integration tests */ diff --git a/src/programs/mdrun/tests/replicaexchange.cpp b/src/programs/mdrun/tests/replicaexchange.cpp index 3cd40eac2b..37d9e02c12 100644 --- a/src/programs/mdrun/tests/replicaexchange.cpp +++ b/src/programs/mdrun/tests/replicaexchange.cpp @@ -40,7 +40,9 @@ * \author Mark Abraham * \ingroup module_mdrun */ -#include "moduletest.h" +#include "gmxpre.h" + +#include "config.h" #include @@ -48,15 +50,16 @@ #include -#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" +#include "moduletest.h" + namespace { @@ -102,9 +105,9 @@ class ReplicaExchangeTest : public gmx::test::ParameterizedMdrunTestFixture /* Prepare grompp output filenames inside the new temporary directory */ - mdpInputFileName = fileManager_.getTemporaryFilePath("input.mdp"); - mdpOutputFileName = fileManager_.getTemporaryFilePath("output.mdp"); - tprFileName = fileManager_.getTemporaryFilePath(".tpr"); + runner_.mdpInputFileName_ = fileManager_.getTemporaryFilePath("input.mdp"); + runner_.mdpOutputFileName_ = fileManager_.getTemporaryFilePath("output.mdp"); + runner_.tprFileName_ = fileManager_.getTemporaryFilePath(".tpr"); mdrunCaller.addOption("-deffnm", fileManager_.getTestSpecificFileNameRoot()); } @@ -148,7 +151,7 @@ class ReplicaExchangeTest : public gmx::test::ParameterizedMdrunTestFixture occur. */ std::max(baseTemperature - 10 * rank, real(0)), controlVariable); - useStringAsMdpFile(mdpFileContents); + runner_.useStringAsMdpFile(mdpFileContents); } //! MPI process set size @@ -180,10 +183,10 @@ TEST_P(ReplicaExchangeTest, ExitsNormally) organizeMultidir(); const char *pcoupl = GetParam(); organizeMdpFile(pcoupl); - useTopGroAndNdxFromDatabase("spc2"); + runner_.useTopGroAndNdxFromDatabase("spc2"); /* Call grompp on every rank - the standard callGrompp() only runs grompp on rank 0. */ - EXPECT_EQ(0, callGromppOnThisRank()); + EXPECT_EQ(0, runner_.callGromppOnThisRank()); mdrunCaller.addOption("-replex", 1); ASSERT_EQ(0, gmx_mdrun(mdrunCaller.argc(), mdrunCaller.argv())); diff --git a/src/programs/mdrun/tests/rerun.cpp b/src/programs/mdrun/tests/rerun.cpp index 0558f9a622..a73f2623be 100644 --- a/src/programs/mdrun/tests/rerun.cpp +++ b/src/programs/mdrun/tests/rerun.cpp @@ -40,12 +40,17 @@ * \author Mark Abraham * \ingroup module_mdrun */ +#include "gmxpre.h" + +#include "config.h" + #include -#include "moduletest.h" + #include "gromacs/options/filenameoption.h" + #include "testutils/cmdlinetest.h" -#include "config.h" +#include "moduletest.h" namespace { @@ -59,16 +64,16 @@ class MdrunRerun : public gmx::test::MdrunTestFixture, /* Among other things, this test ensures mdrun can read a trajectory. */ TEST_P(MdrunRerun, WithDifferentInputFormats) { - useEmptyMdpFile(); - useTopGroAndNdxFromDatabase("spc2"); - EXPECT_EQ(0, callGrompp()); + runner_.useEmptyMdpFile(); + runner_.useTopGroAndNdxFromDatabase("spc2"); + EXPECT_EQ(0, runner_.callGrompp()); std::string rerunFileName = fileManager_.getInputFilePath(GetParam()); ::gmx::test::CommandLine rerunCaller; rerunCaller.append("mdrun"); rerunCaller.addOption("-rerun", rerunFileName); - ASSERT_EQ(0, callMdrun(rerunCaller)); + ASSERT_EQ(0, runner_.callMdrun(rerunCaller)); } /*! \brief Helper array of input files present in the source repo diff --git a/src/programs/mdrun/tests/swapcoords.cpp b/src/programs/mdrun/tests/swapcoords.cpp index d1d199ac6c..ac43152206 100644 --- a/src/programs/mdrun/tests/swapcoords.cpp +++ b/src/programs/mdrun/tests/swapcoords.cpp @@ -40,6 +40,8 @@ * \author Carsten Kutzner * \ingroup module_mdrun */ +#include "gmxpre.h" + #include "moduletest.h" namespace gmx @@ -75,29 +77,29 @@ typedef gmx::test::SwapTestFixture CompelTest; TEST_F(CompelTest, SwapCanRun) { std::string name = "OctaneSandwich"; - useTopGroAndNdxFromDatabase(name.c_str()); - mdpInputFileName = fileManager_.getInputFilePath((name + ".mdp").c_str()); + runner_.useTopGroAndNdxFromDatabase(name.c_str()); + runner_.mdpInputFileName_ = fileManager_.getInputFilePath((name + ".mdp").c_str()); - EXPECT_EQ(0, callGrompp()); + EXPECT_EQ(0, runner_.callGrompp()); - cptFileName = fileManager_.getTemporaryFilePath(".cpt"); - groOutputFileName = fileManager_.getTemporaryFilePath(".gro"); - swapFileName = fileManager_.getTemporaryFilePath("swap.xvg"); + runner_.cptFileName_ = fileManager_.getTemporaryFilePath(".cpt"); + runner_.groOutputFileName_ = fileManager_.getTemporaryFilePath(".gro"); + runner_.swapFileName_ = fileManager_.getTemporaryFilePath("swap.xvg"); ::gmx::test::CommandLine swapCaller; swapCaller.append("mdrun"); - swapCaller.addOption("-c", groOutputFileName); - swapCaller.addOption("-swap", swapFileName); + swapCaller.addOption("-c", runner_.groOutputFileName_); + swapCaller.addOption("-swap", runner_.swapFileName_); // Do an initial mdrun that writes a checkpoint file ::gmx::test::CommandLine firstCaller(swapCaller); - firstCaller.addOption("-cpo", cptFileName); - ASSERT_EQ(0, callMdrun(firstCaller)); + firstCaller.addOption("-cpo", runner_.cptFileName_); + ASSERT_EQ(0, runner_.callMdrun(firstCaller)); // Continue mdrun from that checkpoint file ::gmx::test::CommandLine secondCaller(swapCaller); - secondCaller.addOption("-cpi", cptFileName); - nsteps = 2; - ASSERT_EQ(0, callMdrun(secondCaller)); + secondCaller.addOption("-cpi", runner_.cptFileName_); + runner_.nsteps_ = 2; + ASSERT_EQ(0, runner_.callMdrun(secondCaller)); } diff --git a/src/programs/mdrun/tests/trajectory_writing.cpp b/src/programs/mdrun/tests/trajectory_writing.cpp index e9784d7ede..fafb1c3f92 100644 --- a/src/programs/mdrun/tests/trajectory_writing.cpp +++ b/src/programs/mdrun/tests/trajectory_writing.cpp @@ -40,14 +40,16 @@ * \author Mark Abraham * \ingroup module_mdrun */ +#include "gmxpre.h" + +#include "config.h" + #include -#include "moduletest.h" + #include "gromacs/options/filenameoption.h" #include "gromacs/utility/stringutil.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "moduletest.h" namespace { @@ -67,13 +69,13 @@ class TrajectoryWritingTest : //! Execute the trajectory writing test void runTest() { - useStringAsMdpFile(theMdpFile); - useTopGroAndNdxFromDatabase("spc-and-methanol"); - EXPECT_EQ(0, callGrompp()); + runner_.useStringAsMdpFile(theMdpFile); + runner_.useTopGroAndNdxFromDatabase("spc-and-methanol"); + EXPECT_EQ(0, runner_.callGrompp()); - fullPrecisionTrajectoryFileName = fileManager_.getTemporaryFilePath("spc-and-methanol.tng"); - reducedPrecisionTrajectoryFileName = fileManager_.getTemporaryFilePath("spc-and-methanol-reduced.tng"); - ASSERT_EQ(0, callMdrun()); + runner_.fullPrecisionTrajectoryFileName_ = fileManager_.getTemporaryFilePath("spc-and-methanol.tng"); + runner_.reducedPrecisionTrajectoryFileName_ = fileManager_.getTemporaryFilePath("spc-and-methanol-reduced.tng"); + ASSERT_EQ(0, runner_.callMdrun()); // TODO When there is a way to sense something like the // output of gmx check, compare the result with that from // writing .trr and .xtc and assert the behaviour is diff --git a/src/programs/mdrun_main.cpp b/src/programs/mdrun_main.cpp index 17d4b708fd..e6b694d123 100644 --- a/src/programs/mdrun_main.cpp +++ b/src/programs/mdrun_main.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -32,10 +32,12 @@ * 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 "mdrun/mdrun_main.h" +#include "gmxpre.h" #include "gromacs/commandline/cmdlinemodulemanager.h" +#include "mdrun/mdrun_main.h" + int main(int argc, char *argv[]) { return gmx::CommandLineModuleManager::runAsMainCMain(argc, argv, &gmx_mdrun); diff --git a/src/gromacs/math/3dview.c b/src/programs/view/3dview.cpp similarity index 51% rename from src/gromacs/math/3dview.c rename to src/programs/view/3dview.cpp index 5e8a06c41e..01cc064241 100644 --- a/src/gromacs/math/3dview.c +++ b/src/programs/view/3dview.cpp @@ -34,141 +34,20 @@ * 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" +#include "gmxpre.h" -#ifdef HAVE_CONFIG_H -#include -#endif +#include "3dview.h" #include -#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"); - } -} +#include -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]; - } - } - } -} - -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) { @@ -176,7 +55,7 @@ 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; @@ -189,54 +68,52 @@ void calculate_view(t_3dview *view) 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 } @@ -255,7 +132,7 @@ gmx_bool zoom_3d(t_3dview *view, real fac) 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; @@ -270,18 +147,19 @@ gmx_bool zoom_3d(t_3dview *view, real fac) 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 } } @@ -289,25 +167,17 @@ void init_rotate_3d(t_3dview *view) 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); } @@ -329,20 +199,18 @@ void translate_view(t_3dview *view, int axis, gmx_bool bPositive) 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); @@ -351,21 +219,10 @@ void reset_view(t_3dview *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; diff --git a/src/gromacs/math/3dview.h b/src/programs/view/3dview.h similarity index 63% rename from src/gromacs/math/3dview.h rename to src/programs/view/3dview.h index 65c3358c9a..774d447cd4 100644 --- a/src/gromacs/math/3dview.h +++ b/src/programs/view/3dview.h @@ -34,55 +34,28 @@ * 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 - -#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 @@ -95,25 +68,18 @@ extern t_3dview *init_view(matrix box); * 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 diff --git a/src/programs/view/Xstuff.h b/src/programs/view/Xstuff.h index 1c587077e1..f5439d8d94 100644 --- a/src/programs/view/Xstuff.h +++ b/src/programs/view/Xstuff.h @@ -3,7 +3,7 @@ * * 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. @@ -47,10 +47,10 @@ #endif #include +#include #include -#include #include -#include +#include #ifdef _acc_ typedef unsigned char bmchar; diff --git a/src/programs/view/buttons.cpp b/src/programs/view/buttons.cpp index 3d5d76145c..e5157ffe42 100644 --- a/src/programs/view/buttons.cpp +++ b/src/programs/view/buttons.cpp @@ -34,26 +34,25 @@ * 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 -#endif +#include "gmxpre.h" +#include "buttons.h" + +#include #include #include -#include "macros.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" -#include "sysstuff.h" - -#include "x11.h" -#include "xutil.h" -#include "buttons.h" -#include "stop_ani.bm" -#include "play.bm" #include "ff.bm" +#include "play.bm" #include "rewind.bm" +#include "stop_ani.bm" +#include "x11.h" +#include "xutil.h" static void move_bbox(t_x11 *x11, t_butbox *bbox) { @@ -118,7 +117,7 @@ static bool VBCallBack(t_x11 *x11, XEvent *event, Window /*w*/, void *data) void set_vbtime(t_x11 *x11, t_butbox *vbox, char *text) { sfree(vbox->wd.text); - vbox->wd.text = strdup(text); + vbox->wd.text = gmx_strdup(text); ExposeWin(x11->disp, vbox->wd.self); } diff --git a/src/programs/view/dialogs.cpp b/src/programs/view/dialogs.cpp index e4ba670a4c..c556597853 100644 --- a/src/programs/view/dialogs.cpp +++ b/src/programs/view/dialogs.cpp @@ -34,27 +34,29 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" +#include #ifdef HAVE_UNISTD_H #include // for fork() #endif -#include "gromacs/utility/smalloc.h" -#include "sysstuff.h" -#include "macros.h" +#include "dialogs.h" + +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" #include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" +#include "gromacs/utility/smalloc.h" + +#include "manager.h" +#include "nmol.h" #include "x11.h" #include "xdlghi.h" #include "xmb.h" -#include "dialogs.h" -#include "names.h" -#include "nmol.h" -#include "manager.h" -#include "gromacs/fileio/futil.h" -#include "gmx_fatal.h" #define MBFLAGS /* MB_APPLMODAL | */ MB_DONTSHOW diff --git a/src/programs/view/dialogs.h b/src/programs/view/dialogs.h index 0f306a134c..3e69058142 100644 --- a/src/programs/view/dialogs.h +++ b/src/programs/view/dialogs.h @@ -3,7 +3,7 @@ * * 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. @@ -38,10 +38,10 @@ #ifndef _dialogs_h #define _dialogs_h -#include "xdlg.h" -#include "pulldown.h" -#include "manager.h" #include "logo.h" +#include "manager.h" +#include "pulldown.h" +#include "xdlg.h" typedef struct { bool bMapped; diff --git a/src/programs/view/fgrid.cpp b/src/programs/view/fgrid.cpp index 55a44a7fb8..1249172425 100644 --- a/src/programs/view/fgrid.cpp +++ b/src/programs/view/fgrid.cpp @@ -34,18 +34,18 @@ * 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 -#endif +#include "gmxpre.h" +#include "fgrid.h" + +#include #include #include #include -#include + #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", @@ -102,9 +102,10 @@ void ReadDlgError(const char *infile, eDLGERR err, const char *s, static void ReadAccOpen(const char *infile, FILE *in) { char buf[STRLEN]; + int result; - fscanf(in, "%4s", buf); - if (strcmp(buf, "{") != 0) + result = fscanf(in, "%4s", buf); + if ((1 != result) || strcmp(buf, "{") != 0) { ReadDlgErr(infile, eACCOEXP, buf); } @@ -113,9 +114,10 @@ static void ReadAccOpen(const char *infile, FILE *in) static void ReadAccClose(const char *infile, FILE *in) { char buf[STRLEN]; + int result; - fscanf(in, "%4s", buf); - if (strcmp(buf, "}") != 0) + result = fscanf(in, "%4s", buf); + if ((1 != result) || strcmp(buf, "}") != 0) { ReadDlgErr(infile, eACCCEXP, buf); } @@ -201,7 +203,7 @@ static t_fsimple *NewFSimple(void) static void AddFItemName(t_fitem *fitem, char *name) { srenew(fitem->name, ++fitem->nname); - fitem->name[fitem->nname-1] = strdup(name); + fitem->name[fitem->nname-1] = gmx_strdup(name); } static t_fgroup *NewFGroup(void) @@ -356,10 +358,10 @@ static t_fitem *ScanFItem(const char *infile, FILE *in, char *buf) ReadQuoteString(infile, in, get); ReadQuoteString(infile, in, def); ReadQuoteString(infile, in, help); - fitem->set = strdup(set); - fitem->get = strdup(get); - fitem->def = strdup(def); - fitem->help = strdup(help); + fitem->set = gmx_strdup(set); + fitem->get = gmx_strdup(get); + fitem->def = gmx_strdup(def); + fitem->help = gmx_strdup(help); return fitem; } @@ -368,15 +370,16 @@ t_fgrid *FGridFromFile(const char *infile) { FILE *in; char buf[STRLEN]; + int result; t_fgrid *fgrid; t_fgroup *fgroup; t_fsimple *fsimple; int gridx, gridy; - in = libopen(infile); - fscanf(in, "%6s", buf); - if (strcmp(buf, "grid") != 0) + in = libopen(infile); + result = fscanf(in, "%6s", buf); + if ((1 != result) || strcmp(buf, "grid") != 0) { ReadDlgErr(infile, eGRIDEXP, buf); } @@ -388,14 +391,14 @@ t_fgrid *FGridFromFile(const char *infile) fgrid->w = gridx; fgrid->h = gridy; ReadAccOpen(infile, in); - fscanf(in, "%15s", buf); - while (bNotAccClose(buf)) + result = fscanf(in, "%15s", buf); + while ((1 == result) && bNotAccClose(buf)) { if (strcmp(buf, "group") == 0) { fgroup = AddFGridFGroup(fgrid); ReadQuoteString(infile, in, buf); - fgroup->name = strdup(buf); + fgroup->name = gmx_strdup(buf); if ((fscanf(in, "%5d%5d%5d%5d", &fgroup->x, &fgroup->y, &fgroup->w, &fgroup->h)) != 4) { ReadDlgErr(infile, eNOVALS, "group x,y,w,h"); @@ -409,11 +412,11 @@ t_fgrid *FGridFromFile(const char *infile) ReadDlgErr(infile, eTOOHIGH, buf); } ReadAccOpen(infile, in); - fscanf(in, "%15s", buf); - while (bNotAccClose(buf)) + result = fscanf(in, "%15s", buf); + while ((1 == result) && bNotAccClose(buf)) { AddFGroupFItem(fgroup, ScanFItem(infile, in, buf)); - fscanf(in, "%15s", buf); + result = fscanf(in, "%15s", buf); } } else if (strcmp(buf, "simple") == 0) @@ -432,13 +435,26 @@ t_fgrid *FGridFromFile(const char *infile) ReadDlgErr(infile, eTOOHIGH, "simple"); } ReadAccOpen(infile, in); - fscanf(in, "%15s", buf); - fsimple->fitem = ScanFItem(infile, in, buf); - ReadAccClose(infile, in); + result = fscanf(in, "%15s", buf); + if (1 == result) + { + fsimple->fitem = ScanFItem(infile, in, buf); + ReadAccClose(infile, in); + } + } + if (1 == result) + { + result = fscanf(in, "%15s", buf); } - fscanf(in, "%15s", buf); } gmx_ffclose(in); + /* Since we always read one variable at a time the result from + * fscanf should always be 1. + */ + if (1 != result) + { + ReadDlgErr(infile, eNOVALS, "fgrid"); + } return fgrid; } diff --git a/src/programs/view/filter.cpp b/src/programs/view/filter.cpp index 1acaa8c42b..c05e98b498 100644 --- a/src/programs/view/filter.cpp +++ b/src/programs/view/filter.cpp @@ -34,23 +34,20 @@ * 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 -#endif +#include "gmxpre.h" #include #include -#include "sysstuff.h" -#include "gromacs/fileio/futil.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/topology/index.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/futil.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "index.h" -#include "xdlghi.h" + #include "dialogs.h" -#include "index.h" -#include "gmx_fatal.h" +#include "xdlghi.h" t_filter *init_filter(t_atoms *atoms, const char *fn, int natom_trx) { diff --git a/src/programs/view/logo.cpp b/src/programs/view/logo.cpp index 8c56da42d3..ee182e2e23 100644 --- a/src/programs/view/logo.cpp +++ b/src/programs/view/logo.cpp @@ -34,18 +34,20 @@ * 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 -#endif +#include "gmxpre.h" -#include "sysstuff.h" -#include "macros.h" -#include "xutil.h" -#include "Xstuff.h" -#include "gromacs/utility/smalloc.h" -#include "copyrite.h" #include "logo.h" +#include + +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/utility/real.h" +#include "gromacs/utility/smalloc.h" + +#include "Xstuff.h" +#include "xutil.h" + typedef struct { int x, y, rad; unsigned long *col; @@ -111,7 +113,6 @@ static bool LogoCallBack(t_x11 *x11, XEvent *event, Window /*w*/, void *data) }; #define NMESS asize(Mess) int i; - real wfac, hfac; t_logo *logo; t_windata *wd; @@ -119,8 +120,8 @@ static bool LogoCallBack(t_x11 *x11, XEvent *event, Window /*w*/, void *data) 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; diff --git a/src/programs/view/manager.cpp b/src/programs/view/manager.cpp index eae974e53a..c77acc1846 100644 --- a/src/programs/view/manager.cpp +++ b/src/programs/view/manager.cpp @@ -34,33 +34,35 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #include +#include #include #ifdef HAVE_UNISTD_H #include // 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/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/names.h" +#include "gromacs/legacyheaders/typedefs.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 "nmol.h" static void add_object(t_manager *man, eObject eO, atom_id ai, atom_id aj) { @@ -230,7 +232,7 @@ void set_file(t_x11 *x11, t_manager *man, const char *trajectory, man->natom = read_first_x(man->oenv, &man->status, trajectory, &(man->time), &(man->x), man->box); - man->trajfile = strdup(trajectory); + man->trajfile = gmx_strdup(trajectory); if (man->natom > man->top.atoms.nr) { gmx_fatal(FARGS, "Topology %s (%d atoms) and trajectory %s (%d atoms) " @@ -240,7 +242,7 @@ void set_file(t_x11 *x11, t_manager *man, const char *trajectory, cool_quote(quote, 255, NULL); sprintf(buf, "%s: %s", *man->top.name, quote); - man->title.text = strdup(buf); + man->title.text = gmx_strdup(buf); man->view = init_view(man->box); at = &(man->top.atoms); aps = gmx_atomprop_init(); diff --git a/src/programs/view/manager.h b/src/programs/view/manager.h index d6ce4c2c5c..1f48651beb 100644 --- a/src/programs/view/manager.h +++ b/src/programs/view/manager.h @@ -39,14 +39,16 @@ #define _manager_h #include -#include "typedefs.h" + +#include "gromacs/fileio/trxio.h" +#include "gromacs/legacyheaders/typedefs.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 diff --git a/src/programs/view/molps.cpp b/src/programs/view/molps.cpp index c6ba93966a..977d3ae0b4 100644 --- a/src/programs/view/molps.cpp +++ b/src/programs/view/molps.cpp @@ -34,23 +34,22 @@ * 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 -#endif +#include "gmxpre.h" #include -#include "sysstuff.h" +#include #include + +#include "gromacs/fileio/writeps.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "xutil.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 @@ -196,7 +195,7 @@ static void draw_box(t_psdata ps, t_3dview *view, matrix box, { 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); @@ -240,7 +239,7 @@ void ps_draw_mol(t_psdata ps, t_manager *man) { 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); } diff --git a/src/programs/view/nleg.cpp b/src/programs/view/nleg.cpp index 61a643610f..3c1669d40b 100644 --- a/src/programs/view/nleg.cpp +++ b/src/programs/view/nleg.cpp @@ -34,19 +34,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nleg.h" #include #include -#include "macros.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/types/rgb.h" #include "gromacs/utility/smalloc.h" #include "buttons.h" -#include "nleg.h" typedef struct { const char *tp; diff --git a/src/programs/view/nleg.h b/src/programs/view/nleg.h index 7a48fb842c..d4ad63d382 100644 --- a/src/programs/view/nleg.h +++ b/src/programs/view/nleg.h @@ -38,6 +38,8 @@ #ifndef _nleg_h #define _nleg_h +#include "gromacs/legacyheaders/types/rgb.h" + #include "x11.h" #include "xutil.h" diff --git a/src/programs/view/nmol.cpp b/src/programs/view/nmol.cpp index 5a6866fff4..cca9b5fbdd 100644 --- a/src/programs/view/nmol.cpp +++ b/src/programs/view/nmol.cpp @@ -34,24 +34,25 @@ * 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 -#endif +#include "gmxpre.h" + +#include "nmol.h" #include -#include "sysstuff.h" +#include #include + +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/txtdump.h" +#include "gromacs/math/vec.h" +#include "gromacs/pbcutil/pbc.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "xutil.h" -#include "gromacs/math/3dview.h" -#include "gmx_fatal.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 @@ -459,7 +460,7 @@ static void draw_box(t_x11 *x11, Window w, t_3dview *view, matrix box, 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); @@ -508,7 +509,7 @@ static void draw_box(t_x11 *x11, Window w, t_3dview *view, matrix box, } } 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) @@ -572,7 +573,7 @@ void draw_mol(t_x11 *x11, t_manager *man) { 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); } diff --git a/src/programs/view/nmol.h b/src/programs/view/nmol.h index fe66bb5b39..65cfed3002 100644 --- a/src/programs/view/nmol.h +++ b/src/programs/view/nmol.h @@ -38,6 +38,7 @@ #ifndef _nmol_h #define _nmol_h +#include "manager.h" #include "x11.h" #include "xutil.h" diff --git a/src/programs/view/popup.cpp b/src/programs/view/popup.cpp index 0f5ec8cd6c..5c8114129f 100644 --- a/src/programs/view/popup.cpp +++ b/src/programs/view/popup.cpp @@ -34,21 +34,20 @@ * 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 -#endif +#include "gmxpre.h" + +#include "popup.h" #include #include #include -#include "macros.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/smalloc.h" #include "x11.h" #include "xutil.h" -#include "popup.h" bool ChildCallBack(t_x11 *x11, XEvent *event, Window w, void *data) { diff --git a/src/programs/view/pulldown.cpp b/src/programs/view/pulldown.cpp index 4034e6ae29..5dd4805876 100644 --- a/src/programs/view/pulldown.cpp +++ b/src/programs/view/pulldown.cpp @@ -34,20 +34,19 @@ * 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 -#endif +#include "gmxpre.h" + +#include "pulldown.h" #include #include +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "x11.h" #include "popup.h" -#include "pulldown.h" +#include "x11.h" static bool PDCallBack(t_x11 *x11, XEvent *event, Window w, void *data) { diff --git a/src/programs/view/view.cpp b/src/programs/view/view.cpp index aec59937e6..567b522564 100644 --- a/src/programs/view/view.cpp +++ b/src/programs/view/view.cpp @@ -34,33 +34,32 @@ * 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 -#endif +#include "gmxpre.h" + +#include "config.h" #include #include -#include "sysstuff.h" -#include "macros.h" -#include "gromacs/utility/smalloc.h" -#include "gmx_fatal.h" -#include "typedefs.h" #include "gromacs/commandline/pargs.h" -#include "copyrite.h" #include "gromacs/fileio/confio.h" #include "gromacs/fileio/tpxio.h" +#include "gromacs/legacyheaders/copyrite.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" +#include "gromacs/utility/smalloc.h" #ifdef GMX_X11 #include "gromacs/fileio/writeps.h" #include "Xstuff.h" -#include "gromacs.bm" -#include "xutil.h" #include "dialogs.h" +#include "gromacs.bm" #include "molps.h" #include "nmol.h" +#include "xutil.h" static void dump_it(t_manager *man) { @@ -310,7 +309,7 @@ static void init_gmx(t_x11 *x11, char *program, int nfile, t_filenm fnm[], snew(gmx, 1); snew(gmx->wd, 1); - ePBC = read_tpx_top(ftp2fn(efTPX, nfile, fnm), + ePBC = read_tpx_top(ftp2fn(efTPR, nfile, fnm), NULL, box, &natom, NULL, NULL, NULL, &top); read_first_frame(oenv, &status, ftp2fn(efTRX, nfile, fnm), &fr, TRX_DONT_SKIP); @@ -366,7 +365,7 @@ static void init_gmx(t_x11 *x11, char *program, int nfile, t_filenm fnm[], init_dlgs(x11, gmx); /* Now do file operations */ - set_file(x11, gmx->man, ftp2fn(efTRX, nfile, fnm), ftp2fn(efTPX, nfile, fnm)); + set_file(x11, gmx->man, ftp2fn(efTRX, nfile, fnm), ftp2fn(efTPR, nfile, fnm)); ShowDlg(gmx->dlgs[edFilter]); } @@ -398,7 +397,7 @@ int gmx_view(int argc, char *argv[]) output_env_t oenv; t_filenm fnm[] = { { efTRX, "-f", NULL, ffREAD }, - { efTPX, NULL, NULL, ffREAD }, + { efTPR, NULL, NULL, ffREAD }, { efNDX, NULL, NULL, ffOPTRD } }; #define NFILE asize(fnm) diff --git a/src/programs/view/x11.cpp b/src/programs/view/x11.cpp index 14ac665f03..cf3eb241bb 100644 --- a/src/programs/view/x11.cpp +++ b/src/programs/view/x11.cpp @@ -34,16 +34,18 @@ * 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 -#endif +#include "gmxpre.h" + +#include "x11.h" +#include #include -#include "typedefs.h" -#include "sysstuff.h" + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" + #include "Xstuff.h" -#include "x11.h" /* These colours will be mapped to black on a monochrome screen */ unsigned long BLACK, BLUE, GREEN, CYAN, RED, BROWN, GREY, DARKGREY; @@ -319,7 +321,7 @@ t_x11 *GetX11(int *argc, char *argv[]) bool bVerbose = false; int i; - title = strdup(argv[0]); + title = gmx_strdup(argv[0]); /* First check environment */ fontname = getenv("GMX_FONT"); @@ -356,7 +358,7 @@ t_x11 *GetX11(int *argc, char *argv[]) break; case 't': sfree(title); - title = strdup(argv[++i]); + title = gmx_strdup(argv[++i]); break; case 'v': bVerbose = true; @@ -482,7 +484,7 @@ t_x11 *GetX11(int *argc, char *argv[]) { x11->bg = LIGHTGREY; } - x11->title = strdup(title); + x11->title = gmx_strdup(title); sfree(title); x11->wlist = NULL; x11->GetNamedColor = &GetNamedColor; diff --git a/src/programs/view/x11.h b/src/programs/view/x11.h index 759aaacc1d..6267b356e4 100644 --- a/src/programs/view/x11.h +++ b/src/programs/view/x11.h @@ -3,7 +3,7 @@ * * 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. @@ -39,7 +39,9 @@ #define _x11_h #include -#include "typedefs.h" + +#include "gromacs/legacyheaders/typedefs.h" + #include "Xstuff.h" /* These colours will be mapped to black on a monochrome screen */ diff --git a/src/programs/view/xdlg.cpp b/src/programs/view/xdlg.cpp index dc4e0b6e4e..4c3d4375ac 100644 --- a/src/programs/view/xdlg.cpp +++ b/src/programs/view/xdlg.cpp @@ -34,21 +34,22 @@ * 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 -#endif +#include "gmxpre.h" + +#include "xdlg.h" #include #include #include + +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/cstringutil.h" -#include "macros.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" + #include "Xstuff.h" -#include "xutil.h" -#include "xdlg.h" #include "xmb.h" -#include "gmx_fatal.h" +#include "xutil.h" /***************************** * * Helpful routines @@ -421,7 +422,7 @@ void HelpNow(t_dlg *dlg, t_dlgitem *dlgitem) if (bCont) { srenew(lines, ++nlines); - lines[nlines-1] = strdup(buf); + lines[nlines-1] = gmx_strdup(buf); } } } @@ -776,7 +777,7 @@ t_dlg *CreateDlg(t_x11 *x11, Window Parent, const char *title, dlg->data = data; if (title) { - dlg->title = strdup(title); + dlg->title = gmx_strdup(title); } else { diff --git a/src/programs/view/xdlghi.cpp b/src/programs/view/xdlghi.cpp index 5d280fc75d..7d79e3b8cc 100644 --- a/src/programs/view/xdlghi.cpp +++ b/src/programs/view/xdlghi.cpp @@ -34,22 +34,22 @@ * 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 -#endif +#include "gmxpre.h" + +#include "xdlghi.h" +#include #include #include -#include "gmx_fatal.h" +#include "gromacs/legacyheaders/macros.h" #include "gromacs/utility/cstringutil.h" -#include "sysstuff.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" -#include "xutil.h" -#include "xdlghi.h" + #include "fgrid.h" +#include "xutil.h" t_dlgitem **CreateRadioButtonGroup(t_x11 *x11, char *szTitle, t_id GroupID, int nrb, t_id rb[], diff --git a/src/programs/view/xdlghi.h b/src/programs/view/xdlghi.h index 91e10e1485..d97764842a 100644 --- a/src/programs/view/xdlghi.h +++ b/src/programs/view/xdlghi.h @@ -3,7 +3,7 @@ * * 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. @@ -39,6 +39,7 @@ #define _xdlghi_h #include + #include "Xstuff.h" #include "x11.h" #include "xdlg.h" diff --git a/src/programs/view/xdlgitem.cpp b/src/programs/view/xdlgitem.cpp index 590bf73324..2660ea31fb 100644 --- a/src/programs/view/xdlgitem.cpp +++ b/src/programs/view/xdlgitem.cpp @@ -34,9 +34,9 @@ * 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 -#endif +#include "gmxpre.h" + +#include "xdlgitem.h" #include #include @@ -45,11 +45,12 @@ #include -#include "gmx_fatal.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/utility/cstringutil.h" +#include "gromacs/utility/fatalerror.h" #include "gromacs/utility/smalloc.h" -#include "macros.h" + #include "Xstuff.h" -#include "xdlgitem.h" #define BUFSIZE 16 @@ -420,7 +421,7 @@ static int WndProcET(t_x11 *x11, t_dlgitem *dlgitem, XEvent *event) case ButtonPress: /* Calculate new position for caret */ et->pos = strlen(et->buf); - bp = strdup(et->buf); + bp = gmx_strdup(et->buf); xp = event->xbutton.x-XTextWidth(x11->font, win->text, strlen(win->text))- XCARET; while ((et->pos > 0) && (XTextWidth(x11->font, bp, strlen(bp)) > xp)) @@ -571,7 +572,7 @@ t_dlgitem *CreateButton(t_x11 *x11, } else { - lab = strdup(szLab); + lab = gmx_strdup(szLab); } InitWin(&(dlgitem->win), x0, y0, w, h, bw, szLab); sfree(lab); @@ -709,7 +710,7 @@ t_dlgitem *CreateStaticText(t_x11 *x11, snew(dlgitem->u.statictext.lines, nlines); for (i = 0; (i < nlines); i++) { - dlgitem->u.statictext.lines[i] = strdup(lines[i]); + dlgitem->u.statictext.lines[i] = gmx_strdup(lines[i]); } dlgitem->WndProc = WndProcST; @@ -755,7 +756,7 @@ t_dlgitem *CreateEditText(t_x11 *x11, return dlgitem; } -#define SC(src) (strlen(src) ? strdup(src) : NULL) +#define SC(src) (strlen(src) ? gmx_strdup(src) : NULL) void SetDlgitemOpts(t_dlgitem *dlgitem, bool bUseMon, char *set, char *get, char *help) diff --git a/src/programs/view/xdlgitem.h b/src/programs/view/xdlgitem.h index e270b72e2c..8bf04120d0 100644 --- a/src/programs/view/xdlgitem.h +++ b/src/programs/view/xdlgitem.h @@ -39,8 +39,8 @@ #define _xdlgitem_h #include "Xstuff.h" -#include "xutil.h" #include "x11.h" +#include "xutil.h" typedef enum { edlgBN, edlgRB, edlgGB, edlgCB, edlgPM, edlgST, edlgET, edlgNR diff --git a/src/programs/view/xmb.cpp b/src/programs/view/xmb.cpp index 2b747ded6d..4999c431cd 100644 --- a/src/programs/view/xmb.cpp +++ b/src/programs/view/xmb.cpp @@ -3,7 +3,7 @@ * * 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. @@ -34,26 +34,26 @@ * 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 -#endif +#include "gmxpre.h" + +#include "xmb.h" #include #include #include -#include "typedefs.h" -#include "macros.h" +#include "gromacs/legacyheaders/macros.h" +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/fatalerror.h" + #include "Xstuff.h" -#include "x11.h" -#include "xutil.h" -#include "xdlg.h" -#include "xmb.h" -#include "gmx_fatal.h" +#include "alert.bm" #include "gromacs.bm" -#include "stop.bm" #include "info.bm" -#include "alert.bm" +#include "stop.bm" +#include "x11.h" +#include "xdlg.h" +#include "xutil.h" #define ID_BOX -3 #define ID_ICON -2 diff --git a/src/programs/view/xmb.h b/src/programs/view/xmb.h index 00675dbbce..ccb5fa28df 100644 --- a/src/programs/view/xmb.h +++ b/src/programs/view/xmb.h @@ -3,7 +3,7 @@ * * 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. @@ -38,7 +38,10 @@ #ifndef _xmb_h #define _xmb_h +#include "manager.h" #include "x11.h" +#include "xdlg.h" +#include "xmb.h" #define MB_OK 1 #define MB_CANCEL (1<<1) diff --git a/src/programs/view/xutil.cpp b/src/programs/view/xutil.cpp index 6402306be9..8d11f70bf0 100644 --- a/src/programs/view/xutil.cpp +++ b/src/programs/view/xutil.cpp @@ -34,16 +34,18 @@ * 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 -#endif +#include "gmxpre.h" + +#include "xutil.h" #include #include #include + +#include "gromacs/legacyheaders/typedefs.h" +#include "gromacs/utility/cstringutil.h" #include "gromacs/utility/smalloc.h" -#include "typedefs.h" -#include "xutil.h" + #include "Xstuff.h" int CheckWin(Window win, const char *file, int line) @@ -167,7 +169,7 @@ void InitWin(t_windata *win, int x0, int y0, int w, int h, int bw, const char *t win->cursor = 0; if (text) { - win->text = strdup(text); + win->text = gmx_strdup(text); } else { diff --git a/src/programs/view/xutil.h b/src/programs/view/xutil.h index a49e50e869..d7d5a33835 100644 --- a/src/programs/view/xutil.h +++ b/src/programs/view/xutil.h @@ -38,7 +38,7 @@ #ifndef _xutil_h #define _xutil_h -#include "typedefs.h" +#include "gromacs/legacyheaders/typedefs.h" /* TODO: This include is needed here, because this header reuses eXPos and * eYPos. It has nothing to do with PostScript output. */ #include "gromacs/fileio/writeps.h" diff --git a/src/testutils/cmdlinetest.cpp b/src/testutils/cmdlinetest.cpp index a848d330d0..5192ee7853 100644 --- a/src/testutils/cmdlinetest.cpp +++ b/src/testutils/cmdlinetest.cpp @@ -39,13 +39,15 @@ * \author Teemu Murtola * \ingroup module_testutils */ +#include "gmxpre.h" + #include "cmdlinetest.h" #include #include -#include #include +#include #include #include "gromacs/commandline/cmdlineprogramcontext.h" diff --git a/src/testutils/integrationtests.cpp b/src/testutils/integrationtests.cpp index 77355e1716..394f5a01ab 100644 --- a/src/testutils/integrationtests.cpp +++ b/src/testutils/integrationtests.cpp @@ -39,16 +39,22 @@ * \author Mark Abraham * \ingroup module_testutils */ +#include "gmxpre.h" + #include "integrationtests.h" -#include "testutils/testoptions.h" -#include "gromacs/utility/stringutil.h" -#include "gromacs/utility/exceptions.h" -#include "gromacs/options/options.h" +#include "config.h" + +#include +#include + #include "gromacs/options/basicoptions.h" +#include "gromacs/options/options.h" +#include "gromacs/utility/exceptions.h" #include "gromacs/utility/file.h" -#include -#include +#include "gromacs/utility/stringutil.h" + +#include "testutils/testoptions.h" namespace gmx { diff --git a/src/testutils/integrationtests.h b/src/testutils/integrationtests.h index 86d4395426..f62da51767 100644 --- a/src/testutils/integrationtests.h +++ b/src/testutils/integrationtests.h @@ -86,17 +86,17 @@ class IntegrationTestFixture : public ::testing::Test * sufficiently modular to permit it to work. */ void redirectStderrToDevNull(); - /* TEST_F() constructs derived classes, and those classes - * might need to access implementation details, so we - * cannot use the private access specifer here. */ - protected: + /* TEST_F() constructs derived classes, and those classes and + * their member objects might need to access implementation + * details, so we cannot use the private access specifer + * here. */ + public: /*! \brief Object that manages finding input files, writing * temporary output files and cleaning up files. */ ::gmx::test::TestFileManager fileManager_; - public: //! Number of backup files to write static std::string s_maxBackup; }; diff --git a/src/testutils/mpi-printer.cpp b/src/testutils/mpi-printer.cpp index 334bc74592..abb25cc0f7 100644 --- a/src/testutils/mpi-printer.cpp +++ b/src/testutils/mpi-printer.cpp @@ -1,7 +1,7 @@ /* * 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. @@ -32,9 +32,12 @@ * 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 "gmxpre.h" + #include "mpi-printer.h" #include "config.h" + #include "gromacs/utility/gmxmpi.h" #ifdef GMX_LIB_MPI diff --git a/src/testutils/refdata.cpp b/src/testutils/refdata.cpp index 61e1786517..9221676e63 100644 --- a/src/testutils/refdata.cpp +++ b/src/testutils/refdata.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_testutils */ +#include "gmxpre.h" + #include "refdata.h" #include @@ -51,11 +53,11 @@ #include #include -#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" diff --git a/src/testutils/refdata.h b/src/testutils/refdata.h index f3fd0bdfe2..5ae387533f 100644 --- a/src/testutils/refdata.h +++ b/src/testutils/refdata.h @@ -46,7 +46,7 @@ #include #include -#include "gromacs/legacyheaders/types/simple.h" +#include "gromacs/utility/basedefinitions.h" #include "gromacs/utility/common.h" namespace gmx diff --git a/src/testutils/stringtest.cpp b/src/testutils/stringtest.cpp index 586cb9f183..93b8bf9c75 100644 --- a/src/testutils/stringtest.cpp +++ b/src/testutils/stringtest.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_testutils */ -#include "testutils/stringtest.h" +#include "gmxpre.h" + +#include "stringtest.h" #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" diff --git a/src/testutils/stringtest.h b/src/testutils/stringtest.h index 9d2744f8ff..502f207bf6 100644 --- a/src/testutils/stringtest.h +++ b/src/testutils/stringtest.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -48,7 +48,7 @@ #include #include -#include "refdata.h" +#include "testutils/refdata.h" namespace gmx { diff --git a/src/testutils/testasserts.cpp b/src/testutils/testasserts.cpp index c06b53c31d..68ea5c720d 100644 --- a/src/testutils/testasserts.cpp +++ b/src/testutils/testasserts.cpp @@ -39,7 +39,9 @@ * \author Teemu Murtola * \ingroup module_testutils */ -#include "testutils/testasserts.h" +#include "gmxpre.h" + +#include "testasserts.h" #include @@ -47,8 +49,7 @@ #include -#include "gromacs/legacyheaders/types/simple.h" - +#include "gromacs/utility/basedefinitions.h" #include "gromacs/utility/stringutil.h" namespace gmx @@ -97,8 +98,8 @@ floatingPointToBiasedInteger(const FloatingPoint &value) } /*! \brief - * Computes difference in ULPs between two numbers, treating also values of - * different sign. + * Computes the magnitude of the difference in ULPs between two numbers, + * treating also values of different sign. */ template gmx_uint64_t calculateUlpDifference(const FloatingPoint &value1, @@ -133,6 +134,17 @@ void initDifference(FloatType raw1, FloatType raw2, double *absoluteDifference, *ulpDifference = calculateUlpDifference(value1, value2); } +/*! \brief + * Converts a relative tolerance into an ULP difference. + */ +template +gmx_uint64_t relativeToleranceToUlp(FloatType tolerance) +{ + FloatingPoint m(1.0); + FloatingPoint t(1.0 + tolerance); + return calculateUlpDifference(m, t); +} + //! \} //! \} @@ -163,9 +175,11 @@ bool FloatingPointDifference::isNaN() const std::string FloatingPointDifference::toString() const { - return formatString("%g (%" GMX_PRIu64 " %s-prec. ULPs)%s", + const double eps = isDouble() ? GMX_DOUBLE_EPS : GMX_FLOAT_EPS; + return formatString("%g (%" GMX_PRIu64 " %s-prec. ULPs, rel. %.3g)%s", absoluteDifference_, ulpDifference_, - bDouble_ ? "double" : "single", + isDouble() ? "double" : "single", + ulpDifference_ * eps, bSignDifference_ ? ", signs differ" : ""); } @@ -186,33 +200,43 @@ bool FloatingPointTolerance::isWithin( return false; } - if (difference.asAbsolute() < absoluteTolerance_) + const double absoluteTolerance + = difference.isDouble() ? doubleAbsoluteTolerance_ : singleAbsoluteTolerance_; + if (difference.asAbsolute() < absoluteTolerance) { return true; } - if (ulpTolerance_ >= 0 - && difference.asUlps() <= static_cast(ulpTolerance_)) + const gmx_uint64_t ulpTolerance + = difference.isDouble() ? doubleUlpTolerance_ : singleUlpTolerance_; + if (ulpTolerance < GMX_UINT64_MAX && difference.asUlps() <= ulpTolerance) { return true; } return false; } -std::string FloatingPointTolerance::toString() const +std::string FloatingPointTolerance::toString(const FloatingPointDifference &difference) const { - std::string result; - if (absoluteTolerance_ > 0.0) + std::string result; + const double absoluteTolerance + = difference.isDouble() ? doubleAbsoluteTolerance_ : singleAbsoluteTolerance_; + const gmx_uint64_t ulpTolerance + = difference.isDouble() ? doubleUlpTolerance_ : singleUlpTolerance_; + const double eps + = difference.isDouble() ? GMX_DOUBLE_EPS : GMX_FLOAT_EPS; + + if (absoluteTolerance > 0.0) { - result.append(formatString("abs. %g", absoluteTolerance_)); + result.append(formatString("abs. %g", absoluteTolerance)); } - if (ulpTolerance_ >= 0) + if (ulpTolerance < GMX_UINT64_MAX) { if (!result.empty()) { result.append(", "); } - result.append(formatString("%d ULPs", ulpTolerance_)); + result.append(formatString("%" GMX_PRIu64 " ULPs (rel. %.3g)", ulpTolerance, ulpTolerance * eps)); } if (bSignMustMatch_) { @@ -225,5 +249,18 @@ std::string FloatingPointTolerance::toString() const return result; } +// Doxygen does not recognize this as the same function as in the header... +//! \cond +FloatingPointTolerance +relativeToleranceAsFloatingPoint(double magnitude, double tolerance) +{ + const double absoluteTolerance = magnitude * tolerance; + return FloatingPointTolerance(absoluteTolerance, absoluteTolerance, + relativeToleranceToUlp(tolerance), + relativeToleranceToUlp(tolerance), + false); +} +//! \endcond + } // namespace test } // namespace gmx diff --git a/src/testutils/testasserts.h b/src/testutils/testasserts.h index 90230e2812..e38600fb8b 100644 --- a/src/testutils/testasserts.h +++ b/src/testutils/testasserts.h @@ -40,6 +40,7 @@ * assertions for: * - exceptions * - floating-point comparison + * - comparison against NULL * * \if internal * \todo @@ -58,9 +59,9 @@ #include -#include "gromacs/legacyheaders/types/simple.h" - +#include "gromacs/utility/basedefinitions.h" #include "gromacs/utility/exceptions.h" +#include "gromacs/utility/real.h" namespace gmx { @@ -221,7 +222,11 @@ class FloatingPointDifference * 0.0 and -0.0 are treated as positive and negative, respectively. */ bool signsDiffer() const { return bSignDifference_; } - + /*! \brief + * Whether the difference is between single- or double-precision + * numbers. + */ + bool isDouble() const { return bDouble_; } //! Formats the difference as a string for assertion failure messages. std::string toString() const; @@ -242,6 +247,10 @@ class FloatingPointDifference * Specifies a floating-point comparison tolerance and checks whether a * difference is within the tolerance. * + * The related functions section lists methods that can be construct methods + * using less parameters than the full constructor, and with more obvious + * semantics. These should be preferred over using the constructor directly. + * * Several types of tolerances are possible: * - _absolute tolerance_: difference between the values must be smaller than * the given tolerance for the check to pass. @@ -250,7 +259,7 @@ class FloatingPointDifference * - _ULP tolerance_: ULP (units of least precision) difference between the * values must be smaller than the given tolerance for the check to pass. * Setting the ULP tolerance to zero requires exact match. - * Setting the ULP tolerance to negative disables the ULP check. + * Setting the ULP tolerance to GMX_UINT64_MAX disables the ULP check. * `0.0` and `-0.0` are treated as equal for the ULP check. * - _sign check_: if set, any values that are of different signs fail the * check (note that this also applies to `0.0` and `-0.0`: a value with a @@ -264,18 +273,19 @@ class FloatingPointDifference * check. In this case, the sign check must succeed for the check to pass, * even if other tolerances are satisfied. * - * Currently, the ULP tolerance is not in any particular precision, but the - * interpretation depends on the compared numbers: if floats are compared, then - * the ULP tolerance specifies single-precision ULPs, and if doubles are - * compared, then the same number is interpreted as double-precision ULPs. - * - * The related functions section lists methods that can be construct methods - * using less parameters than the full constructor, and with more obvious - * semantics. + * The tolerances can be specified separately for single and double precision + * comparison. Different initialization functions have different semantics on + * how the provided tolerance values are interpreted; check their + * documentation. * * Methods in this class do not throw, except for toString(), which may throw * std::bad_alloc. * + * \todo + * The factory methods that take ULP difference could be better formulated as + * methods that take the acceptable number of incorrect bits and/or the number + * of accurate bits. + * * \see FloatingPointDifference */ class FloatingPointTolerance @@ -284,13 +294,26 @@ class FloatingPointTolerance /*! \brief * Creates a tolerance with the specified values. * - * \param[in] absolute Allowed absolute difference. - * \param[in] ulp Allowed ULP difference. - * \param[in] bSignMustMatch Whether sign mismatch fails the comparison. + * \param[in] singleAbsoluteTolerance + * Allowed absolute difference in a single-precision number. + * \param[in] doubleAbsoluteTolerance + * Allowed absolute difference in a double-precision number. + * \param[in] singleUlpTolerance + * Allowed ULP difference in a single-precision number. + * \param[in] doubleUlpTolerance + * Allowed ULP difference in a double-precision number. + * \param[in] bSignMustMatch + * Whether sign mismatch fails the comparison. */ - FloatingPointTolerance(double absolute, int ulp, - bool bSignMustMatch) - : absoluteTolerance_(absolute), ulpTolerance_(ulp), + FloatingPointTolerance(float singleAbsoluteTolerance, + double doubleAbsoluteTolerance, + gmx_uint64_t singleUlpTolerance, + gmx_uint64_t doubleUlpTolerance, + bool bSignMustMatch) + : singleAbsoluteTolerance_(singleAbsoluteTolerance), + doubleAbsoluteTolerance_(doubleAbsoluteTolerance), + singleUlpTolerance_(singleUlpTolerance), + doubleUlpTolerance_(doubleUlpTolerance), bSignMustMatch_(bSignMustMatch) { } @@ -303,23 +326,79 @@ class FloatingPointTolerance bool isWithin(const FloatingPointDifference &difference) const; //! Formats the tolerance as a string for assertion failure messages. - std::string toString() const; + std::string toString(const FloatingPointDifference &difference) const; private: - double absoluteTolerance_; - int ulpTolerance_; + float singleAbsoluteTolerance_; + double doubleAbsoluteTolerance_; + gmx_uint64_t singleUlpTolerance_; + gmx_uint64_t doubleUlpTolerance_; bool bSignMustMatch_; }; /*! \brief * Creates a tolerance that only allows a specified ULP difference. * + * The tolerance uses the given ULP value for both precisions, i.e., double + * precision will have much stricter tolerance. + * + * \related FloatingPointTolerance + */ +static inline FloatingPointTolerance +ulpTolerance(gmx_uint64_t ulpDiff) +{ + return FloatingPointTolerance(0.0, 0.0, ulpDiff, ulpDiff, false); +} + +/*! \brief + * Creates a tolerance that allows a difference in two compared values that is + * relative to the given magnitude. + * + * \param[in] magnitude Magnitude of the numbers the computation operates in. + * \param[in] tolerance Relative tolerance permitted (e.g. 1e-4). + * + * In addition to setting an ULP tolerance equivalent to \p tolerance for both + * precisions, this sets the absolute tolerance such that values close to zero + * (in general, smaller than \p magnitude) do not fail the check if they + * differ by less than \p tolerance evaluated at \p magnitude. This accounts + * for potential loss of precision for small values, and should be used when + * accuracy of values much less than \p magnitude do not matter for + * correctness. + * + * The ULP tolerance for different precisions will be different to make them + * both match \p tolerance. + * + * \related FloatingPointTolerance + */ +FloatingPointTolerance + relativeToleranceAsFloatingPoint(double magnitude, double tolerance); + +/*! \brief + * Creates a tolerance that allows a precision-dependent relative difference in + * a complex computation. + * + * \param[in] magnitude Magnitude of the numbers the computation operates in. + * \param[in] singleUlpDiff Expected accuracy of single-precision + * computation (in ULPs). + * \param[in] doubleUlpDiff Expected accuracy of double-precision + * computation (in ULPs). + * + * This works as relativeToleranceAsUlp(), but allows setting the ULP + * difference separately for the different precisions. This supports + * cases where the double-precision calculation can acceptably has a higher ULP + * difference, but relaxing the single-precision tolerance would lead to an + * unnecessarily loose test. + * * \related FloatingPointTolerance */ static inline FloatingPointTolerance -ulpTolerance(gmx_int64_t ulpDiff) +relativeToleranceAsPrecisionDependentUlp(double magnitude, + gmx_uint64_t singleUlpDiff, + gmx_uint64_t doubleUlpDiff) { - return FloatingPointTolerance(0.0, ulpDiff, false); + return FloatingPointTolerance(magnitude*singleUlpDiff*GMX_FLOAT_EPS, + magnitude*doubleUlpDiff*GMX_DOUBLE_EPS, + singleUlpDiff, doubleUlpDiff, false); } /*! \brief @@ -329,19 +408,19 @@ ulpTolerance(gmx_int64_t ulpDiff) * \param[in] magnitude Magnitude of the numbers the computation operates in. * \param[in] ulpDiff Expected accuracy of the computation (in ULPs). * - * In addition to setting the ULP tolerance, this sets the absolute tolerance - * such that values close to zero (in general, smaller than \p magnitude) do - * not fail the check if they differ by less than \p ulpDiff evaluated at - * \p magniture. This accounts for potential loss of precision for small - * values, and should be used when accuracy of values much less than - * \p magniture do not matter for correctness. + * In addition to setting the ULP tolerance as ulpTolerance(), this sets the + * absolute tolerance such that values close to zero (in general, smaller than + * \p magnitude) do not fail the check if they differ by less than \p ulpDiff + * evaluated at \p magnitude. This accounts for potential loss of precision + * for small values, and should be used when accuracy of values much less than + * \p magnitude do not matter for correctness. * * \related FloatingPointTolerance */ static inline FloatingPointTolerance -relativeRealTolerance(double magnitude, gmx_int64_t ulpDiff) +relativeToleranceAsUlp(double magnitude, gmx_uint64_t ulpDiff) { - return FloatingPointTolerance(magnitude*ulpDiff*GMX_REAL_EPS, ulpDiff, false); + return relativeToleranceAsPrecisionDependentUlp(magnitude, ulpDiff, ulpDiff); } /*! \brief @@ -351,7 +430,7 @@ relativeRealTolerance(double magnitude, gmx_int64_t ulpDiff) */ static inline FloatingPointTolerance defaultRealTolerance() { - return relativeRealTolerance(1.0, 4); + return relativeToleranceAsUlp(1.0, 4); } /*! \name Assertions for floating-point comparison @@ -387,7 +466,7 @@ static inline ::testing::AssertionResult assertEqualWithinTolerance( << " Expected: " << expr1 << std::endl << " Which is: " << value1 << std::endl << "Difference: " << diff.toString() << std::endl - << " Tolerance: " << tolerance.toString(); + << " Tolerance: " << tolerance.toString(diff); } //! \endcond diff --git a/src/testutils/testfilemanager.cpp b/src/testutils/testfilemanager.cpp index b761630280..0a2eb0f9e3 100644 --- a/src/testutils/testfilemanager.cpp +++ b/src/testutils/testfilemanager.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_testutils */ +#include "gmxpre.h" + #include "testfilemanager.h" #include @@ -49,10 +51,10 @@ #include -#include "gromacs/fileio/path.h" -#include "gromacs/options/options.h" #include "gromacs/options/basicoptions.h" +#include "gromacs/options/options.h" #include "gromacs/utility/gmxassert.h" +#include "gromacs/utility/path.h" #include "testutils/testoptions.h" diff --git a/src/testutils/testoptions.cpp b/src/testutils/testoptions.cpp index f45871e3fe..a46d8875c3 100644 --- a/src/testutils/testoptions.cpp +++ b/src/testutils/testoptions.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_testutils */ +#include "gmxpre.h" + #include "testoptions.h" #include @@ -62,9 +64,9 @@ #include "gromacs/utility/file.h" #include "gromacs/utility/programcontext.h" -#include "refdata.h" -#include "testfilemanager.h" -#include "mpi-printer.h" +#include "testutils/mpi-printer.h" +#include "testutils/refdata.h" +#include "testutils/testfilemanager.h" namespace gmx { diff --git a/src/testutils/testoptions.h b/src/testutils/testoptions.h index 8603491c12..b835190b45 100644 --- a/src/testutils/testoptions.h +++ b/src/testutils/testoptions.h @@ -118,6 +118,7 @@ void registerTestOptions(const char *name, TestOptionsProvider *provider); * \code #include "gromacs/options/basicoptions.h" #include "gromacs/options/options.h" + #include "testutils/testoptions.h" namespace gmx diff --git a/src/testutils/tests/refdata_tests.cpp b/src/testutils/tests/refdata_tests.cpp index ccc442127a..61c948359b 100644 --- a/src/testutils/tests/refdata_tests.cpp +++ b/src/testutils/tests/refdata_tests.cpp @@ -39,12 +39,14 @@ * \author Teemu Murtola * \ingroup module_testutils */ +#include "gmxpre.h" + #include "testutils/refdata.h" #include -#include #include +#include namespace { diff --git a/src/testutils/tests/testasserts_tests.cpp b/src/testutils/tests/testasserts_tests.cpp index c586374863..01e9d6146d 100644 --- a/src/testutils/tests/testasserts_tests.cpp +++ b/src/testutils/tests/testasserts_tests.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_testutils */ +#include "gmxpre.h" + #include "testutils/testasserts.h" #include @@ -67,6 +69,18 @@ using ::gmx::test::FloatingPointDifference; TEST(FloatingPointDifferenceTest, HandlesEqualValues) { FloatingPointDifference diff(1.2, 1.2); + EXPECT_TRUE(diff.isDouble()); + EXPECT_FALSE(diff.isNaN()); + EXPECT_EQ(0.0, diff.asAbsolute()); + EXPECT_EQ(0U, diff.asUlps()); + EXPECT_FALSE(diff.signsDiffer()); +} + +// TODO: Use typed tests to run all the tests for single and double. +TEST(FloatingPointDifferenceTest, HandlesFloatValues) +{ + FloatingPointDifference diff(1.2f, 1.2f); + EXPECT_FALSE(diff.isDouble()); EXPECT_FALSE(diff.isNaN()); EXPECT_EQ(0.0, diff.asAbsolute()); EXPECT_EQ(0U, diff.asUlps()); @@ -137,4 +151,86 @@ TEST(FloatingPointDifferenceTest, HandlesNaN) EXPECT_TRUE(diff.isNaN()); } +TEST(FloatingPointToleranceTest, UlpTolerance) +{ + using gmx::test::ulpTolerance; + + FloatingPointDifference fequal(1.0, 1.0); + FloatingPointDifference fulp2(1.0f, addUlps(1.0f, 2)); + EXPECT_TRUE(ulpTolerance(0).isWithin(fequal)); + EXPECT_FALSE(ulpTolerance(1).isWithin(fulp2)); + EXPECT_TRUE(ulpTolerance(2).isWithin(fulp2)); + + FloatingPointDifference dequal(1.0, 1.0); + FloatingPointDifference dulp2(1.0, addUlps(1.0, 2)); + FloatingPointDifference dulp2f(1.0, static_cast(addUlps(1.0f, 2))); + EXPECT_TRUE(ulpTolerance(0).isWithin(dequal)); + EXPECT_TRUE(ulpTolerance(2).isWithin(dulp2)); + EXPECT_FALSE(ulpTolerance(2).isWithin(dulp2f)); +} + +TEST(FloatingPointToleranceTest, RelativeToleranceAsFloatingPoint) +{ + using gmx::test::relativeToleranceAsFloatingPoint; + + FloatingPointDifference fequal(1.0f, 1.0f); + FloatingPointDifference fulp2(1.0f, addUlps(1.0f, 2)); + FloatingPointDifference fdiff(1.0f, 1.011f); + FloatingPointDifference fsmall(0.1f, 0.111f); + FloatingPointDifference fsmall2(0.1f, 0.121f); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 1e-2).isWithin(fequal)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 1e-9).isWithin(fequal)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 1e-2).isWithin(fulp2)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(1.0, 1e-9).isWithin(fulp2)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(1.0, 1e-2).isWithin(fdiff)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 2e-2).isWithin(fdiff)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 2e-2).isWithin(fsmall)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(0.1, 2e-2).isWithin(fsmall)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(1.0, 2e-2).isWithin(fsmall2)); + + FloatingPointDifference dequal(1.0, 1.0); + FloatingPointDifference dulp2f(1.0, static_cast(addUlps(1.0f, 2))); + FloatingPointDifference ddiff(1.0, 1.011); + FloatingPointDifference dsmall(0.1, 0.111); + FloatingPointDifference dsmall2(0.1, 0.121); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 1e-2).isWithin(dequal)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 1e-9).isWithin(dequal)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 1e-2).isWithin(dulp2f)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(1.0, 1e-9).isWithin(dulp2f)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(1.0, 1e-2).isWithin(ddiff)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 2e-2).isWithin(ddiff)); + EXPECT_TRUE(relativeToleranceAsFloatingPoint(1.0, 2e-2).isWithin(dsmall)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(0.1, 2e-2).isWithin(dsmall)); + EXPECT_FALSE(relativeToleranceAsFloatingPoint(1.0, 2e-2).isWithin(dsmall2)); +} + +TEST(FloatingPointToleranceTest, RelativeToleranceAsUlp) +{ + using gmx::test::relativeToleranceAsUlp; + + FloatingPointDifference fequal(1.0f, 1.0f); + FloatingPointDifference fulp4(1.0f, addUlps(1.0f, 4)); + FloatingPointDifference fsmall(0.1f, addUlps(1.0f, 2) - 0.9f); + FloatingPointDifference fsmall2(0.1f, addUlps(1.0f, 6) - 0.9f); + EXPECT_TRUE(relativeToleranceAsUlp(1.0, 2).isWithin(fequal)); + EXPECT_FALSE(relativeToleranceAsUlp(1.0, 2).isWithin(fulp4)); + EXPECT_TRUE(relativeToleranceAsUlp(1.0, 4).isWithin(fulp4)); + EXPECT_TRUE(relativeToleranceAsUlp(1.0, 4).isWithin(fsmall)); + EXPECT_FALSE(relativeToleranceAsUlp(0.1, 4).isWithin(fsmall)); + EXPECT_FALSE(relativeToleranceAsUlp(1.0, 4).isWithin(fsmall2)); + + FloatingPointDifference dequal(1.0, 1.0); + FloatingPointDifference dulp4(1.0, addUlps(1.0, 4)); + FloatingPointDifference dulp4f(1.0, static_cast(addUlps(1.0f, 4))); + FloatingPointDifference dsmall(0.1, addUlps(1.0, 2) - 0.9); + FloatingPointDifference dsmall2(0.1, addUlps(1.0, 6) - 0.9); + EXPECT_TRUE(relativeToleranceAsUlp(1.0, 2).isWithin(dequal)); + EXPECT_FALSE(relativeToleranceAsUlp(1.0, 2).isWithin(dulp4)); + EXPECT_TRUE(relativeToleranceAsUlp(1.0, 4).isWithin(dulp4)); + EXPECT_FALSE(relativeToleranceAsUlp(1.0, 4).isWithin(dulp4f)); + EXPECT_TRUE(relativeToleranceAsUlp(1.0, 4).isWithin(dsmall)); + EXPECT_FALSE(relativeToleranceAsUlp(0.1, 4).isWithin(dsmall)); + EXPECT_FALSE(relativeToleranceAsUlp(1.0, 4).isWithin(dsmall2)); +} + } // namespace diff --git a/src/testutils/unittest_main.cpp b/src/testutils/unittest_main.cpp index c4ceeadd26..f9acf247bf 100644 --- a/src/testutils/unittest_main.cpp +++ b/src/testutils/unittest_main.cpp @@ -39,6 +39,8 @@ * \author Teemu Murtola * \ingroup module_testutils */ +#include "gmxpre.h" + #include #include "testutils/testoptions.h" diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index fb611ffd20..3bd404724f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -38,15 +38,15 @@ option(REGRESSIONTEST_DOWNLOAD "Automatically download regressiontests. Tests can be run with ctest." OFF) if(REGRESSIONTEST_DOWNLOAD) - if("${PROJECT_VERSION}" MATCHES "-dev") - set(REGRESSIONTEST_URL http://gerrit.gromacs.org/snapshot/${REGRESSIONTEST_BRANCH}) - set(REGRESSIONTEST_PATH "${CMAKE_CURRENT_BINARY_DIR}/regressiontests" - CACHE PATH "Path to auto-downloaded regressiontests" FORCE) + if (NOT SOURCE_IS_SOURCE_DISTRIBUTION) + set(REGRESSIONTEST_URL http://gerrit.gromacs.org/snapshot/${REGRESSIONTEST_BRANCH}) + set(REGRESSIONTEST_PATH "${CMAKE_CURRENT_BINARY_DIR}/regressiontests" + CACHE PATH "Path to auto-downloaded regressiontests" FORCE) else() set(REGRESSIONTEST_URL http://gerrit.gromacs.org/download/regressiontests-${REGRESSIONTEST_VERSION}.tar.gz) set(REGRESSIONTEST_PATH - "${CMAKE_CURRENT_BINARY_DIR}/regressiontests-${REGRESSIONTEST_VERSION}" - CACHE PATH "Path to auto-downloaded regressiontests" FORCE) + "${CMAKE_CURRENT_BINARY_DIR}/regressiontests-${REGRESSIONTEST_VERSION}" + CACHE PATH "Path to auto-downloaded regressiontests" FORCE) endif() set(REGRESSIONTEST_FILE "${CMAKE_CURRENT_BINARY_DIR}/regressiontests.tgz") message("Downloading: ${REGRESSIONTEST_URL}") @@ -60,7 +60,7 @@ status_code: ${status_code} status_string: ${status_string} log: ${log}") endif() - if(NOT "${PROJECT_VERSION}" MATCHES "-dev") + if (SOURCE_IS_SOURCE_DISTRIBUTION) file(MD5 ${REGRESSIONTEST_FILE} COMPUTED_MD5SUM) if(NOT ${REGRESSIONTEST_MD5SUM} STREQUAL ${COMPUTED_MD5SUM}) message(FATAL_ERROR "Download of regressiontests failed. Expected MD5 of ${REGRESSIONTEST_MD5SUM} but download has ${COMPUTED_MD5SUM}") diff --git a/tests/CppCheck.cmake b/tests/CppCheck.cmake index 9d4a3d52ee..2b3e93386c 100644 --- a/tests/CppCheck.cmake +++ b/tests/CppCheck.cmake @@ -57,6 +57,8 @@ if (CPPCHECK_EXECUTABLE AND UNIX) ${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}) @@ -68,12 +70,13 @@ if (CPPCHECK_EXECUTABLE AND UNIX) set(_outputopt --xml) endif() set(_common_flags - --enable=style -DLINUX - -I src/gromacs/legacyheaders -I src + --enable=style -DLINUX -DHAVE_UNISTD_H + -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 + -I ${CMAKE_BINARY_DIR}/src --quiet + --inline-suppr ${_outputopt}) set(_c_flags --suppress=variableScope @@ -85,15 +88,21 @@ if (CPPCHECK_EXECUTABLE AND UNIX) --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/fileio/xvgr.cpp + --suppress=invalidscanf:src/gromacs/topology/index.cpp --suppress=invalidscanf:src/gromacs/gmxpreprocess/pdb2top.cpp - --suppress=*:src/gromacs/selection/scanner.cpp) + --suppress=passedByValue:src/gromacs/simd/tests/* + ) # This list will hold the list of all files with cppcheck errors # (one per input file)