diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f9503e0e1f..7ea31fcf14 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -5,6 +5,8 @@ on: push: branches: [develop] + workflow_dispatch: + jobs: analyze: name: Analyze diff --git a/.github/workflows/compile-msvc.yml b/.github/workflows/compile-msvc.yml index b31c262e32..15fcf1099d 100644 --- a/.github/workflows/compile-msvc.yml +++ b/.github/workflows/compile-msvc.yml @@ -5,6 +5,8 @@ on: push: branches: [develop] + workflow_dispatch: + jobs: build: name: Windows Compilation Test diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index a222380f60..2d903af646 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -5,6 +5,8 @@ on: push: branches: [develop] + workflow_dispatch: + jobs: build: name: MacOS Unit Test diff --git a/cmake/CMakeLists.jpeg b/cmake/CMakeLists.jpeg new file mode 100644 index 0000000000..f0bd85a90d --- /dev/null +++ b/cmake/CMakeLists.jpeg @@ -0,0 +1,615 @@ +cmake_minimum_required(VERSION 3.10) +# When using CMake 3.4 and later, don't export symbols from executables unless +# the CMAKE_ENABLE_EXPORTS variable is set. +if(POLICY CMP0065) + cmake_policy(SET CMP0065 NEW) +endif() +if (POLICY CMP0077) + cmake_policy(SET CMP0077 NEW) +endif() +if(CMAKE_EXECUTABLE_SUFFIX) + set(CMAKE_EXECUTABLE_SUFFIX_TMP ${CMAKE_EXECUTABLE_SUFFIX}) +endif() + +project(libjpeg-turbo C) +set(VERSION 2.1.3) +set(COPYRIGHT_YEAR "1991-2022") +string(REPLACE "." ";" VERSION_TRIPLET ${VERSION}) +list(GET VERSION_TRIPLET 0 VERSION_MAJOR) +list(GET VERSION_TRIPLET 1 VERSION_MINOR) +list(GET VERSION_TRIPLET 2 VERSION_REVISION) +function(pad_number NUMBER OUTPUT_LEN) + string(LENGTH "${${NUMBER}}" INPUT_LEN) + if(INPUT_LEN LESS OUTPUT_LEN) + math(EXPR ZEROES "${OUTPUT_LEN} - ${INPUT_LEN} - 1") + set(NUM ${${NUMBER}}) + foreach(C RANGE ${ZEROES}) + set(NUM "0${NUM}") + endforeach() + set(${NUMBER} ${NUM} PARENT_SCOPE) + endif() +endfunction() +pad_number(VERSION_MINOR 3) +pad_number(VERSION_REVISION 3) +set(LIBJPEG_TURBO_VERSION_NUMBER ${VERSION_MAJOR}${VERSION_MINOR}${VERSION_REVISION}) + +# CMake 3.14 and later sets CMAKE_MACOSX_BUNDLE to TRUE by default when +# CMAKE_SYSTEM_NAME is iOS, tvOS, or watchOS, which breaks the libjpeg-turbo +# build. (Specifically, when CMAKE_MACOSX_BUNDLE is TRUE, executables for +# Apple platforms are built as application bundles, which causes CMake to +# complain that our install() directives for executables do not specify a +# BUNDLE DESTINATION. Even if CMake did not complain, building executables as +# application bundles would break our iOS packages.) +set(CMAKE_MACOSX_BUNDLE FALSE) + +string(TIMESTAMP DEFAULT_BUILD "%Y%m%d") +set(BUILD ${DEFAULT_BUILD} CACHE STRING "Build string (default: ${DEFAULT_BUILD})") + +# NOTE: On Windows, this does nothing except when using MinGW or Cygwin. +# CMAKE_BUILD_TYPE has no meaning in Visual Studio, and it always defaults to +# Debug when using NMake. +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif() +message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}") + +message(STATUS "VERSION = ${VERSION}, BUILD = ${BUILD}") + +include(cmakescripts/PackageInfo.cmake) + +# Detect CPU type and whether we're building 64-bit or 32-bit code +math(EXPR BITS "${CMAKE_SIZEOF_VOID_P} * 8") +string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} CMAKE_SYSTEM_PROCESSOR_LC) +set(COUNT 1) +foreach(ARCH ${CMAKE_OSX_ARCHITECTURES}) + if(COUNT GREATER 1) + message(FATAL_ERROR "The libjpeg-turbo build system does not support multiple values in CMAKE_OSX_ARCHITECTURES.") + endif() + math(EXPR COUNT "${COUNT}+1") +endforeach() +if(CMAKE_SYSTEM_PROCESSOR_LC MATCHES "x86_64" OR + CMAKE_SYSTEM_PROCESSOR_LC MATCHES "amd64" OR + CMAKE_SYSTEM_PROCESSOR_LC MATCHES "i[0-9]86" OR + CMAKE_SYSTEM_PROCESSOR_LC MATCHES "x86" OR + CMAKE_SYSTEM_PROCESSOR_LC MATCHES "ia32") + if(BITS EQUAL 64 OR CMAKE_C_COMPILER_ABI MATCHES "ELF X32") + set(CPU_TYPE x86_64) + else() + set(CPU_TYPE i386) + endif() + if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL ${CPU_TYPE}) + set(CMAKE_SYSTEM_PROCESSOR ${CPU_TYPE}) + endif() +elseif(CMAKE_SYSTEM_PROCESSOR_LC STREQUAL "aarch64" OR + CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^arm") + if(BITS EQUAL 64) + set(CPU_TYPE arm64) + else() + set(CPU_TYPE arm) + endif() +elseif(CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^ppc" OR + CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^powerpc") + set(CPU_TYPE powerpc) +else() + set(CPU_TYPE ${CMAKE_SYSTEM_PROCESSOR_LC}) +endif() +if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR + CMAKE_OSX_ARCHITECTURES MATCHES "arm64" OR + CMAKE_OSX_ARCHITECTURES MATCHES "i386") + set(CPU_TYPE ${CMAKE_OSX_ARCHITECTURES}) +endif() +if(CMAKE_OSX_ARCHITECTURES MATCHES "ppc") + set(CPU_TYPE powerpc) +endif() +if(MSVC_IDE AND CMAKE_GENERATOR_PLATFORM MATCHES "arm64") + set(CPU_TYPE arm64) +endif() + +message(STATUS "${BITS}-bit build (${CPU_TYPE})") + +macro(report_directory var) + if(CMAKE_INSTALL_${var} STREQUAL CMAKE_INSTALL_FULL_${var}) + message(STATUS "CMAKE_INSTALL_${var} = ${CMAKE_INSTALL_${var}}") + else() + message(STATUS "CMAKE_INSTALL_${var} = ${CMAKE_INSTALL_${var}} (${CMAKE_INSTALL_FULL_${var}})") + endif() + mark_as_advanced(CLEAR CMAKE_INSTALL_${var}) +endmacro() + +set(DIRLIST "BINDIR;DATAROOTDIR;DOCDIR;INCLUDEDIR;LIBDIR") +if(UNIX) + list(APPEND DIRLIST "MANDIR") +endif() +foreach(dir ${DIRLIST}) + report_directory(${dir}) +endforeach() + + +############################################################################### +# CONFIGURATION OPTIONS +############################################################################### + +macro(boolean_number var) + if(${var}) + set(${var} 1 ${ARGN}) + else() + set(${var} 0 ${ARGN}) + endif() +endmacro() + +option(ENABLE_SHARED "Build shared libraries" FALSE) +boolean_number(ENABLE_SHARED) +option(ENABLE_STATIC "Build static libraries" TRUE) +boolean_number(ENABLE_STATIC) +option(REQUIRE_SIMD "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" FALSE) +boolean_number(REQUIRE_SIMD) +option(WITH_12BIT "Encode/decode JPEG images with 12-bit samples (implies WITH_ARITH_DEC=0 WITH_ARITH_ENC=0 WITH_JAVA=0 WITH_SIMD=0 WITH_TURBOJPEG=0 )" FALSE) +boolean_number(WITH_12BIT) +option(WITH_ARITH_DEC "Include arithmetic decoding support when emulating the libjpeg v6b API/ABI" TRUE) +boolean_number(WITH_ARITH_DEC) +option(WITH_ARITH_ENC "Include arithmetic encoding support when emulating the libjpeg v6b API/ABI" TRUE) +boolean_number(WITH_ARITH_ENC) +if(CMAKE_C_COMPILER_ABI MATCHES "ELF X32") + set(WITH_JAVA 0) +else() + option(WITH_JAVA "Build Java wrapper for the TurboJPEG API library (implies ENABLE_SHARED=1)" FALSE) + boolean_number(WITH_JAVA) +endif() +option(WITH_JPEG7 "Emulate libjpeg v7 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)" FALSE) +boolean_number(WITH_JPEG7) +option(WITH_JPEG8 "Emulate libjpeg v8 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)" FALSE) +boolean_number(WITH_JPEG8) +option(WITH_MEM_SRCDST "Include in-memory source/destination manager functions when emulating the libjpeg v6b or v7 API/ABI" TRUE) +boolean_number(WITH_MEM_SRCDST) +option(WITH_SIMD "Include SIMD extensions, if available for this platform" FALSE) +boolean_number(WITH_SIMD) +option(WITH_TURBOJPEG "Include the TurboJPEG API library and associated test programs" FALSE) +boolean_number(WITH_TURBOJPEG) +option(WITH_FUZZ "Build fuzz targets" FALSE) + +macro(report_option var desc) + if(${var}) + message(STATUS "${desc} enabled (${var} = ${${var}})") + else() + message(STATUS "${desc} disabled (${var} = ${${var}})") + endif() +endmacro() + +if(WITH_JAVA) + set(ENABLE_SHARED 1) +endif() + +# Explicitly setting CMAKE_POSITION_INDEPENDENT_CODE=FALSE disables PIC for all +# targets, which will cause the shared library builds to fail. Thus, if shared +# libraries are enabled and CMAKE_POSITION_INDEPENDENT_CODE is explicitly set +# to FALSE, we need to unset it, thus restoring the default behavior +# (automatically using PIC for shared library targets.) +if(DEFINED CMAKE_POSITION_INDEPENDENT_CODE AND + NOT CMAKE_POSITION_INDEPENDENT_CODE AND ENABLE_SHARED) + unset(CMAKE_POSITION_INDEPENDENT_CODE CACHE) +endif() + +report_option(ENABLE_SHARED "Shared libraries") +report_option(ENABLE_STATIC "Static libraries") + +if(ENABLE_SHARED) + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) +endif() + +if(WITH_JPEG8 OR WITH_JPEG7) + set(WITH_ARITH_ENC 1) + set(WITH_ARITH_DEC 1) +endif() +if(WITH_JPEG8) + set(WITH_MEM_SRCDST 0) +endif() + +if(WITH_12BIT) + set(WITH_ARITH_DEC 0) + set(WITH_ARITH_ENC 0) + set(WITH_JAVA 0) + set(WITH_SIMD 0) + set(WITH_TURBOJPEG 0) + set(BITS_IN_JSAMPLE 12) +else() + set(BITS_IN_JSAMPLE 8) +endif() +report_option(WITH_12BIT "12-bit JPEG support") + +if(WITH_ARITH_DEC) + set(D_ARITH_CODING_SUPPORTED 1) +endif() +if(NOT WITH_12BIT) + report_option(WITH_ARITH_DEC "Arithmetic decoding support") +endif() + +if(WITH_ARITH_ENC) + set(C_ARITH_CODING_SUPPORTED 1) +endif() +if(NOT WITH_12BIT) + report_option(WITH_ARITH_ENC "Arithmetic encoding support") +endif() + +if(NOT WITH_12BIT) + report_option(WITH_TURBOJPEG "TurboJPEG API library") + report_option(WITH_JAVA "TurboJPEG Java wrapper") +endif() + +if(WITH_MEM_SRCDST) + set(MEM_SRCDST_SUPPORTED 1) + set(MEM_SRCDST_FUNCTIONS "global: jpeg_mem_dest; jpeg_mem_src;") +endif() +if(NOT WITH_JPEG8) + report_option(WITH_MEM_SRCDST "In-memory source/destination managers") +endif() + +set(SO_AGE 2) +if(WITH_MEM_SRCDST) + set(SO_AGE 3) +endif() + +if(WITH_JPEG8) + set(JPEG_LIB_VERSION 80) +elseif(WITH_JPEG7) + set(JPEG_LIB_VERSION 70) +else() + set(JPEG_LIB_VERSION 62) +endif() + +math(EXPR JPEG_LIB_VERSION_DIV10 "${JPEG_LIB_VERSION} / 10") +math(EXPR JPEG_LIB_VERSION_MOD10 "${JPEG_LIB_VERSION} % 10") +if(JPEG_LIB_VERSION STREQUAL "62") + set(DEFAULT_SO_MAJOR_VERSION ${JPEG_LIB_VERSION}) +else() + set(DEFAULT_SO_MAJOR_VERSION ${JPEG_LIB_VERSION_DIV10}) +endif() +if(JPEG_LIB_VERSION STREQUAL "80") + set(DEFAULT_SO_MINOR_VERSION 2) +else() + set(DEFAULT_SO_MINOR_VERSION 0) +endif() + +# This causes SO_MAJOR_VERSION/SO_MINOR_VERSION to reset to defaults if +# WITH_JPEG7 or WITH_JPEG8 has changed. +if((DEFINED WITH_JPEG7_INT AND NOT WITH_JPEG7 EQUAL WITH_JPEG7_INT) OR + (DEFINED WITH_JPEG8_INT AND NOT WITH_JPEG8 EQUAL WITH_JPEG8_INT)) + set(FORCE_SO_VERSION "FORCE") +endif() +set(WITH_JPEG7_INT ${WITH_JPEG7} CACHE INTERNAL "") +set(WITH_JPEG8_INT ${WITH_JPEG8} CACHE INTERNAL "") + +set(SO_MAJOR_VERSION ${DEFAULT_SO_MAJOR_VERSION} CACHE STRING + "Major version of the libjpeg API shared library (default: ${DEFAULT_SO_MAJOR_VERSION})" + ${FORCE_SO_VERSION}) +set(SO_MINOR_VERSION ${DEFAULT_SO_MINOR_VERSION} CACHE STRING + "Minor version of the libjpeg API shared library (default: ${DEFAULT_SO_MINOR_VERSION})" + ${FORCE_SO_VERSION}) + +set(JPEG_LIB_VERSION_DECIMAL "${JPEG_LIB_VERSION_DIV10}.${JPEG_LIB_VERSION_MOD10}") +message(STATUS "Emulating libjpeg API/ABI v${JPEG_LIB_VERSION_DECIMAL} (WITH_JPEG7 = ${WITH_JPEG7}, WITH_JPEG8 = ${WITH_JPEG8})") +message(STATUS "libjpeg API shared library version = ${SO_MAJOR_VERSION}.${SO_AGE}.${SO_MINOR_VERSION}") + +# Because the TurboJPEG API library uses versioned symbols and changes the +# names of functions whenever they are modified in a backward-incompatible +# manner, it is always backward-ABI-compatible with itself, so the major and +# minor SO versions don't change. However, we increase the middle number (the +# SO "age") whenever functions are added to the API. +set(TURBOJPEG_SO_MAJOR_VERSION 0) +set(TURBOJPEG_SO_AGE 2) +set(TURBOJPEG_SO_VERSION 0.${TURBOJPEG_SO_AGE}.0) + + +############################################################################### +# COMPILER SETTINGS +############################################################################### + +if(MSVC) + option(WITH_CRT_DLL + "Link all ${CMAKE_PROJECT_NAME} libraries and executables with the C run-time DLL (msvcr*.dll) instead of the static C run-time library (libcmt*.lib.) The default is to use the C run-time DLL only with the libraries and executables that need it." + FALSE) + if(NOT WITH_CRT_DLL) + # Use the static C library for all build types + foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + if(${var} MATCHES "/MD") + string(REGEX REPLACE "/MD" "/MT" ${var} "${${var}}") + endif() + endforeach() + endif() + add_definitions(-D_CRT_NONSTDC_NO_WARNINGS) +endif() + +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") + # Use the maximum optimization level for release builds + foreach(var CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO) + if(${var} MATCHES "-O2") + string(REGEX REPLACE "-O2" "-O3" ${var} "${${var}}") + endif() + endforeach() +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") + if(CMAKE_C_COMPILER_ID MATCHES "SunPro") + # Use the maximum optimization level for release builds + foreach(var CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO) + if(${var} MATCHES "-xO3") + string(REGEX REPLACE "-xO3" "-xO5" ${var} "${${var}}") + endif() + if(${var} MATCHES "-xO2") + string(REGEX REPLACE "-xO2" "-xO5" ${var} "${${var}}") + endif() + endforeach() + endif() +endif() + +string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC) + +set(EFFECTIVE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UC}}") +message(STATUS "Compiler flags = ${EFFECTIVE_C_FLAGS}") + +set(EFFECTIVE_LD_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE_UC}}") +message(STATUS "Linker flags = ${EFFECTIVE_LD_FLAGS}") + +include(CheckCSourceCompiles) +include(CheckIncludeFiles) +include(CheckTypeSize) + +check_type_size("size_t" SIZE_T) +check_type_size("unsigned long" UNSIGNED_LONG) + +if(SIZE_T EQUAL UNSIGNED_LONG) + check_c_source_compiles("int main(int argc, char **argv) { unsigned long a = argc; return __builtin_ctzl(a); }" + HAVE_BUILTIN_CTZL) +endif() +if(MSVC) + check_include_files("intrin.h" HAVE_INTRIN_H) +endif() + +if(UNIX) + if(CMAKE_CROSSCOMPILING) + set(RIGHT_SHIFT_IS_UNSIGNED 0) + else() + include(CheckCSourceRuns) + check_c_source_runs(" + #include + #include + int is_shifting_signed (long arg) { + long res = arg >> 4; + if (res == -0x7F7E80CL) + return 1; /* right shift is signed */ + /* see if unsigned-shift hack will fix it. */ + /* we can't just test exact value since it depends on width of long... */ + res |= (~0L) << (32-4); + if (res == -0x7F7E80CL) + return 0; /* right shift is unsigned */ + printf(\"Right shift isn't acting as I expect it to.\\\\n\"); + printf(\"I fear the JPEG software will not work at all.\\\\n\\\\n\"); + return 0; /* try it with unsigned anyway */ + } + int main (void) { + exit(is_shifting_signed(-0x7F7E80B1L)); + }" RIGHT_SHIFT_IS_UNSIGNED) + endif() +endif() + +if(MSVC) + set(INLINE_OPTIONS "__inline;inline") +else() + set(INLINE_OPTIONS "__inline__;inline") +endif() +option(FORCE_INLINE "Force function inlining" TRUE) +boolean_number(FORCE_INLINE) +if(FORCE_INLINE) + if(MSVC) + list(INSERT INLINE_OPTIONS 0 "__forceinline") + else() + list(INSERT INLINE_OPTIONS 0 "inline __attribute__((always_inline))") + list(INSERT INLINE_OPTIONS 0 "__inline__ __attribute__((always_inline))") + endif() +endif() +foreach(inline ${INLINE_OPTIONS}) + check_c_source_compiles("${inline} static int foo(void) { return 0; } int main(void) { return foo(); }" + INLINE_WORKS) + if(INLINE_WORKS) + set(INLINE ${inline}) + break() + endif() +endforeach() +if(NOT INLINE_WORKS) + message(FATAL_ERROR "Could not determine how to inline functions.") +endif() +message(STATUS "INLINE = ${INLINE} (FORCE_INLINE = ${FORCE_INLINE})") + +if(WITH_TURBOJPEG) + if(MSVC) + set(THREAD_LOCAL "__declspec(thread)") + else() + set(THREAD_LOCAL "__thread") + endif() + check_c_source_compiles("${THREAD_LOCAL} int i; int main(void) { i = 0; return i; }" HAVE_THREAD_LOCAL) + if(HAVE_THREAD_LOCAL) + message(STATUS "THREAD_LOCAL = ${THREAD_LOCAL}") + else() + message(WARNING "Thread-local storage is not available. The TurboJPEG API library's global error handler will not be thread-safe.") + unset(THREAD_LOCAL) + endif() +endif() + +if(UNIX AND NOT APPLE) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map "VERS_1 { global: *; };") + set(CMAKE_REQUIRED_FLAGS + "-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/conftest.map") + check_c_source_compiles("int main(void) { return 0; }" HAVE_VERSION_SCRIPT) + set(CMAKE_REQUIRED_FLAGS) + file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map) + if(HAVE_VERSION_SCRIPT) + message(STATUS "Linker supports GNU-style version scripts") + set(MAPFLAG "-Wl,--version-script,") + set(TJMAPFLAG "-Wl,--version-script,") + else() + message(STATUS "Linker does not support GNU-style version scripts") + if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") + # The Solaris linker doesn't like our version script for the libjpeg API + # library, but the version script for the TurboJPEG API library should + # still work. + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map + "VERS_1 { global: foo; local: *; }; VERS_2 { global: foo2; } VERS_1;") + set(CMAKE_REQUIRED_FLAGS "-Wl,-M,${CMAKE_CURRENT_BINARY_DIR}/conftest.map -shared") + check_c_source_compiles("int foo() { return 0; } int foo2() { return 2; }" + HAVE_MAPFILE) + set(CMAKE_REQUIRED_FLAGS) + file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map) + if(HAVE_MAPFILE) + message(STATUS "Linker supports mapfiles") + set(TJMAPFLAG "-Wl,-M,") + else() + message(STATUS "Linker does not support mapfiles") + endif() + endif() + endif() +endif() + +# Generate files +if(WIN32) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/win/jconfig.h.in jconfig.h) +else() + configure_file(jconfig.h.in jconfig.h) +endif() +configure_file(jconfigint.h.in jconfigint.h) +configure_file(jversion.h.in jversion.h) +if(UNIX) + configure_file(libjpeg.map.in libjpeg.map) +endif() + +# Include directories and compiler definitions +include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) + + +############################################################################### +# TARGETS +############################################################################### + +if(CMAKE_EXECUTABLE_SUFFIX_TMP) + set(CMAKE_EXECUTABLE_SUFFIX ${CMAKE_EXECUTABLE_SUFFIX_TMP}) +endif() +message(STATUS "CMAKE_EXECUTABLE_SUFFIX = ${CMAKE_EXECUTABLE_SUFFIX}") + +set(JPEG_SOURCES jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c + jcicc.c jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c + jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c jdatadst.c + jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c jdicc.c jdinput.c + jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c jdpostct.c jdsample.c + jdtrans.c jerror.c jfdctflt.c jfdctfst.c jfdctint.c jidctflt.c jidctfst.c + jidctint.c jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c) + +if(WITH_ARITH_ENC OR WITH_ARITH_DEC) + set(JPEG_SOURCES ${JPEG_SOURCES} jaricom.c) +endif() + +if(WITH_ARITH_ENC) + set(JPEG_SOURCES ${JPEG_SOURCES} jcarith.c) +endif() + +if(WITH_ARITH_DEC) + set(JPEG_SOURCES ${JPEG_SOURCES} jdarith.c) +endif() + +if(WITH_SIMD) + add_subdirectory(simd) + if(NEON_INTRINSICS) + add_definitions(-DNEON_INTRINSICS) + endif() +elseif(NOT WITH_12BIT) + message(STATUS "SIMD extensions: None (WITH_SIMD = ${WITH_SIMD})") +endif() +if(WITH_SIMD) + message(STATUS "SIMD extensions: ${CPU_TYPE} (WITH_SIMD = ${WITH_SIMD})") + if(MSVC_IDE OR XCODE) + set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1) + endif() +else() + add_library(simd OBJECT jsimd_none.c) + if(NOT WIN32 AND (CMAKE_POSITION_INDEPENDENT_CODE OR ENABLE_SHARED)) + set_target_properties(simd PROPERTIES POSITION_INDEPENDENT_CODE 1) + endif() +endif() + +if(WITH_JAVA) + add_subdirectory(java) +endif() + +if(ENABLE_SHARED) + add_subdirectory(sharedlib) +endif() + +if(ENABLE_STATIC) + add_library(jpeg-static STATIC ${JPEG_SOURCES} $ + ${SIMD_OBJS}) + if(NOT MSVC) + set_target_properties(jpeg-static PROPERTIES OUTPUT_NAME jpeg) + endif() +endif() + +if(WITH_TURBOJPEG) + if(ENABLE_SHARED) + set(TURBOJPEG_SOURCES ${JPEG_SOURCES} $ ${SIMD_OBJS} + turbojpeg.c transupp.c jdatadst-tj.c jdatasrc-tj.c rdbmp.c rdppm.c + wrbmp.c wrppm.c) + set(TJMAPFILE ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg-mapfile) + if(WITH_JAVA) + set(TURBOJPEG_SOURCES ${TURBOJPEG_SOURCES} turbojpeg-jni.c) + include_directories(${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) + set(TJMAPFILE ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg-mapfile.jni) + endif() + if(MSVC) + configure_file(${CMAKE_SOURCE_DIR}/win/turbojpeg.rc.in + ${CMAKE_BINARY_DIR}/win/turbojpeg.rc) + set(TURBOJPEG_SOURCES ${TURBOJPEG_SOURCES} + ${CMAKE_BINARY_DIR}/win/turbojpeg.rc) + endif() + add_library(turbojpeg SHARED ${TURBOJPEG_SOURCES}) + set_property(TARGET turbojpeg PROPERTY COMPILE_FLAGS + "-DBMP_SUPPORTED -DPPM_SUPPORTED") + if(WIN32) + set_target_properties(turbojpeg PROPERTIES DEFINE_SYMBOL DLLDEFINE) + endif() + if(MINGW) + set_target_properties(turbojpeg PROPERTIES LINK_FLAGS -Wl,--kill-at) + endif() + if(APPLE AND (NOT CMAKE_OSX_DEPLOYMENT_TARGET OR + CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER 10.4)) + if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG) + set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") + endif() + set_target_properties(turbojpeg PROPERTIES MACOSX_RPATH 1) + endif() + set_target_properties(turbojpeg PROPERTIES + SOVERSION ${TURBOJPEG_SO_MAJOR_VERSION} VERSION ${TURBOJPEG_SO_VERSION}) + if(TJMAPFLAG) + set_target_properties(turbojpeg PROPERTIES + LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}") + endif() + endif() + + if(ENABLE_STATIC) + add_library(turbojpeg-static STATIC ${JPEG_SOURCES} $ + ${SIMD_OBJS} turbojpeg.c transupp.c jdatadst-tj.c jdatasrc-tj.c rdbmp.c + rdppm.c wrbmp.c wrppm.c) + set_property(TARGET turbojpeg-static PROPERTY COMPILE_FLAGS + "-DBMP_SUPPORTED -DPPM_SUPPORTED") + if(NOT MSVC) + set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg) + endif() + endif() +endif() + +if(WIN32) + set(USE_SETMODE "-DUSE_SETMODE") +endif() +if(WITH_12BIT) + set(COMPILE_FLAGS "-DGIF_SUPPORTED -DPPM_SUPPORTED ${USE_SETMODE}") +else() + set(COMPILE_FLAGS "-DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED -DTARGA_SUPPORTED ${USE_SETMODE}") + set(CJPEG_BMP_SOURCES rdbmp.c rdtarga.c) + set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c) +endif() \ No newline at end of file diff --git a/cmake/CMakeLists.png b/cmake/CMakeLists.png new file mode 100644 index 0000000000..2521ab41be --- /dev/null +++ b/cmake/CMakeLists.png @@ -0,0 +1,741 @@ +# CMakeLists.txt + +# Copyright (C) 2018 Cosmin Truta +# Copyright (C) 2007,2009-2018 Glenn Randers-Pehrson +# Written by Christian Ehrlicher, 2007 +# Revised by Roger Lowman, 2009-2010 +# Revised by Clifford Yapp, 2011-2012,2017 +# Revised by Roger Leigh, 2016 +# Revised by Andreas Franek, 2016 +# Revised by Sam Serrels, 2017 +# Revised by Vadim Barkov, 2017 +# Revised by Vicky Pfau, 2018 +# Revised by Cameron Cawley, 2018 +# Revised by Cosmin Truta, 2018 +# Revised by Kyle Bentley, 2018 + +# This code is released under the libpng license. +# For conditions of distribution and use, see the disclaimer +# and license in png.h + +cmake_minimum_required(VERSION 3.10) +cmake_policy(VERSION 3.1) +# When using CMake 3.4 and later, don't export symbols from executables unless +# the CMAKE_ENABLE_EXPORTS variable is set. +if(POLICY CMP0065) + cmake_policy(SET CMP0065 NEW) +endif() +if (POLICY CMP0077) + cmake_policy(SET CMP0077 NEW) +endif() +set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) + +project(libpng C ASM) +enable_testing() + +set(PNGLIB_MAJOR 1) +set(PNGLIB_MINOR 6) +set(PNGLIB_RELEASE 37) +set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR}) +set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE}) + +include(GNUInstallDirs) + +# needed packages + +# Allow users to specify location of Zlib. +# Useful if zlib is being built alongside this as a sub-project. +option(PNG_BUILD_ZLIB "Custom zlib Location, else find_package is used" ON) + +if(NOT PNG_BUILD_ZLIB) + find_package(ZLIB REQUIRED) + include_directories(${ZLIB_INCLUDE_DIR}) +endif() + +if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) + find_library(M_LIBRARY m) +else() + # libm is not needed and/or not available + set(M_LIBRARY "") +endif() + +# COMMAND LINE OPTIONS +option(PNG_SHARED "Build shared lib" OFF) +option(PNG_STATIC "Build static lib" ON) +option(PNG_TESTS "Build libpng tests" OFF) + +# Many more configuration options could be added here +option(PNG_FRAMEWORK "Build OS X framework" OFF) +option(PNG_DEBUG "Build with debug output" OFF) +option(PNG_HARDWARE_OPTIMIZATIONS "Enable hardware optimizations" OFF) + +set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names") +set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings") + +if(PNG_HARDWARE_OPTIMIZATIONS) + +# set definitions and sources for arm +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") + set(PNG_ARM_NEON_POSSIBLE_VALUES check on off) + set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations: + check: (default) use internal checking code; + off: disable the optimizations; + on: turn on unconditionally.") + set_property(CACHE PNG_ARM_NEON PROPERTY STRINGS + ${PNG_ARM_NEON_POSSIBLE_VALUES}) + list(FIND PNG_ARM_NEON_POSSIBLE_VALUES ${PNG_ARM_NEON} index) + if(index EQUAL -1) + message(FATAL_ERROR + "PNG_ARM_NEON must be one of [${PNG_ARM_NEON_POSSIBLE_VALUES}]") + elseif(NOT ${PNG_ARM_NEON} STREQUAL "off") + set(libpng_arm_sources + arm/arm_init.c + arm/filter_neon.S + arm/filter_neon_intrinsics.c + arm/palette_neon_intrinsics.c) + + if(${PNG_ARM_NEON} STREQUAL "on") + add_definitions(-DPNG_ARM_NEON_OPT=2) + elseif(${PNG_ARM_NEON} STREQUAL "check") + add_definitions(-DPNG_ARM_NEON_CHECK_SUPPORTED) + endif() + else() + add_definitions(-DPNG_ARM_NEON_OPT=0) + endif() +endif() + +# set definitions and sources for powerpc +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*") + set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off) + set(PNG_POWERPC_VSX "on" CACHE STRING "Enable POWERPC VSX optimizations: + off: disable the optimizations.") + set_property(CACHE PNG_POWERPC_VSX PROPERTY STRINGS + ${PNG_POWERPC_VSX_POSSIBLE_VALUES}) + list(FIND PNG_POWERPC_VSX_POSSIBLE_VALUES ${PNG_POWERPC_VSX} index) + if(index EQUAL -1) + message(FATAL_ERROR + "PNG_POWERPC_VSX must be one of [${PNG_POWERPC_VSX_POSSIBLE_VALUES}]") + elseif(NOT ${PNG_POWERPC_VSX} STREQUAL "off") + set(libpng_powerpc_sources + powerpc/powerpc_init.c + powerpc/filter_vsx_intrinsics.c) + if(${PNG_POWERPC_VSX} STREQUAL "on") + add_definitions(-DPNG_POWERPC_VSX_OPT=2) + endif() + else() + add_definitions(-DPNG_POWERPC_VSX_OPT=0) + endif() +endif() + +# set definitions and sources for intel +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*") + set(PNG_INTEL_SSE_POSSIBLE_VALUES on off) + set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations: + off: disable the optimizations") + set_property(CACHE PNG_INTEL_SSE PROPERTY STRINGS + ${PNG_INTEL_SSE_POSSIBLE_VALUES}) + list(FIND PNG_INTEL_SSE_POSSIBLE_VALUES ${PNG_INTEL_SSE} index) + if(index EQUAL -1) + message(FATAL_ERROR + "PNG_INTEL_SSE must be one of [${PNG_INTEL_SSE_POSSIBLE_VALUES}]") + elseif(NOT ${PNG_INTEL_SSE} STREQUAL "off") + set(libpng_intel_sources + intel/intel_init.c + intel/filter_sse2_intrinsics.c) + if(${PNG_INTEL_SSE} STREQUAL "on") + add_definitions(-DPNG_INTEL_SSE_OPT=1) + endif() + else() + add_definitions(-DPNG_INTEL_SSE_OPT=0) + endif() +endif() + +# set definitions and sources for MIPS +if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*") + set(PNG_MIPS_MSA_POSSIBLE_VALUES on off) + set(PNG_MIPS_MSA "on" CACHE STRING "Enable MIPS_MSA optimizations: + off: disable the optimizations") + set_property(CACHE PNG_MIPS_MSA PROPERTY STRINGS + ${PNG_MIPS_MSA_POSSIBLE_VALUES}) + list(FIND PNG_MIPS_MSA_POSSIBLE_VALUES ${PNG_MIPS_MSA} index) + if(index EQUAL -1) + message(FATAL_ERROR + "PNG_MIPS_MSA must be one of [${PNG_MIPS_MSA_POSSIBLE_VALUES}]") + elseif(NOT ${PNG_MIPS_MSA} STREQUAL "off") + set(libpng_mips_sources + mips/mips_init.c + mips/filter_msa_intrinsics.c) + if(${PNG_MIPS_MSA} STREQUAL "on") + add_definitions(-DPNG_MIPS_MSA_OPT=2) + endif() + else() + add_definitions(-DPNG_MIPS_MSA_OPT=0) + endif() +endif() + +else(PNG_HARDWARE_OPTIMIZATIONS) + +# set definitions and sources for arm +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") + add_definitions(-DPNG_ARM_NEON_OPT=0) +endif() + +# set definitions and sources for powerpc +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*") + add_definitions(-DPNG_POWERPC_VSX_OPT=0) +endif() + +# set definitions and sources for intel +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*") + add_definitions(-DPNG_INTEL_SSE_OPT=0) +endif() + +# set definitions and sources for MIPS +if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*") + add_definitions(-DPNG_MIPS_MSA_OPT=0) +endif() + +endif(PNG_HARDWARE_OPTIMIZATIONS) + +# SET LIBNAME +set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR}) + +# to distinguish between debug and release lib +set(CMAKE_DEBUG_POSTFIX "d") + +include(CheckCSourceCompiles) +option(ld-version-script "Enable linker version script" ON) +if(ld-version-script AND NOT APPLE) + # Check if LD supports linker scripts. + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map" "VERS_1 { + global: sym; + local: *; +}; + +VERS_2 { + global: sym2; + main; +} VERS_1; +") + set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS}) + set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/conftest.map'") + check_c_source_compiles("void sym(void) {} +void sym2(void) {} +int main(void) {return 0;} +" HAVE_LD_VERSION_SCRIPT) + if(NOT HAVE_LD_VERSION_SCRIPT) + set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE} "-Wl,-M -Wl,${CMAKE_CURRENT_BINARY_DIR}/conftest.map") + check_c_source_compiles("void sym(void) {} +void sym2(void) {} +int main(void) {return 0;} +" HAVE_SOLARIS_LD_VERSION_SCRIPT) + endif() + set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE}) + file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map") +endif() + +# Find symbol prefix. Likely obsolete and unnecessary with recent +# toolchains (it's not done in many other projects). +function(symbol_prefix) + set(SYMBOL_PREFIX) + + execute_process(COMMAND "${CMAKE_C_COMPILER}" "-E" "-" + INPUT_FILE /dev/null + OUTPUT_VARIABLE OUT + RESULT_VARIABLE STATUS) + + if(CPP_FAIL) + message(WARNING "Failed to run the C preprocessor") + endif() + + string(REPLACE "\n" ";" OUT "${OUT}") + foreach(line ${OUT}) + string(REGEX MATCH "^PREFIX=" found_match "${line}") + if(found_match) + string(REGEX REPLACE "^PREFIX=(.*\)" "\\1" prefix "${line}") + string(REGEX MATCH "__USER_LABEL_PREFIX__" found_match "${prefix}") + if(found_match) + string(REGEX REPLACE "(.*)__USER_LABEL_PREFIX__(.*)" "\\1\\2" prefix "${prefix}") + endif() + set(SYMBOL_PREFIX "${prefix}") + endif() + endforeach() + + message(STATUS "Symbol prefix: ${SYMBOL_PREFIX}") + set(SYMBOL_PREFIX "${SYMBOL_PREFIX}" PARENT_SCOPE) +endfunction() + +if(UNIX) + symbol_prefix() +endif() + +find_program(AWK NAMES gawk awk) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +if(NOT AWK OR ANDROID) + # No awk available to generate sources; use pre-built pnglibconf.h + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt + ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h) + add_custom_target(genfiles) # Dummy +else() + include(CMakeParseArguments) + # Generate .chk from .out with awk + # generate_chk(INPUT inputfile OUTPUT outputfile [DEPENDS dep1 [dep2...]]) + function(generate_chk) + set(options) + set(oneValueArgs INPUT OUTPUT) + set(multiValueArgs DEPENDS) + cmake_parse_arguments(_GC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + if(NOT _GC_INPUT) + message(FATAL_ERROR "generate_chk: Missing INPUT argument") + endif() + if(NOT _GC_OUTPUT) + message(FATAL_ERROR "generate_chk: Missing OUTPUT argument") + endif() + + add_custom_command(OUTPUT "${_GC_OUTPUT}" + COMMAND "${CMAKE_COMMAND}" + "-DINPUT=${_GC_INPUT}" + "-DOUTPUT=${_GC_OUTPUT}" + -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/genchk.cmake" + DEPENDS "${_GC_INPUT}" ${_GC_DEPENDS} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + endfunction() + + # Generate .out from .c with awk + # generate_out(INPUT inputfile OUTPUT outputfile [DEPENDS dep1 [dep2...]]) + function(generate_out) + set(options) + set(oneValueArgs INPUT OUTPUT) + set(multiValueArgs DEPENDS) + cmake_parse_arguments(_GO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + if(NOT _GO_INPUT) + message(FATAL_ERROR "generate_out: Missing INPUT argument") + endif() + if(NOT _GO_OUTPUT) + message(FATAL_ERROR "generate_out: Missing OUTPUT argument") + endif() + + add_custom_command(OUTPUT "${_GO_OUTPUT}" + COMMAND "${CMAKE_COMMAND}" + "-DINPUT=${_GO_INPUT}" + "-DOUTPUT=${_GO_OUTPUT}" + -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/genout.cmake" + DEPENDS "${_GO_INPUT}" ${_GO_DEPENDS} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + endfunction() + + # Generate specific source file with awk + # generate_source(OUTPUT outputfile [DEPENDS dep1 [dep2...]]) + function(generate_source) + set(options) + set(oneValueArgs OUTPUT) + set(multiValueArgs DEPENDS) + cmake_parse_arguments(_GSO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + if(NOT _GSO_OUTPUT) + message(FATAL_ERROR "generate_source: Missing OUTPUT argument") + endif() + + add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_GSO_OUTPUT}" + COMMAND "${CMAKE_COMMAND}" + "-DOUTPUT=${_GSO_OUTPUT}" + -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/gensrc.cmake" + DEPENDS ${_GSO_DEPENDS} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + endfunction() + + # Copy file + function(generate_copy source destination) + add_custom_command(OUTPUT "${destination}" + COMMAND "${CMAKE_COMMAND}" -E remove "${destination}" + COMMAND "${CMAKE_COMMAND}" -E copy "${source}" + "${destination}" + DEPENDS "${source}") + endfunction() + + # Generate scripts/pnglibconf.h + generate_source(OUTPUT "scripts/pnglibconf.c" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.dfa" + "${CMAKE_CURRENT_SOURCE_DIR}/scripts/options.awk" + "${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h") + + # Generate pnglibconf.c + generate_source(OUTPUT "pnglibconf.c" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.dfa" + "${CMAKE_CURRENT_SOURCE_DIR}/scripts/options.awk" + "${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h") + + if(PNG_PREFIX) + set(PNGLIBCONF_H_EXTRA_DEPENDS + "${CMAKE_CURRENT_BINARY_DIR}/scripts/prefix.out" + "${CMAKE_CURRENT_SOURCE_DIR}/scripts/macro.lst") + set(PNGPREFIX_H_EXTRA_DEPENDS + "${CMAKE_CURRENT_BINARY_DIR}/scripts/intprefix.out") + endif() + + generate_out(INPUT "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.c" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out") + + # Generate pnglibconf.h + generate_source(OUTPUT "pnglibconf.h" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out" + ${PNGLIBCONF_H_EXTRA_DEPENDS}) + + generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/intprefix.c" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/intprefix.out" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h") + + generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/prefix.c" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/prefix.out" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/png.h" + "${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h" + "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out") + + # Generate pngprefix.h + generate_source(OUTPUT "pngprefix.h" + DEPENDS ${PNGPREFIX_H_EXTRA_DEPENDS}) + + generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/sym.c" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/sym.out" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h") + + generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/symbols.c" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.out" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/png.h" + "${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h" + "${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt") + + generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/vers.c" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/vers.out" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/png.h" + "${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h" + "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h") + + generate_chk(INPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.out" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.chk" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/scripts/checksym.awk" + "${CMAKE_CURRENT_SOURCE_DIR}/scripts/symbols.def") + + add_custom_target(symbol-check DEPENDS + "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.chk") + + generate_copy("${CMAKE_CURRENT_BINARY_DIR}/scripts/sym.out" + "${CMAKE_CURRENT_BINARY_DIR}/libpng.sym") + generate_copy("${CMAKE_CURRENT_BINARY_DIR}/scripts/vers.out" + "${CMAKE_CURRENT_BINARY_DIR}/libpng.vers") + + add_custom_target(genvers DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libpng.vers") + add_custom_target(gensym DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libpng.sym") + + add_custom_target("genprebuilt" + COMMAND "${CMAKE_COMMAND}" + "-DOUTPUT=scripts/pnglibconf.h.prebuilt" + -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/gensrc.cmake" + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + + # A single target handles generation of all generated files. If + # they are depended upon separately by multiple targets, this + # confuses parallel make (it would require a separate top-level + # target for each file to track the dependencies properly). + add_custom_target(genfiles DEPENDS + "${CMAKE_CURRENT_BINARY_DIR}/libpng.sym" + "${CMAKE_CURRENT_BINARY_DIR}/libpng.vers" + "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.c" + "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h" + "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out" + "${CMAKE_CURRENT_BINARY_DIR}/pngprefix.h" + "${CMAKE_CURRENT_BINARY_DIR}/scripts/intprefix.out" + "${CMAKE_CURRENT_BINARY_DIR}/scripts/pnglibconf.c" + "${CMAKE_CURRENT_BINARY_DIR}/scripts/prefix.out" + "${CMAKE_CURRENT_BINARY_DIR}/scripts/sym.out" + "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.chk" + "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.out" + "${CMAKE_CURRENT_BINARY_DIR}/scripts/vers.out") +endif(NOT AWK OR ANDROID) + +# OUR SOURCES +set(libpng_public_hdrs + png.h + pngconf.h + "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h" +) +set(libpng_private_hdrs + pngpriv.h + pngdebug.h + pnginfo.h + pngstruct.h +) +if(AWK AND NOT ANDROID) + list(APPEND libpng_private_hdrs "${CMAKE_CURRENT_BINARY_DIR}/pngprefix.h") +endif() +set(libpng_sources + ${libpng_public_hdrs} + ${libpng_private_hdrs} + png.c + pngerror.c + pngget.c + pngmem.c + pngpread.c + pngread.c + pngrio.c + pngrtran.c + pngrutil.c + pngset.c + pngtrans.c + pngwio.c + pngwrite.c + pngwtran.c + pngwutil.c + ${libpng_arm_sources} + ${libpng_intel_sources} + ${libpng_mips_sources} + ${libpng_powerpc_sources} +) +set(pngtest_sources + pngtest.c +) +set(pngvalid_sources + contrib/libtests/pngvalid.c +) +set(pngstest_sources + contrib/libtests/pngstest.c +) +set(pngunknown_sources + contrib/libtests/pngunknown.c +) +set(pngimage_sources + contrib/libtests/pngimage.c +) +set(pngfix_sources + contrib/tools/pngfix.c +) +set(png_fix_itxt_sources + contrib/tools/png-fix-itxt.c +) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_DEPRECATE) +endif() + +if(PNG_DEBUG) + add_definitions(-DPNG_DEBUG) +endif() + +# NOW BUILD OUR TARGET +include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR}) + +unset(PNG_LIB_TARGETS) + +if(PNG_STATIC) + # does not work without changing name + set(PNG_LIB_NAME_STATIC png_static) + add_library(png_static STATIC ${libpng_sources}) + add_dependencies(png_static genfiles) + # MSVC doesn't use a different file extension for shared vs. static + # libs. We are able to change OUTPUT_NAME to remove the _static + # for all other platforms. + if(NOT MSVC) + set_target_properties(png_static PROPERTIES + OUTPUT_NAME "${PNG_LIB_NAME}" + CLEAN_DIRECT_OUTPUT 1) + else() + set_target_properties(png_static PROPERTIES + OUTPUT_NAME "${PNG_LIB_NAME}_static" + CLEAN_DIRECT_OUTPUT 1) + endif() + list(APPEND PNG_LIB_TARGETS png_static) + if(MSVC) + # msvc does not append 'lib' - do it here to have consistent name + set_target_properties(png_static PROPERTIES PREFIX "lib") + endif() + target_link_libraries(png_static ${M_LIBRARY}) +endif() + +if(NOT PNG_LIB_TARGETS) + message(SEND_ERROR + "No library variant selected to build. " + "Please enable at least one of the following options: " + "PNG_STATIC, PNG_SHARED, PNG_FRAMEWORK") +endif() + +# Set a variable with CMake code which: +# Creates a symlink from src to dest (if possible) or alternatively +# copies if different. +include(CMakeParseArguments) + +function(create_symlink DEST_FILE) + + cmake_parse_arguments(S "" "FILE;TARGET" "" ${ARGN}) + + if(NOT S_TARGET AND NOT S_FILE) + message(FATAL_ERROR "create_symlink: Missing TARGET or FILE argument") + endif() + + if(S_TARGET AND S_FILE) + message(FATAL_ERROR "create_symlink: Both source file ${S_FILE} and build target ${S_TARGET} arguments are present; can only have one.") + endif() + + if(S_FILE) + # If we don't need to symlink something that's coming from a build target, + # we can go ahead and symlink/copy at configure time. + if(CMAKE_HOST_WIN32 AND NOT CYGWIN) + execute_process( + COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${S_FILE} ${DEST_FILE} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + else() + execute_process( + COMMAND ${CMAKE_COMMAND} -E create_symlink ${S_FILE} ${DEST_FILE} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + endif() + endif() + + if(S_TARGET) + # We need to use generator expressions, which can be a bit tricky, so for + # simplicity make the symlink a POST_BUILD step and use the TARGET + # signature of add_custom_command. + if(CMAKE_HOST_WIN32 AND NOT CYGWIN) + add_custom_command(TARGET ${S_TARGET} POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E copy_if_different $ $/${DEST_FILE}) + else() + add_custom_command(TARGET ${S_TARGET} POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E create_symlink $ $/${DEST_FILE}) + endif() + endif() + +endfunction() + +# Create source generation scripts. +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/genchk.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/scripts/genchk.cmake @ONLY) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/genout.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/scripts/genout.cmake @ONLY) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/gensrc.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/scripts/gensrc.cmake @ONLY) + +# libpng is a library so default to 'lib' +if(NOT DEFINED CMAKE_INSTALL_LIBDIR) + set(CMAKE_INSTALL_LIBDIR lib) +endif() + +# CREATE PKGCONFIG FILES +# We use the same files like ./configure, so we have to set its vars. +# Only do this on Windows for Cygwin - the files don't make much sense outside +# of a UNIX look-alike. +if(NOT WIN32 OR CYGWIN OR MINGW) + set(prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix ${CMAKE_INSTALL_PREFIX}) + set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) + set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) + set(LIBS "-lz -lm") + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY) + create_symlink(libpng.pc FILE ${PNGLIB_NAME}.pc) + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in + ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY) + create_symlink(libpng-config FILE ${PNGLIB_NAME}-config) +endif() + +# SET UP LINKS +if(PNG_SHARED) + set_target_properties(png PROPERTIES +# VERSION 16.${PNGLIB_RELEASE}.1.6.37 + VERSION 16.${PNGLIB_RELEASE}.0 + SOVERSION 16 + CLEAN_DIRECT_OUTPUT 1) +endif() + +# INSTALL +if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + install(TARGETS ${PNG_LIB_TARGETS} + EXPORT libpng + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(PNG_SHARED) + # Create a symlink for libpng.dll.a => libpng16.dll.a on Cygwin + if(CYGWIN OR MINGW) + create_symlink(libpng${CMAKE_IMPORT_LIBRARY_SUFFIX} TARGET png) + install(FILES $/libpng${CMAKE_IMPORT_LIBRARY_SUFFIX} + DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + if(NOT WIN32) + create_symlink(libpng${CMAKE_SHARED_LIBRARY_SUFFIX} TARGET png) + install(FILES $/libpng${CMAKE_SHARED_LIBRARY_SUFFIX} + DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + endif() + + if(PNG_STATIC) + if(NOT WIN32 OR CYGWIN OR MINGW) + create_symlink(libpng${CMAKE_STATIC_LIBRARY_SUFFIX} TARGET png_static) + install(FILES $/libpng${CMAKE_STATIC_LIBRARY_SUFFIX} + DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + endif() +endif() + +if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) + install(FILES ${libpng_public_hdrs} DESTINATION include) + install(FILES ${libpng_public_hdrs} DESTINATION include/${PNGLIB_NAME}) +endif() +if(NOT SKIP_INSTALL_EXECUTABLES AND NOT SKIP_INSTALL_ALL) + if(NOT WIN32 OR CYGWIN OR MINGW) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config DESTINATION bin) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config DESTINATION bin) + endif() +endif() + +if(NOT SKIP_INSTALL_PROGRAMS AND NOT SKIP_INSTALL_ALL) + install(TARGETS ${PNG_BIN_TARGETS} + RUNTIME DESTINATION bin) +endif() + +if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL) + # Install man pages + if(NOT PNG_MAN_DIR) + set(PNG_MAN_DIR "share/man") + endif() + install(FILES libpng.3 libpngpf.3 DESTINATION ${PNG_MAN_DIR}/man3) + install(FILES png.5 DESTINATION ${PNG_MAN_DIR}/man5) + # Install pkg-config files + if(NOT CMAKE_HOST_WIN32 OR CYGWIN OR MINGW) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config + DESTINATION bin) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config + DESTINATION bin) + endif() +endif() + +# Create an export file that CMake users can include() to import our targets. +if(NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL) + install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake) +endif() + +# what's with libpng-manual.txt and all the extra files? + +# UNINSTALL +# do we need this? + +# DIST +# do we need this? + +# to create msvc import lib for mingw compiled shared lib +# pexports libpng.dll > libpng.def +# lib /def:libpng.def /machine:x86 diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c5a3707865..2566497c0e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -138,6 +138,9 @@ if(MSVC) add_compile_options(/Zc:__cplusplus) add_compile_options(/wd4244) add_compile_options(/wd4267) + if(LAMMPS_EXCEPTIONS) + add_compile_options(/EHsc) + endif() add_compile_definitions(_CRT_SECURE_NO_WARNINGS) endif() diff --git a/cmake/CMakeLists.zlib b/cmake/CMakeLists.zlib new file mode 100644 index 0000000000..a33f14ce64 --- /dev/null +++ b/cmake/CMakeLists.zlib @@ -0,0 +1,195 @@ +cmake_minimum_required(VERSION 3.10) +# When using CMake 3.4 and later, don't export symbols from executables unless +# the CMAKE_ENABLE_EXPORTS variable is set. +if(POLICY CMP0065) + cmake_policy(SET CMP0065 NEW) +endif() +if (POLICY CMP0077) + cmake_policy(SET CMP0077 NEW) +endif() +set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) + +project(zlib C) + +set(VERSION "1.2.11") + +option(ASM686 "Enable building i686 assembly implementation" OFF) +option(AMD64 "Enable building amd64 assembly implementation" OFF) + +set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables") +set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries") +set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers") +set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages") +set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") + +include(CheckTypeSize) +include(CheckFunctionExists) +include(CheckIncludeFile) +include(CheckCSourceCompiles) + +check_include_file(sys/types.h HAVE_SYS_TYPES_H) +check_include_file(stdint.h HAVE_STDINT_H) +check_include_file(stddef.h HAVE_STDDEF_H) + +# +# Check to see if we have large file support +# +set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1) +# We add these other definitions here because CheckTypeSize.cmake +# in CMake 2.4.x does not automatically do so and we want +# compatibility with CMake 2.4.x. +if(HAVE_SYS_TYPES_H) + list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H) +endif() +if(HAVE_STDINT_H) + list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H) +endif() +if(HAVE_STDDEF_H) + list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H) +endif() +check_type_size(off64_t OFF64_T) +check_type_size(off64_t OFF64_T) +if(HAVE_OFF64_T) + add_definitions(-D_LARGEFILE64_SOURCE=1) +endif() +set(CMAKE_REQUIRED_DEFINITIONS) # clear variable + +# +# Check for fseeko +# +check_function_exists(fseeko HAVE_FSEEKO) +if(NOT HAVE_FSEEKO) + add_definitions(-DNO_FSEEKO) +endif() + +# +# Check for unistd.h +# +check_include_file(unistd.h Z_HAVE_UNISTD_H) + +if(MSVC) + set(CMAKE_DEBUG_POSTFIX "d") + add_definitions(-D_CRT_SECURE_NO_DEPRECATE) + add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +endif() + +if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) + # If we're doing an out of source build and the user has a zconf.h + # in their source tree... + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h) + file(RENAME ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.included) + endif() +endif() + +set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc) +configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein + ${ZLIB_PC} @ONLY) +configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein + ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY) +include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}) + + +#============================================================================ +# zlib +#============================================================================ + +set(ZLIB_PUBLIC_HDRS + ${CMAKE_CURRENT_BINARY_DIR}/zconf.h + zlib.h +) +set(ZLIB_PRIVATE_HDRS + crc32.h + deflate.h + gzguts.h + inffast.h + inffixed.h + inflate.h + inftrees.h + trees.h + zutil.h +) +set(ZLIB_SRCS + adler32.c + compress.c + crc32.c + deflate.c + gzclose.c + gzlib.c + gzread.c + gzwrite.c + inflate.c + infback.c + inftrees.c + inffast.c + trees.c + uncompr.c + zutil.c +) + +if(NOT MINGW) + set(ZLIB_DLL_SRCS + win32/zlib1.rc # If present will override custom build rule below. + ) +endif() + +if(CMAKE_COMPILER_IS_GNUCC) + if(ASM686) + set(ZLIB_ASMS contrib/asm686/match.S) + elseif (AMD64) + set(ZLIB_ASMS contrib/amd64/amd64-match.S) + endif () + + if(ZLIB_ASMS) + add_definitions(-DASMV) + set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE) + endif() +endif() + +if(MSVC) + if(ASM686) + ENABLE_LANGUAGE(ASM_MASM) + set(ZLIB_ASMS + contrib/masmx86/inffas32.asm + contrib/masmx86/match686.asm + ) + elseif (AMD64) + ENABLE_LANGUAGE(ASM_MASM) + set(ZLIB_ASMS + contrib/masmx64/gvmat64.asm + contrib/masmx64/inffasx64.asm + ) + endif() + + if(ZLIB_ASMS) + add_definitions(-DASMV -DASMINF) + endif() +endif() + +# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION +file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) +string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" + "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) + +if(MINGW) + # This gets us DLL resource information when compiling on MinGW. + if(NOT CMAKE_RC_COMPILER) + set(CMAKE_RC_COMPILER windres.exe) + endif() + + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj + COMMAND ${CMAKE_RC_COMPILER} + -D GCC_WINDRES + -I ${CMAKE_CURRENT_SOURCE_DIR} + -I ${CMAKE_CURRENT_BINARY_DIR} + -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj + -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) + set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) +endif(MINGW) + +add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + +if(UNIX) + # On unix-like platforms the library is almost always called libz + set_target_properties(zlibstatic PROPERTIES OUTPUT_NAME z) +endif() \ No newline at end of file diff --git a/cmake/CMakeSettings.json b/cmake/CMakeSettings.json index b0f940277f..c139114c0b 100644 --- a/cmake/CMakeSettings.json +++ b/cmake/CMakeSettings.json @@ -8,7 +8,7 @@ "installRoot": "${workspaceRoot}\\install\\${name}", "cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows.cmake", "buildCommandArgs": "", - "ctestCommandArgs": "", + "ctestCommandArgs": "-V", "inheritEnvironments": [ "msvc_x64_x64" ], "variables": [ { @@ -26,11 +26,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "True", @@ -46,7 +41,7 @@ "installRoot": "${workspaceRoot}\\install\\${name}", "cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows.cmake", "buildCommandArgs": "", - "ctestCommandArgs": "", + "ctestCommandArgs": "-V", "inheritEnvironments": [ "msvc_x64_x64" ], "variables": [ { @@ -64,11 +59,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "True", @@ -102,11 +92,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "True", @@ -122,7 +107,7 @@ "installRoot": "${workspaceRoot}\\install\\${name}", "cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows.cmake -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe", "buildCommandArgs": "", - "ctestCommandArgs": "", + "ctestCommandArgs": "-V", "inheritEnvironments": [ "clang_cl_x64" ], "variables": [ { @@ -140,11 +125,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "True", @@ -158,9 +138,16 @@ "configurationType": "Debug", "buildRoot": "${workspaceRoot}\\build\\${name}", "installRoot": "${workspaceRoot}\\install\\${name}", + "buildCommandArgs": "", + "ctestCommandArgs": "-V", "inheritEnvironments": [], "cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-llvm.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake", "variables": [ + { + "name": "PKG_ELECTRODE", + "value": "True", + "type": "BOOL" + }, { "name": "BUILD_SHARED_LIBS", "value": "True", @@ -176,11 +163,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "True", @@ -190,11 +172,6 @@ "name": "FFT", "value": "MKL", "type": "STRING" - }, - { - "name": "PKG_PLUGIN", - "value": "True", - "type": "BOOL" } ] }, @@ -205,8 +182,15 @@ "buildRoot": "${workspaceRoot}\\build\\${name}", "installRoot": "${workspaceRoot}\\install\\${name}", "cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-llvm.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake", + "buildCommandArgs": "", + "ctestCommandArgs": "-V", "inheritEnvironments": [], "variables": [ + { + "name": "PKG_ELECTRODE", + "value": "True", + "type": "BOOL" + }, { "name": "BUILD_SHARED_LIBS", "value": "True", @@ -222,11 +206,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "True", @@ -236,11 +215,6 @@ "name": "FFT", "value": "MKL", "type": "STRING" - }, - { - "name": "PKG_PLUGIN", - "value": "True", - "type": "BOOL" } ] }, @@ -251,8 +225,15 @@ "buildRoot": "${workspaceRoot}\\build\\${name}", "installRoot": "${workspaceRoot}\\install\\${name}", "cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-classic.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake", + "buildCommandArgs": "", + "ctestCommandArgs": "-V", "inheritEnvironments": [], "variables": [ + { + "name": "PKG_ELECTRODE", + "value": "True", + "type": "BOOL" + }, { "name": "BUILD_SHARED_LIBS", "value": "True", @@ -268,11 +249,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "False", @@ -282,11 +258,6 @@ "name": "FFT", "value": "MKL", "type": "STRING" - }, - { - "name": "PKG_PLUGIN", - "value": "True", - "type": "BOOL" } ] }, @@ -297,8 +268,15 @@ "buildRoot": "${workspaceRoot}\\build\\${name}", "installRoot": "${workspaceRoot}\\install\\${name}", "cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-classic.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake", + "buildCommandArgs": "", + "ctestCommandArgs": "-V", "inheritEnvironments": [], "variables": [ + { + "name": "PKG_ELECTRODE", + "value": "True", + "type": "BOOL" + }, { "name": "BUILD_SHARED_LIBS", "value": "True", @@ -314,11 +292,6 @@ "value": "True", "type": "BOOL" }, - { - "name": "PKG_PYTHON", - "value": "True", - "type": "BOOL" - }, { "name": "ENABLE_TESTING", "value": "False", @@ -328,13 +301,8 @@ "name": "FFT", "value": "MKL", "type": "STRING" - }, - { - "name": "PKG_PLUGIN", - "value": "True", - "type": "BOOL" } ] } ] -} \ No newline at end of file +} diff --git a/cmake/Modules/generate_lmpgitversion.cmake b/cmake/Modules/generate_lmpgitversion.cmake index f066269723..32aaf6f2c5 100644 --- a/cmake/Modules/generate_lmpgitversion.cmake +++ b/cmake/Modules/generate_lmpgitversion.cmake @@ -31,5 +31,7 @@ set(temp "${temp}const char *LAMMPS_NS::LAMMPS::git_descriptor() { return \"${te set(temp "${temp}#endif\n\n") message(STATUS "Generating lmpgitversion.h...") -file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${temp}" ) -execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h") + +string(REPLACE "\\ " " " LAMMPS_GIT_HEADER "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h") +file(WRITE "${LAMMPS_GIT_HEADER}.tmp" "${temp}" ) +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_GIT_HEADER}.tmp" "${LAMMPS_GIT_HEADER}") diff --git a/cmake/presets/windows.cmake b/cmake/presets/windows.cmake index c83b16d855..ce5387cef9 100644 --- a/cmake/presets/windows.cmake +++ b/cmake/presets/windows.cmake @@ -43,6 +43,7 @@ set(WIN_PACKAGES PERI PHONON POEMS + PLUGIN PTM QEQ QTB diff --git a/doc/Makefile b/doc/Makefile index 113a64ec10..07b201b07e 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -13,6 +13,7 @@ VENV = $(BUILDDIR)/docenv ANCHORCHECK = $(VENV)/bin/rst_anchor_check SPHINXCONFIG = $(BUILDDIR)/utils/sphinx-config MATHJAX = $(SPHINXCONFIG)/_static/mathjax +MATHJAXTAG = 3.2.1 PYTHON = $(word 3,$(shell type python3)) DOXYGEN = $(word 3,$(shell type doxygen)) @@ -230,12 +231,13 @@ $(VENV): $(PYTHON) -m venv $(VENV); \ . $(VENV)/bin/activate; \ pip $(PIP_OPTIONS) install --upgrade pip; \ + pip $(PIP_OPTIONS) install --upgrade wheel; \ pip $(PIP_OPTIONS) install -r $(BUILDDIR)/utils/requirements.txt; \ deactivate;\ ) $(MATHJAX): - @git clone -b 3.2.0 -c advice.detachedHead=0 --depth 1 https://github.com/mathjax/MathJax.git $@ + @git clone -b $(MATHJAXTAG) -c advice.detachedHead=0 --depth 1 https://github.com/mathjax/MathJax.git $@ $(ANCHORCHECK): $(VENV) @( \ diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst index 6053bdbf8a..7e627a052f 100644 --- a/doc/src/Build_settings.rst +++ b/doc/src/Build_settings.rst @@ -287,8 +287,8 @@ Output of JPG, PNG, and movie files The :doc:`dump image ` command has options to output JPEG or PNG image files. Likewise the :doc:`dump movie ` command -outputs movie files in MPEG format. Using these options requires the -following settings: +outputs movie files in a variety of movie formats. Using these options +requires the following settings: .. tabs:: @@ -328,11 +328,12 @@ following settings: JPG_LIB = -ljpeg -lpng -lz # library names As with CMake, you do not need to set ``JPG_INC`` or ``JPG_PATH``, - if make can find the graphics header and library files. You must - specify ``JPG_LIB`` with a list of graphics libraries to include - in the link. You must insure ffmpeg is in a directory where - LAMMPS can find it at runtime, that is a directory in your PATH - environment variable. + if make can find the graphics header and library files in their + default system locations. You must specify ``JPG_LIB`` with a + list of graphics libraries to include in the link. You must make + certain that the ffmpeg executable (or ffmpeg.exe on Windows) is + in a directory where LAMMPS can find it at runtime; that is + usually a directory list in your ``PATH`` environment variable. Using ``ffmpeg`` to output movie files requires that your machine supports the "popen" function in the standard runtime library. diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index cc02e3d52f..88fa2d9c97 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -239,7 +239,7 @@ is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = .. parsed-literal:: - 3 1 27 + 3 1 19 4 1 1 4 0 0 0 -0.7071 -0.7071 0 diff --git a/doc/src/Intro_citing.rst b/doc/src/Intro_citing.rst index 9f761a7616..e10b1857f1 100644 --- a/doc/src/Intro_citing.rst +++ b/doc/src/Intro_citing.rst @@ -30,8 +30,8 @@ initial versions of LAMMPS is: `S. Plimpton, Fast Parallel Algorithms for Short-Range Molecular Dynamics, J Comp Phys, 117, 1-19 (1995). `_ -DOI for the LAMMPS code -^^^^^^^^^^^^^^^^^^^^^^^ +DOI for the LAMMPS source code +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LAMMPS developers use the `Zenodo service at CERN `_ to create digital object identifies (DOI) for stable releases of the diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index b2b4157247..59efbdc5bd 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -475,8 +475,8 @@ that package **and** the KSPACE package. See the :doc:`Build package ` page for more info. For MSM, a simulation must be 3d and one can use any combination of -periodic, non-periodic, or shrink-wrapped boundaries (specified using -the :doc:`boundary ` command). +periodic, non-periodic, but not shrink-wrapped boundaries (specified +using the :doc:`boundary ` command). For Ewald and PPPM, a simulation must be 3d and periodic in all dimensions. The only exception is if the slab option is set with diff --git a/doc/src/min_style.rst b/doc/src/min_style.rst index 2b1bb08c5f..eab43ed3ca 100644 --- a/doc/src/min_style.rst +++ b/doc/src/min_style.rst @@ -4,7 +4,7 @@ min_style cg command ==================== min_style hftn command -==================== +====================== min_style sd command ==================== diff --git a/doc/src/pair_none.rst b/doc/src/pair_none.rst index 3dc87a7815..0bb366bce1 100644 --- a/doc/src/pair_none.rst +++ b/doc/src/pair_none.rst @@ -20,28 +20,37 @@ Examples Description """"""""""" -Using a pair style of none means pair forces and energies are not -computed. +Using a pair style of *none* means that any previous pair style setting +will be deleted and pairwise forces and energies are not computed. -With this choice, the force cutoff is 0.0, which means that only atoms -within the neighbor skin distance (see the :doc:`neighbor ` -command) are communicated between processors. You must insure the -skin distance is large enough to acquire atoms needed for computing -bonds, angles, etc. +As a consequence there will be a pairwise force cutoff of 0.0, which has +implications for the default setting of the neighbor list and the +communication cutoff. Those are the sum of the largest pairwise cutoff +and the neighbor skin distance (see the documentation of the +:doc:`neighbor ` command and the :doc:`comm_modify +` command). When you have bonds, angles, dihedrals, or +impropers defined at the same time, you must set the communication +cutoff so that communication cutoff distance is large enough to acquire +and communicate sufficient ghost atoms from neighboring sub-domains as +needed for computing bonds, angles, etc. -A pair style of *none* will also prevent pairwise neighbor lists from -being built. However if the :doc:`neighbor ` style is *bin*, -data structures for binning are still allocated. If the neighbor skin -distance is small, then these data structures can consume a large -amount of memory. So you should either set the neighbor style to -*nsq* or set the skin distance to a larger value. +A pair style of *none* will also not request a pairwise neighbor list. +However if the :doc:`neighbor ` style is *bin*, data +structures for binning are still allocated. If the neighbor list cutoff +is small, then these data structures can consume a large amount of +memory. So you should either set the neighbor style to *nsq* or set the +skin distance to a larger value. -See the :doc:`pair_style zero ` for a way to trigger the -building of a neighbor lists, but compute no pairwise interactions. +See the :doc:`pair_style zero ` for a way to set a pairwise +cutoff and thus trigger the building of a neighbor lists and setting +a corresponding communication cutoff, but compute no pairwise interactions. Restrictions """""""""""" -none + +You must not use a :doc:`pair_coeff ` command with this pair +style. Since there is no interaction computed, you cannot set any +coefficients for it. Related commands """""""""""""""" diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 9ff18b3652..1f5711dd6b 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -6,4 +6,3 @@ breathe Pygments six pyyaml -wheel diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 083d25bd2f..36efbe5e45 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1324,6 +1324,7 @@ hexatic hexorder Heyes HfO +hftn hgrid hhmrr Hibbs @@ -2804,6 +2805,7 @@ quatk quatw queryargs Queteschiner +quickmin qw qx qy @@ -3058,6 +3060,7 @@ screenshot screenshots Scripps Scripta +sd sdk sdpd SDPD diff --git a/python/install.py b/python/install.py index a71a601c42..03b3366ba6 100644 --- a/python/install.py +++ b/python/install.py @@ -62,10 +62,10 @@ shutil.copy(args.lib,'lammps') # create a virtual environment for building the wheel shutil.rmtree('buildwheel',True) try: - txt = subprocess.check_output([sys.executable, '-m', 'virtualenv', 'buildwheel', '-p', sys.executable], stderr=subprocess.STDOUT, shell=False) + txt = subprocess.check_output([sys.executable, '-m', 'venv', 'buildwheel'], stderr=subprocess.STDOUT, shell=False) print(txt.decode('UTF-8')) except subprocess.CalledProcessError as err: - sys.exit("Failed to create a virtualenv: {0}".format(err.output.decode('UTF-8'))) + sys.exit("Failed to create a virtual environment: {0}".format(err.output.decode('UTF-8'))) # now run the commands to build the wheel. those must be in a separate script # and run in subprocess, since this will use the virtual environment and diff --git a/src/DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp index 7f32a0a3f3..92bd89ebd9 100644 --- a/src/DIELECTRIC/pppm_dielectric.cpp +++ b/src/DIELECTRIC/pppm_dielectric.cpp @@ -58,6 +58,9 @@ PPPMDielectric::PPPMDielectric(LAMMPS *_lmp) : PPPM(_lmp) phi = nullptr; potflag = 0; + // no warnings about non-neutral systems from qsum_qsq() + warn_nonneutral = 2; + avec = dynamic_cast( atom->style_match("dielectric")); if (!avec) error->all(FLERR,"pppm/dielectric requires atom style dielectric"); } @@ -463,25 +466,3 @@ void PPPMDielectric::slabcorr() efield[i][2] += ffact * eps[i]*(dipole_all - qsum*x[i][2]); } } - -/* ---------------------------------------------------------------------- - compute qsum,qsqsum,q2 and ignore error/warning if not charge neutral - called whenever charges are changed -------------------------------------------------------------------------- */ - -void PPPMDielectric::qsum_qsq() -{ - const double * const q = atom->q; - const int nlocal = atom->nlocal; - double qsum_local(0.0), qsqsum_local(0.0); - - for (int i = 0; i < nlocal; i++) { - qsum_local += q[i]; - qsqsum_local += q[i]*q[i]; - } - - MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&qsqsum_local,&qsqsum,1,MPI_DOUBLE,MPI_SUM,world); - - q2 = qsqsum * force->qqrd2e; -} diff --git a/src/DIELECTRIC/pppm_dielectric.h b/src/DIELECTRIC/pppm_dielectric.h index 92a93daa90..96ebdb1524 100644 --- a/src/DIELECTRIC/pppm_dielectric.h +++ b/src/DIELECTRIC/pppm_dielectric.h @@ -34,8 +34,6 @@ class PPPMDielectric : public PPPM { double *phi; int potflag; // 1/0 if per-atom electrostatic potential phi is needed - void qsum_qsq(); - protected: void slabcorr() override; diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index e525ba7384..d4d84e0f62 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -65,6 +65,9 @@ PPPMDispDielectric::PPPMDispDielectric(LAMMPS *_lmp) : PPPMDisp(_lmp) mu_flag = 0; + // no warnings about non-neutral systems from qsum_qsq() + warn_nonneutral = 2; + efield = nullptr; phi = nullptr; potflag = 0; @@ -837,25 +840,3 @@ double PPPMDispDielectric::memory_usage() bytes += nmax * sizeof(double); return bytes; } - -/* ---------------------------------------------------------------------- - compute qsum,qsqsum,q2 and give error/warning if not charge neutral - called initially, when particle count changes, when charges are changed -------------------------------------------------------------------------- */ - -void PPPMDispDielectric::qsum_qsq() -{ - const double * const q = atom->q; - const int nlocal = atom->nlocal; - double qsum_local(0.0), qsqsum_local(0.0); - - for (int i = 0; i < nlocal; i++) { - qsum_local += q[i]; - qsqsum_local += q[i]*q[i]; - } - - MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&qsqsum_local,&qsqsum,1,MPI_DOUBLE,MPI_SUM,world); - - q2 = qsqsum * force->qqrd2e; -} diff --git a/src/DIELECTRIC/pppm_disp_dielectric.h b/src/DIELECTRIC/pppm_disp_dielectric.h index b89be02f92..ce20e292aa 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.h +++ b/src/DIELECTRIC/pppm_disp_dielectric.h @@ -30,8 +30,7 @@ class PPPMDispDielectric : public PPPMDisp { ~PPPMDispDielectric() override; double memory_usage() override; void compute(int, int) override; - void qsum_qsq(); - void slabcorr(int); + void slabcorr(int) override; double **efield; double *phi; diff --git a/src/MANYBODY/pair_bop.cpp b/src/MANYBODY/pair_bop.cpp index b3aa470592..b1d128db24 100644 --- a/src/MANYBODY/pair_bop.cpp +++ b/src/MANYBODY/pair_bop.cpp @@ -95,6 +95,7 @@ PairBOP::PairBOP(LAMMPS *lmp) : Pair(lmp) pairParameters = nullptr; tripletParameters = nullptr; bop_elements = nullptr; + bop_masses = nullptr; bop_types = 0; pairlist1 = nullptr; @@ -183,17 +184,13 @@ PairBOP::~PairBOP() if (bop_elements) for (int i = 0; i < bop_types; i++) delete[] bop_elements[i]; delete[] bop_elements; + delete[] bop_masses; } /* ---------------------------------------------------------------------- */ void PairBOP::compute(int eflag, int vflag) { - double minbox = MIN(MIN(domain->xprd, domain->yprd), domain->zprd); - if (minbox-0.001 < 6.0*cutmax) - error->all(FLERR,"Pair style bop requires system dimension " - "of at least {:.4}",6.0*cutmax); - int i, ii, j, jj; int nlisti, *ilist; tagint i_tag,j_tag, itype, jtype; @@ -203,6 +200,7 @@ void PairBOP::compute(int eflag, int vflag) int newton_pair = force->newton_pair; int nlocal = atom->nlocal; + double **x = atom->x; double **f = atom->f; int *type = atom->type; tagint *tag = atom->tag; @@ -226,7 +224,15 @@ void PairBOP::compute(int eflag, int vflag) temp_ij = BOP_index[i] + jj; j = ilist[neigh_index[temp_ij]]; j_tag = tag[j]; - if (j_tag <= i_tag) continue; + if (i_tag > j_tag) { + if ((i_tag+j_tag) % 2 == 0) continue; + } else if (i_tag < j_tag) { + if ((i_tag+j_tag) % 2 == 1) continue; + } else { + if (x[j][2] < x[i][2]) continue; + if (x[j][2] == x[i][2] && x[j][1] < x[i][1]) continue; + if (x[j][2] == x[i][2] && x[j][1] == x[i][1] && x[j][0] < x[i][0]) continue; + } jtype = map[type[j]]; int param_ij = elem2param[itype][jtype]; sigB_0 = SigmaBo(ii,jj); @@ -256,7 +262,15 @@ void PairBOP::compute(int eflag, int vflag) temp_ij = BOP_index2[i] + jj; j = ilist[neigh_index2[temp_ij]]; j_tag = tag[j]; - if (j_tag <= i_tag) continue; + if (i_tag > j_tag) { + if ((i_tag+j_tag) % 2 == 0) continue; + } else if (i_tag < j_tag) { + if ((i_tag+j_tag) % 2 == 1) continue; + } else { + if (x[j][2] < x[i][2]) continue; + if (x[j][2] == x[i][2] && x[j][1] < x[i][1]) continue; + if (x[j][2] == x[i][2] && x[j][1] == x[i][1] && x[j][0] < x[i][0]) continue; + } PairList2 & p2_ij = pairlist2[temp_ij]; dpr2 = -p2_ij.dRep / p2_ij.r; ftmp1 = dpr2 * p2_ij.dis[0]; @@ -349,16 +363,16 @@ void PairBOP::settings(int narg, char **arg) void PairBOP::coeff(int narg, char **arg) { - const int n = atom->ntypes; - delete [] map; - map = new int[n+1]; + const int np1 = atom->ntypes+1; + delete[] map; + map = new int[np1]; memory->destroy(setflag); memory->destroy(cutsq); memory->destroy(cutghost); - memory->create(setflag,n+1,n+1,"BOP:setflag"); - memory->create(cutsq,n+1,n+1,"BOP:cutsq"); - memory->create(cutghost,n+1,n+1,"BOP:cutghost"); - bytes = (n+1)*(n+1) * (sizeof (int) + 2.0*sizeof (double)); + memory->create(setflag,np1,np1,"BOP:setflag"); + memory->create(cutsq,np1,np1,"BOP:cutsq"); + memory->create(cutghost,np1,np1,"BOP:cutghost"); + bytes = np1*np1*(sizeof (int) + 2.0*sizeof (double)); map_element2type(narg-3, arg+3); @@ -370,22 +384,23 @@ void PairBOP::coeff(int narg, char **arg) // and check for missing elements if (comm->me == 0) { - for (int i = 1; i <= n; i++) { + for (int i = 1; i < np1; i++) { int j; if (map[i] >= 0) { for (j = 0; j < bop_types; j++) { - if (strcmp(elements[map[i]],bop_elements[j]) == 0) { + if (strcmp(elements[map[i]], bop_elements[j]) == 0) { map[i] = j; + atom->set_mass(FLERR, i, bop_masses[j]); break; } } if (j == bop_types) error->one(FLERR,"Element {} not found in bop potential file {}", - elements[map[i]],arg[2]); + elements[map[i]], arg[2]); } } } - MPI_Bcast(map,atom->ntypes+1,MPI_INT,0,world); + MPI_Bcast(map,np1,MPI_INT,0,world); } /* ---------------------------------------------------------------------- @@ -1849,9 +1864,10 @@ void PairBOP::read_table(char *filename) PotentialFileReader *reader = nullptr; if (bop_elements) { - for (int i = 0; i < bop_types; i++) delete [] bop_elements[i]; - delete [] bop_elements; + for (int i = 0; i < bop_types; i++) delete[] bop_elements[i]; + delete[] bop_elements; } + delete[] bop_masses; if (comm->me == 0) { try { @@ -1862,10 +1878,11 @@ void PairBOP::read_table(char *filename) "elements",bop_types)); bop_elements = new char*[bop_types]; + bop_masses = new double[bop_types]; for (int i=0; i < bop_types; ++i) { ValueTokenizer values = reader->next_values(3); - values.next_int(); // element number in PTE (ignored) - values.next_double(); // element mass (ignored) + values.next_int(); // element number (ignored) + bop_masses[i] = values.next_double(); // element mass bop_elements[i] = utils::strdup(values.next_string()); } } catch (TokenizerException &e) { @@ -1878,8 +1895,12 @@ void PairBOP::read_table(char *filename) allocate(); memory->create(rcut,npairs,"BOP:rcut"); - // copy element labels to all MPI ranks for use with write_tables() - if (comm->me != 0) bop_elements = new char*[bop_types]; + // copy element labels and masses to all MPI ranks for use with + // write_tables() and to set the per-type masses + if (comm->me != 0) { + bop_elements = new char*[bop_types]; + bop_masses = new double[bop_types]; + } for (int i = 0; i < bop_types; ++i) { int n=0; if (comm->me == 0) n = strlen(bop_elements[i])+1; @@ -1887,6 +1908,7 @@ void PairBOP::read_table(char *filename) if (comm->me != 0) bop_elements[i] = new char[n]; MPI_Bcast(bop_elements[i],n,MPI_CHAR,0,world); } + MPI_Bcast(bop_masses, bop_types, MPI_DOUBLE, 0, world); if (comm->me == 0) { try { @@ -2015,7 +2037,7 @@ void PairBOP::read_table(char *filename) } } } - delete [] singletable; + delete[] singletable; singletable = new double[nr]; for (int i = 0; i < npairs; i++) { @@ -2043,7 +2065,7 @@ void PairBOP::read_table(char *filename) p.betaP = new TabularFunction(); (p.betaP)->set_values(nr, 0.0, rcut[i], singletable); } - delete [] singletable; + delete[] singletable; singletable = new double[nBOt]; for (int i = 0; i < npairs; i++) { @@ -2053,7 +2075,7 @@ void PairBOP::read_table(char *filename) p.bo = new TabularFunction(); (p.bo)->set_values(nBOt, 0.0, 1.0, singletable); } - delete [] singletable; + delete[] singletable; nbuf = 0; for (int i = 0; i < bop_types; i++) { @@ -2107,7 +2129,7 @@ void PairBOP::read_table(char *filename) (p.cphi)->set_values(nr, 0.0, rcut[i], singletable); } } - delete [] singletable; + delete[] singletable; } memory->destroy(rcut); diff --git a/src/MANYBODY/pair_bop.h b/src/MANYBODY/pair_bop.h index aa6da378ae..483675021b 100644 --- a/src/MANYBODY/pair_bop.h +++ b/src/MANYBODY/pair_bop.h @@ -109,6 +109,7 @@ class PairBOP : public Pair { int npairs; // number of element pairs int ntriples; // number of all triples char **bop_elements; // names of elements in potential file + double *bop_masses; // masses of elements in potential file double bytes; int otfly; // = 1 faster, more memory, = 0 slower, less memory diff --git a/src/MOLECULE/angle_table.cpp b/src/MOLECULE/angle_table.cpp index eeb30c4d64..c3959dc898 100644 --- a/src/MOLECULE/angle_table.cpp +++ b/src/MOLECULE/angle_table.cpp @@ -402,26 +402,20 @@ void AngleTable::read_table(Table *tb, char *file, char *keyword) // read a,e,f table values from file - int cerror = 0; reader.skip_line(); for (int i = 0; i < tb->ninput; i++) { - line = reader.next_line(4); + line = reader.next_line(); try { ValueTokenizer values(line); values.next_int(); tb->afile[i] = values.next_double(); tb->efile[i] = values.next_double(); tb->ffile[i] = values.next_double(); - } catch (TokenizerException &) { - ++cerror; + } catch (TokenizerException &e) { + error->one(FLERR, "Error parsing angle table '{}' line {} of {}. {}\nLine was: {}", keyword, + i + 1, tb->ninput, e.what(), line); } } - - // warn if data was read incompletely, e.g. columns were missing - - if (cerror) - error->warning(FLERR, "{} of {} lines in table incomplete or could not be parsed", cerror, - tb->ninput); } /* ---------------------------------------------------------------------- diff --git a/src/MOLECULE/bond_table.cpp b/src/MOLECULE/bond_table.cpp index e1eac7c4c2..7af08a4a08 100644 --- a/src/MOLECULE/bond_table.cpp +++ b/src/MOLECULE/bond_table.cpp @@ -325,20 +325,20 @@ void BondTable::read_table(Table *tb, char *file, char *keyword) // read r,e,f table values from file - int cerror = 0; int r0idx = -1; reader.skip_line(); for (int i = 0; i < tb->ninput; i++) { - line = reader.next_line(4); + line = reader.next_line(); try { ValueTokenizer values(line); values.next_int(); tb->rfile[i] = values.next_double(); tb->efile[i] = values.next_double(); tb->ffile[i] = values.next_double(); - } catch (TokenizerException &) { - ++cerror; + } catch (TokenizerException &e) { + error->one(FLERR, "Error parsing bond table '{}' line {} of {}. {}\nLine was: {}", keyword, + i + 1, tb->ninput, e.what(), line); } if (tb->efile[i] < emin) { @@ -373,21 +373,11 @@ void BondTable::read_table(Table *tb, char *file, char *keyword) if (f > fleft && f > fright) ferror++; } - if (ferror) { + if (ferror) error->warning(FLERR, "{} of {} force values in table are inconsistent with -dE/dr.\n" "WARNING: Should only be flagged at inflection points", ferror, tb->ninput); - } - - // warn if data was read incompletely, e.g. columns were missing - - if (cerror) { - error->warning(FLERR, - "{} of {} lines in table were incomplete or could not be" - " parsed completely", - cerror, tb->ninput); - } } /* ---------------------------------------------------------------------- diff --git a/src/MOLECULE/dihedral_table.cpp b/src/MOLECULE/dihedral_table.cpp index ea0b30cbd5..1a9bc923a7 100644 --- a/src/MOLECULE/dihedral_table.cpp +++ b/src/MOLECULE/dihedral_table.cpp @@ -1020,23 +1020,24 @@ void DihedralTable::read_table(Table *tb, char *file, char *keyword) // read a,e,f table values from file for (int i = 0; i < tb->ninput; i++) { + line = reader.next_line(); try { + ValueTokenizer values(line); if (tb->f_unspecified) { - ValueTokenizer values = reader.next_values(3); values.next_int(); tb->phifile[i] = values.next_double(); tb->efile[i] = values.next_double(); } else { - ValueTokenizer values = reader.next_values(4); values.next_int(); tb->phifile[i] = values.next_double(); tb->efile[i] = values.next_double(); tb->ffile[i] = values.next_double(); } } catch (TokenizerException &e) { - error->one(FLERR, e.what()); + error->one(FLERR, "Error parsing dihedral table '{}' line {} of {}. {}\nLine was: {}", + keyword, i + 1, tb->ninput, e.what(), line); } - } //for (int i = 0; (i < tb->ninput) && fp; i++) { + } } /* ---------------------------------------------------------------------- diff --git a/src/REAXFF/reaxff_torsion_angles.cpp b/src/REAXFF/reaxff_torsion_angles.cpp index 329f7b8a7a..4bf810b431 100644 --- a/src/REAXFF/reaxff_torsion_angles.cpp +++ b/src/REAXFF/reaxff_torsion_angles.cpp @@ -52,6 +52,11 @@ namespace ReaxFF { sin_jkl = sin(p_jkl->theta); cos_jkl = cos(p_jkl->theta); + if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) sin_ijk = MIN_SINE; + else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) sin_ijk = -MIN_SINE; + if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) sin_jkl = MIN_SINE; + else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) sin_jkl = -MIN_SINE; + /* omega */ unnorm_cos_omega = -rvec_Dot(dvec_ij, dvec_jk) * rvec_Dot(dvec_jk, dvec_kl) + SQR(r_jk) * rvec_Dot(dvec_ij, dvec_kl); @@ -71,22 +76,16 @@ namespace ReaxFF { hnhd = r_ij * r_kl * cos_ijk * sin_jkl; hnhe = r_ij * r_kl * sin_ijk * cos_jkl; - poem = 2.0 * r_ij * r_kl * sin_ijk * sin_jkl; - if (poem < 1e-20) poem = 1e-20; - tel = SQR(r_ij) + SQR(r_jk) + SQR(r_kl) - SQR(r_li) - 2.0 * (r_ij * r_jk * cos_ijk - r_ij * r_kl * cos_ijk * cos_jkl + r_jk * r_kl * cos_jkl); + poem = 2.0 * r_ij * r_kl * sin_ijk * sin_jkl; + arg = tel / poem; if (arg > 1.0) arg = 1.0; if (arg < -1.0) arg = -1.0; - if (sin_ijk >= 0 && sin_ijk <= MIN_SINE) sin_ijk = MIN_SINE; - else if (sin_ijk <= 0 && sin_ijk >= -MIN_SINE) sin_ijk = -MIN_SINE; - if (sin_jkl >= 0 && sin_jkl <= MIN_SINE) sin_jkl = MIN_SINE; - else if (sin_jkl <= 0 && sin_jkl >= -MIN_SINE) sin_jkl = -MIN_SINE; - // dcos_omega_di rvec_ScaledSum(dcos_omega_di, (htra-arg*hnra)/r_ij, dvec_ij, -1., dvec_li); rvec_ScaledAdd(dcos_omega_di,-(hthd-arg*hnhd)/sin_ijk, p_ijk->dcos_dk); diff --git a/src/RIGID/fix_ehex.cpp b/src/RIGID/fix_ehex.cpp index 1962578691..6bbd1b7424 100644 --- a/src/RIGID/fix_ehex.cpp +++ b/src/RIGID/fix_ehex.cpp @@ -253,9 +253,10 @@ void FixEHEX::rescale() escale = 1. + (F * dt) / Kr; - // safety check for kinetic energy + // safety checks for kinetic energy rescaling - if (escale < 0.0) error->all(FLERR, "Fix ehex kinetic energy went negative"); + if (escale < 0.0) error->all(FLERR, "Fix ehex kinetic energy went negative: {}", escale); + if (escale > 100.0) error->all(FLERR, "Fix ehex kinetic energy rescaling too large: {}", escale); scale = sqrt(escale); vsub[0] = (scale - 1.0) * vcm[0]; @@ -569,7 +570,11 @@ void FixEHEX::com_properties(double *vr, double *sfr, double *sfvr, double *K, d *mr = buf[4]; - if (*mr < 1.e-14) { error->all(FLERR, "Fix ehex error mass of region is close to zero"); } + if (nlocal > 0) + mi = (rmass) ? rmass[0] : mass[type[0]]; + else + mi = 1.0; + if ((*mr / mi) < 1.e-14) error->all(FLERR, "Fix ehex error mass of region is close to zero"); // total kinetic energy of region diff --git a/src/angle_deprecated.cpp b/src/angle_deprecated.cpp index 55e1651b94..60cdab3398 100644 --- a/src/angle_deprecated.cpp +++ b/src/angle_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,8 +18,8 @@ #include "angle_deprecated.h" #include "angle_hybrid.h" #include "comm.h" -#include "force.h" #include "error.h" +#include "force.h" using namespace LAMMPS_NS; @@ -33,17 +32,14 @@ void AngleDeprecated::settings(int, char **) // hybrid substyles are created in AngleHybrid::settings(), so when this is // called, our style was just added at the end of the list of substyles - if (utils::strmatch(my_style,"^hybrid")) { + if (utils::strmatch(my_style, "^hybrid")) { auto hybrid = dynamic_cast(force->angle); my_style = hybrid->keywords[hybrid->nstyles]; } if (my_style == "DEPRECATED") { - if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nAngle style 'DEPRECATED' is a dummy style\n\n"); + if (lmp->comm->me == 0) utils::logmesg(lmp, "\nAngle style 'DEPRECATED' is a dummy style\n\n"); return; } - error->all(FLERR,"This angle style is no longer available"); + error->all(FLERR, "This angle style is no longer available"); } - - diff --git a/src/body.cpp b/src/body.cpp index 51b2672040..f59acdfc66 100644 --- a/src/body.cpp +++ b/src/body.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -29,5 +28,5 @@ Body::Body(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp) Body::~Body() { - delete [] style; + delete[] style; } diff --git a/src/bond_deprecated.cpp b/src/bond_deprecated.cpp index 98bf6ea9ae..6d4c17b5d0 100644 --- a/src/bond_deprecated.cpp +++ b/src/bond_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -34,17 +33,14 @@ void BondDeprecated::settings(int, char **) // hybrid substyles are created in BondHybrid::settings(), so when this is // called, our style was just added at the end of the list of substyles - if (utils::strmatch(my_style,"^hybrid")) { + if (utils::strmatch(my_style, "^hybrid")) { auto hybrid = dynamic_cast(force->bond); my_style = hybrid->keywords[hybrid->nstyles]; } if (my_style == "DEPRECATED") { - if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nBond style 'DEPRECATED' is a dummy style\n\n"); + if (lmp->comm->me == 0) utils::logmesg(lmp, "\nBond style 'DEPRECATED' is a dummy style\n\n"); return; } - error->all(FLERR,"This bond style is no longer available"); + error->all(FLERR, "This bond style is no longer available"); } - - diff --git a/src/compute_angle.cpp b/src/compute_angle.cpp index e4db464f28..bf1241754d 100644 --- a/src/compute_angle.cpp +++ b/src/compute_angle.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -25,10 +24,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeAngle::ComputeAngle(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - emine(nullptr) + Compute(lmp, narg, arg), emine(nullptr) { - if (narg != 3) error->all(FLERR,"Illegal compute angle command"); + if (narg != 3) error->all(FLERR, "Illegal compute angle command"); vector_flag = 1; extvector = 1; @@ -37,9 +35,8 @@ ComputeAngle::ComputeAngle(LAMMPS *lmp, int narg, char **arg) : // check if bond style hybrid exists - angle = dynamic_cast( force->angle_match("hybrid")); - if (!angle) - error->all(FLERR,"Angle style for compute angle command is not hybrid"); + angle = dynamic_cast(force->angle_match("hybrid")); + if (!angle) error->all(FLERR, "Angle style for compute angle command is not hybrid"); size_vector = nsub = angle->nstyles; emine = new double[nsub]; @@ -50,8 +47,8 @@ ComputeAngle::ComputeAngle(LAMMPS *lmp, int narg, char **arg) : ComputeAngle::~ComputeAngle() { - delete [] emine; - delete [] vector; + delete[] emine; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -60,11 +57,10 @@ void ComputeAngle::init() { // recheck angle style in case it has been changed - angle = dynamic_cast( force->angle_match("hybrid")); - if (!angle) - error->all(FLERR,"Angle style for compute angle command is not hybrid"); + angle = dynamic_cast(force->angle_match("hybrid")); + if (!angle) error->all(FLERR, "Angle style for compute angle command is not hybrid"); if (angle->nstyles != nsub) - error->all(FLERR,"Angle style for compute angle command has changed"); + error->all(FLERR, "Angle style for compute angle command has changed"); } /* ---------------------------------------------------------------------- */ @@ -73,10 +69,9 @@ void ComputeAngle::compute_vector() { invoked_vector = update->ntimestep; if (update->eflag_global != invoked_vector) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); - for (int i = 0; i < nsub; i++) - emine[i] = angle->styles[i]->energy; + for (int i = 0; i < nsub; i++) emine[i] = angle->styles[i]->energy; - MPI_Allreduce(emine,vector,nsub,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(emine, vector, nsub, MPI_DOUBLE, MPI_SUM, world); } diff --git a/src/compute_bond.cpp b/src/compute_bond.cpp index 38f15211e0..c0d65c55d5 100644 --- a/src/compute_bond.cpp +++ b/src/compute_bond.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -25,10 +24,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeBond::ComputeBond(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - emine(nullptr) + Compute(lmp, narg, arg), emine(nullptr) { - if (narg != 3) error->all(FLERR,"Illegal compute bond command"); + if (narg != 3) error->all(FLERR, "Illegal compute bond command"); vector_flag = 1; extvector = 1; @@ -37,9 +35,8 @@ ComputeBond::ComputeBond(LAMMPS *lmp, int narg, char **arg) : // check if bond style hybrid exists - bond = dynamic_cast( force->bond_match("hybrid")); - if (!bond) - error->all(FLERR,"Bond style for compute bond command is not hybrid"); + bond = dynamic_cast(force->bond_match("hybrid")); + if (!bond) error->all(FLERR, "Bond style for compute bond command is not hybrid"); size_vector = nsub = bond->nstyles; emine = new double[nsub]; @@ -50,8 +47,8 @@ ComputeBond::ComputeBond(LAMMPS *lmp, int narg, char **arg) : ComputeBond::~ComputeBond() { - delete [] emine; - delete [] vector; + delete[] emine; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -60,11 +57,9 @@ void ComputeBond::init() { // recheck bond style in case it has been changed - bond = dynamic_cast( force->bond_match("hybrid")); - if (!bond) - error->all(FLERR,"Bond style for compute bond command is not hybrid"); - if (bond->nstyles != nsub) - error->all(FLERR,"Bond style for compute bond command has changed"); + bond = dynamic_cast(force->bond_match("hybrid")); + if (!bond) error->all(FLERR, "Bond style for compute bond command is not hybrid"); + if (bond->nstyles != nsub) error->all(FLERR, "Bond style for compute bond command has changed"); } /* ---------------------------------------------------------------------- */ @@ -73,10 +68,9 @@ void ComputeBond::compute_vector() { invoked_vector = update->ntimestep; if (update->eflag_global != invoked_vector) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); - for (int i = 0; i < nsub; i++) - emine[i] = bond->styles[i]->energy; + for (int i = 0; i < nsub; i++) emine[i] = bond->styles[i]->energy; - MPI_Allreduce(emine,vector,nsub,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(emine, vector, nsub, MPI_DOUBLE, MPI_SUM, world); } diff --git a/src/compute_com.cpp b/src/compute_com.cpp index e40fb6d9b3..539fd5dcd9 100644 --- a/src/compute_com.cpp +++ b/src/compute_com.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,18 +12,17 @@ ------------------------------------------------------------------------- */ #include "compute_com.h" -#include "update.h" -#include "group.h" #include "error.h" +#include "group.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeCOM::ComputeCOM(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeCOM::ComputeCOM(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg != 3) error->all(FLERR,"Illegal compute com command"); + if (narg != 3) error->all(FLERR, "Illegal compute com command"); vector_flag = 1; size_vector = 3; @@ -37,7 +35,7 @@ ComputeCOM::ComputeCOM(LAMMPS *lmp, int narg, char **arg) : ComputeCOM::~ComputeCOM() { - delete [] vector; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -54,5 +52,5 @@ void ComputeCOM::compute_vector() invoked_vector = update->ntimestep; if (group->dynamic[igroup]) masstotal = group->mass(igroup); - group->xcm(igroup,masstotal,vector); + group->xcm(igroup, masstotal, vector); } diff --git a/src/compute_deprecated.cpp b/src/compute_deprecated.cpp index 4747afdf99..fca119a456 100644 --- a/src/compute_deprecated.cpp +++ b/src/compute_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -21,15 +20,14 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeDeprecated::ComputeDeprecated(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeDeprecated::ComputeDeprecated(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { std::string my_style = style; if (my_style == "DEPRECATED") { if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nCompute style 'DEPRECATED' is a dummy style\n\n"); + utils::logmesg(lmp, "\nCompute style 'DEPRECATED' is a dummy style\n\n"); return; } - error->all(FLERR,"This compute style is no longer available"); + error->all(FLERR, "This compute style is no longer available"); } diff --git a/src/compute_dihedral.cpp b/src/compute_dihedral.cpp index 86fd1b116e..2fda5b1f1c 100644 --- a/src/compute_dihedral.cpp +++ b/src/compute_dihedral.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -25,10 +24,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeDihedral::ComputeDihedral(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - emine(nullptr) + Compute(lmp, narg, arg), emine(nullptr) { - if (narg != 3) error->all(FLERR,"Illegal compute dihedral command"); + if (narg != 3) error->all(FLERR, "Illegal compute dihedral command"); vector_flag = 1; extvector = 1; @@ -37,9 +35,8 @@ ComputeDihedral::ComputeDihedral(LAMMPS *lmp, int narg, char **arg) : // check if dihedral style hybrid exists - dihedral = dynamic_cast( force->dihedral_match("hybrid")); - if (!dihedral) - error->all(FLERR, "Dihedral style for compute dihedral command is not hybrid"); + dihedral = dynamic_cast(force->dihedral_match("hybrid")); + if (!dihedral) error->all(FLERR, "Dihedral style for compute dihedral command is not hybrid"); size_vector = nsub = dihedral->nstyles; emine = new double[nsub]; @@ -50,8 +47,8 @@ ComputeDihedral::ComputeDihedral(LAMMPS *lmp, int narg, char **arg) : ComputeDihedral::~ComputeDihedral() { - delete [] emine; - delete [] vector; + delete[] emine; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -60,11 +57,10 @@ void ComputeDihedral::init() { // recheck dihedral style in case it has been changed - dihedral = dynamic_cast( force->dihedral_match("hybrid")); - if (!dihedral) - error->all(FLERR, "Dihedral style for compute dihedral command is not hybrid"); + dihedral = dynamic_cast(force->dihedral_match("hybrid")); + if (!dihedral) error->all(FLERR, "Dihedral style for compute dihedral command is not hybrid"); if (dihedral->nstyles != nsub) - error->all(FLERR,"Dihedral style for compute dihedral command has changed"); + error->all(FLERR, "Dihedral style for compute dihedral command has changed"); } /* ---------------------------------------------------------------------- */ @@ -73,10 +69,9 @@ void ComputeDihedral::compute_vector() { invoked_vector = update->ntimestep; if (update->eflag_global != invoked_vector) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); - for (int i = 0; i < nsub; i++) - emine[i] = dihedral->styles[i]->energy; + for (int i = 0; i < nsub; i++) emine[i] = dihedral->styles[i]->energy; - MPI_Allreduce(emine,vector,nsub,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(emine, vector, nsub, MPI_DOUBLE, MPI_SUM, world); } diff --git a/src/compute_erotate_sphere.cpp b/src/compute_erotate_sphere.cpp index 22b7c4b46d..3e863eaf65 100644 --- a/src/compute_erotate_sphere.cpp +++ b/src/compute_erotate_sphere.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -21,22 +20,21 @@ using namespace LAMMPS_NS; -#define INERTIA 0.4 // moment of inertia prefactor for sphere +#define INERTIA 0.4 // moment of inertia prefactor for sphere /* ---------------------------------------------------------------------- */ ComputeERotateSphere::ComputeERotateSphere(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) + Compute(lmp, narg, arg) { - if (narg != 3) error->all(FLERR,"Illegal compute erotate/sphere command"); + if (narg != 3) error->all(FLERR, "Illegal compute erotate/sphere command"); scalar_flag = 1; extscalar = 1; // error check - if (!atom->sphere_flag) - error->all(FLERR,"Compute erotate/sphere requires atom style sphere"); + if (!atom->sphere_flag) error->all(FLERR, "Compute erotate/sphere requires atom style sphere"); } /* ---------------------------------------------------------------------- */ @@ -64,10 +62,11 @@ double ComputeERotateSphere::compute_scalar() double erotate = 0.0; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - erotate += (omega[i][0]*omega[i][0] + omega[i][1]*omega[i][1] + - omega[i][2]*omega[i][2]) * radius[i]*radius[i]*rmass[i]; + erotate += + (omega[i][0] * omega[i][0] + omega[i][1] * omega[i][1] + omega[i][2] * omega[i][2]) * + radius[i] * radius[i] * rmass[i]; - MPI_Allreduce(&erotate,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&erotate, &scalar, 1, MPI_DOUBLE, MPI_SUM, world); scalar *= pfactor; return scalar; } diff --git a/src/compute_improper.cpp b/src/compute_improper.cpp index 3e0780be49..d2b426c5b3 100644 --- a/src/compute_improper.cpp +++ b/src/compute_improper.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,21 +13,20 @@ #include "compute_improper.h" -#include "update.h" +#include "error.h" #include "force.h" #include "improper.h" #include "improper_hybrid.h" -#include "error.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeImproper::ComputeImproper(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - emine(nullptr) + Compute(lmp, narg, arg), emine(nullptr) { - if (narg != 3) error->all(FLERR,"Illegal compute improper command"); + if (narg != 3) error->all(FLERR, "Illegal compute improper command"); vector_flag = 1; extvector = 1; @@ -37,9 +35,8 @@ ComputeImproper::ComputeImproper(LAMMPS *lmp, int narg, char **arg) : // check if improper style hybrid exists - improper = dynamic_cast( force->improper_match("hybrid")); - if (!improper) - error->all(FLERR, "Improper style for compute improper command is not hybrid"); + improper = dynamic_cast(force->improper_match("hybrid")); + if (!improper) error->all(FLERR, "Improper style for compute improper command is not hybrid"); size_vector = nsub = improper->nstyles; emine = new double[nsub]; @@ -50,8 +47,8 @@ ComputeImproper::ComputeImproper(LAMMPS *lmp, int narg, char **arg) : ComputeImproper::~ComputeImproper() { - delete [] emine; - delete [] vector; + delete[] emine; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -60,11 +57,10 @@ void ComputeImproper::init() { // recheck improper style in case it has been changed - improper = dynamic_cast( force->improper_match("hybrid")); - if (!improper) - error->all(FLERR, "Improper style for compute improper command is not hybrid"); + improper = dynamic_cast(force->improper_match("hybrid")); + if (!improper) error->all(FLERR, "Improper style for compute improper command is not hybrid"); if (improper->nstyles != nsub) - error->all(FLERR,"Improper style for compute improper command has changed"); + error->all(FLERR, "Improper style for compute improper command has changed"); } /* ---------------------------------------------------------------------- */ @@ -73,10 +69,9 @@ void ComputeImproper::compute_vector() { invoked_vector = update->ntimestep; if (update->eflag_global != invoked_vector) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); - for (int i = 0; i < nsub; i++) - emine[i] = improper->styles[i]->energy; + for (int i = 0; i < nsub; i++) emine[i] = improper->styles[i]->energy; - MPI_Allreduce(emine,vector,nsub,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(emine, vector, nsub, MPI_DOUBLE, MPI_SUM, world); } diff --git a/src/compute_ke.cpp b/src/compute_ke.cpp index ea011eccc1..c515522195 100644 --- a/src/compute_ke.cpp +++ b/src/compute_ke.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,18 +14,17 @@ #include "compute_ke.h" #include "atom.h" -#include "update.h" -#include "force.h" #include "error.h" +#include "force.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeKE::ComputeKE(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeKE::ComputeKE(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg != 3) error->all(FLERR,"Illegal compute ke command"); + if (narg != 3) error->all(FLERR, "Illegal compute ke command"); scalar_flag = 1; extscalar = 1; @@ -57,15 +55,14 @@ double ComputeKE::compute_scalar() if (rmass) { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - ke += rmass[i] * (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]); + ke += rmass[i] * (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]); } else { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - ke += mass[type[i]] * - (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]); + ke += mass[type[i]] * (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]); } - MPI_Allreduce(&ke,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&ke, &scalar, 1, MPI_DOUBLE, MPI_SUM, world); scalar *= pfactor; return scalar; } diff --git a/src/compute_stress_atom.cpp b/src/compute_stress_atom.cpp index ac69667294..f9c24847a1 100644 --- a/src/compute_stress_atom.cpp +++ b/src/compute_stress_atom.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -33,15 +32,14 @@ using namespace LAMMPS_NS; -enum{NOBIAS,BIAS}; +enum { NOBIAS, BIAS }; /* ---------------------------------------------------------------------- */ ComputeStressAtom::ComputeStressAtom(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - id_temp(nullptr), stress(nullptr) + Compute(lmp, narg, arg), id_temp(nullptr), stress(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute stress/atom command"); + if (narg < 4) error->all(FLERR, "Illegal compute stress/atom command"); peratom_flag = 1; size_peratom_cols = 6; @@ -52,17 +50,15 @@ ComputeStressAtom::ComputeStressAtom(LAMMPS *lmp, int narg, char **arg) : // store temperature ID used by stress computation // insure it is valid for temperature computation - if (strcmp(arg[3],"NULL") == 0) id_temp = nullptr; + if (strcmp(arg[3], "NULL") == 0) + id_temp = nullptr; else { id_temp = utils::strdup(arg[3]); int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute stress/atom temperature ID"); + if (icompute < 0) error->all(FLERR, "Could not find compute stress/atom temperature ID"); if (modify->compute[icompute]->tempflag == 0) - error->all(FLERR, - "Compute stress/atom temperature ID does not " - "compute temperature"); + error->all(FLERR, "Compute stress/atom temperature ID does not compute temperature"); } // process optional args @@ -81,19 +77,28 @@ ComputeStressAtom::ComputeStressAtom(LAMMPS *lmp, int narg, char **arg) : fixflag = 0; int iarg = 4; while (iarg < narg) { - if (strcmp(arg[iarg],"ke") == 0) keflag = 1; - else if (strcmp(arg[iarg],"pair") == 0) pairflag = 1; - else if (strcmp(arg[iarg],"bond") == 0) bondflag = 1; - else if (strcmp(arg[iarg],"angle") == 0) angleflag = 1; - else if (strcmp(arg[iarg],"dihedral") == 0) dihedralflag = 1; - else if (strcmp(arg[iarg],"improper") == 0) improperflag = 1; - else if (strcmp(arg[iarg],"kspace") == 0) kspaceflag = 1; - else if (strcmp(arg[iarg],"fix") == 0) fixflag = 1; - else if (strcmp(arg[iarg],"virial") == 0) { + if (strcmp(arg[iarg], "ke") == 0) + keflag = 1; + else if (strcmp(arg[iarg], "pair") == 0) + pairflag = 1; + else if (strcmp(arg[iarg], "bond") == 0) + bondflag = 1; + else if (strcmp(arg[iarg], "angle") == 0) + angleflag = 1; + else if (strcmp(arg[iarg], "dihedral") == 0) + dihedralflag = 1; + else if (strcmp(arg[iarg], "improper") == 0) + improperflag = 1; + else if (strcmp(arg[iarg], "kspace") == 0) + kspaceflag = 1; + else if (strcmp(arg[iarg], "fix") == 0) + fixflag = 1; + else if (strcmp(arg[iarg], "virial") == 0) { pairflag = 1; bondflag = angleflag = dihedralflag = improperflag = 1; kspaceflag = fixflag = 1; - } else error->all(FLERR,"Illegal compute stress/atom command"); + } else + error->all(FLERR, "Illegal compute stress/atom command"); iarg++; } } @@ -105,7 +110,7 @@ ComputeStressAtom::ComputeStressAtom(LAMMPS *lmp, int narg, char **arg) : ComputeStressAtom::~ComputeStressAtom() { - delete [] id_temp; + delete[] id_temp; memory->destroy(stress); } @@ -118,24 +123,26 @@ void ComputeStressAtom::init() if (id_temp) { int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute stress/atom temperature ID"); + if (icompute < 0) error->all(FLERR, "Could not find compute stress/atom temperature ID"); temperature = modify->compute[icompute]; - if (temperature->tempbias) biasflag = BIAS; - else biasflag = NOBIAS; - } else biasflag = NOBIAS; + if (temperature->tempbias) + biasflag = BIAS; + else + biasflag = NOBIAS; + } else + biasflag = NOBIAS; } /* ---------------------------------------------------------------------- */ void ComputeStressAtom::compute_peratom() { - int i,j; + int i, j; double onemass; invoked_peratom = update->ntimestep; if (update->vflag_atom != invoked_peratom) - error->all(FLERR,"Per-atom virial was not tallied on needed timestep"); + error->all(FLERR, "Per-atom virial was not tallied on needed timestep"); // grow local stress array if necessary // needs to be atom->nmax in length @@ -143,7 +150,7 @@ void ComputeStressAtom::compute_peratom() if (atom->nmax > nmax) { memory->destroy(stress); nmax = atom->nmax; - memory->create(stress,nmax,6,"stress/atom:stress"); + memory->create(stress, nmax, 6, "stress/atom:stress"); array_atom = stress; } @@ -166,51 +173,44 @@ void ComputeStressAtom::compute_peratom() // clear local stress array for (i = 0; i < ntotal; i++) - for (j = 0; j < 6; j++) - stress[i][j] = 0.0; + for (j = 0; j < 6; j++) stress[i][j] = 0.0; // add in per-atom contributions from each force if (pairflag && force->pair && force->pair->compute_flag) { double **vatom = force->pair->vatom; for (i = 0; i < npair; i++) - for (j = 0; j < 6; j++) - stress[i][j] += vatom[i][j]; + for (j = 0; j < 6; j++) stress[i][j] += vatom[i][j]; } if (bondflag && force->bond) { double **vatom = force->bond->vatom; for (i = 0; i < nbond; i++) - for (j = 0; j < 6; j++) - stress[i][j] += vatom[i][j]; + for (j = 0; j < 6; j++) stress[i][j] += vatom[i][j]; } if (angleflag && force->angle) { double **vatom = force->angle->vatom; for (i = 0; i < nbond; i++) - for (j = 0; j < 6; j++) - stress[i][j] += vatom[i][j]; + for (j = 0; j < 6; j++) stress[i][j] += vatom[i][j]; } if (dihedralflag && force->dihedral) { double **vatom = force->dihedral->vatom; for (i = 0; i < nbond; i++) - for (j = 0; j < 6; j++) - stress[i][j] += vatom[i][j]; + for (j = 0; j < 6; j++) stress[i][j] += vatom[i][j]; } if (improperflag && force->improper) { double **vatom = force->improper->vatom; for (i = 0; i < nbond; i++) - for (j = 0; j < 6; j++) - stress[i][j] += vatom[i][j]; + for (j = 0; j < 6; j++) stress[i][j] += vatom[i][j]; } if (kspaceflag && force->kspace && force->kspace->compute_flag) { double **vatom = force->kspace->vatom; for (i = 0; i < nkspace; i++) - for (j = 0; j < 6; j++) - stress[i][j] += vatom[i][j]; + for (j = 0; j < 6; j++) stress[i][j] += vatom[i][j]; } // add in per-atom contributions from relevant fixes @@ -225,15 +225,13 @@ void ComputeStressAtom::compute_peratom() double **vatom = ifix->vatom; if (vatom) for (i = 0; i < nlocal; i++) - for (j = 0; j < 6; j++) - stress[i][j] += vatom[i][j]; + for (j = 0; j < 6; j++) stress[i][j] += vatom[i][j]; } } // communicate ghost virials between neighbor procs - if (force->newton || (force->kspace && force->kspace->tip4pflag)) - comm->reverse_comm(this); + if (force->newton || (force->kspace && force->kspace->tip4pflag)) comm->reverse_comm(this); // zero virial of atoms not in group // only do this after comm since ghost contributions must be included @@ -266,24 +264,24 @@ void ComputeStressAtom::compute_peratom() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { onemass = mvv2e * rmass[i]; - stress[i][0] += onemass*v[i][0]*v[i][0]; - stress[i][1] += onemass*v[i][1]*v[i][1]; - stress[i][2] += onemass*v[i][2]*v[i][2]; - stress[i][3] += onemass*v[i][0]*v[i][1]; - stress[i][4] += onemass*v[i][0]*v[i][2]; - stress[i][5] += onemass*v[i][1]*v[i][2]; + stress[i][0] += onemass * v[i][0] * v[i][0]; + stress[i][1] += onemass * v[i][1] * v[i][1]; + stress[i][2] += onemass * v[i][2] * v[i][2]; + stress[i][3] += onemass * v[i][0] * v[i][1]; + stress[i][4] += onemass * v[i][0] * v[i][2]; + stress[i][5] += onemass * v[i][1] * v[i][2]; } } else { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { onemass = mvv2e * mass[type[i]]; - stress[i][0] += onemass*v[i][0]*v[i][0]; - stress[i][1] += onemass*v[i][1]*v[i][1]; - stress[i][2] += onemass*v[i][2]*v[i][2]; - stress[i][3] += onemass*v[i][0]*v[i][1]; - stress[i][4] += onemass*v[i][0]*v[i][2]; - stress[i][5] += onemass*v[i][1]*v[i][2]; + stress[i][0] += onemass * v[i][0] * v[i][0]; + stress[i][1] += onemass * v[i][1] * v[i][1]; + stress[i][2] += onemass * v[i][2] * v[i][2]; + stress[i][3] += onemass * v[i][0] * v[i][1]; + stress[i][4] += onemass * v[i][0] * v[i][2]; + stress[i][5] += onemass * v[i][1] * v[i][2]; } } @@ -292,35 +290,34 @@ void ComputeStressAtom::compute_peratom() // invoke temperature if it hasn't been already // this insures bias factor is pre-computed - if (keflag && temperature->invoked_scalar != update->ntimestep) - temperature->compute_scalar(); + if (keflag && temperature->invoked_scalar != update->ntimestep) temperature->compute_scalar(); if (rmass) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - temperature->remove_bias(i,v[i]); + temperature->remove_bias(i, v[i]); onemass = mvv2e * rmass[i]; - stress[i][0] += onemass*v[i][0]*v[i][0]; - stress[i][1] += onemass*v[i][1]*v[i][1]; - stress[i][2] += onemass*v[i][2]*v[i][2]; - stress[i][3] += onemass*v[i][0]*v[i][1]; - stress[i][4] += onemass*v[i][0]*v[i][2]; - stress[i][5] += onemass*v[i][1]*v[i][2]; - temperature->restore_bias(i,v[i]); + stress[i][0] += onemass * v[i][0] * v[i][0]; + stress[i][1] += onemass * v[i][1] * v[i][1]; + stress[i][2] += onemass * v[i][2] * v[i][2]; + stress[i][3] += onemass * v[i][0] * v[i][1]; + stress[i][4] += onemass * v[i][0] * v[i][2]; + stress[i][5] += onemass * v[i][1] * v[i][2]; + temperature->restore_bias(i, v[i]); } } else { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - temperature->remove_bias(i,v[i]); + temperature->remove_bias(i, v[i]); onemass = mvv2e * mass[type[i]]; - stress[i][0] += onemass*v[i][0]*v[i][0]; - stress[i][1] += onemass*v[i][1]*v[i][1]; - stress[i][2] += onemass*v[i][2]*v[i][2]; - stress[i][3] += onemass*v[i][0]*v[i][1]; - stress[i][4] += onemass*v[i][0]*v[i][2]; - stress[i][5] += onemass*v[i][1]*v[i][2]; - temperature->restore_bias(i,v[i]); + stress[i][0] += onemass * v[i][0] * v[i][0]; + stress[i][1] += onemass * v[i][1] * v[i][1]; + stress[i][2] += onemass * v[i][2] * v[i][2]; + stress[i][3] += onemass * v[i][0] * v[i][1]; + stress[i][4] += onemass * v[i][0] * v[i][2]; + stress[i][5] += onemass * v[i][1] * v[i][2]; + temperature->restore_bias(i, v[i]); } } } @@ -344,7 +341,7 @@ void ComputeStressAtom::compute_peratom() int ComputeStressAtom::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -363,7 +360,7 @@ int ComputeStressAtom::pack_reverse_comm(int n, int first, double *buf) void ComputeStressAtom::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -383,6 +380,6 @@ void ComputeStressAtom::unpack_reverse_comm(int n, int *list, double *buf) double ComputeStressAtom::memory_usage() { - double bytes = (double)nmax*6 * sizeof(double); + double bytes = (double) nmax * 6 * sizeof(double); return bytes; } diff --git a/src/dihedral_deprecated.cpp b/src/dihedral_deprecated.cpp index 57ea7f1afa..63afe28dff 100644 --- a/src/dihedral_deprecated.cpp +++ b/src/dihedral_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,7 +22,6 @@ #include "error.h" #include "force.h" - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ @@ -36,15 +34,15 @@ void DihedralDeprecated::settings(int, char **) // so when this is called, our style was just added at the end // of the list of substyles - if (utils::strmatch(my_style,"^hybrid")) { + if (utils::strmatch(my_style, "^hybrid")) { auto hybrid = dynamic_cast(force->dihedral); my_style = hybrid->keywords[hybrid->nstyles]; } if (my_style == "DEPRECATED") { if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nDihedral style 'DEPRECATED' is a dummy style\n\n"); + utils::logmesg(lmp, "\nDihedral style 'DEPRECATED' is a dummy style\n\n"); return; } - error->all(FLERR,"This dihedral style is no longer available"); + error->all(FLERR, "This dihedral style is no longer available"); } diff --git a/src/dump_deprecated.cpp b/src/dump_deprecated.cpp index fdd9d06dbc..1c4fb59390 100644 --- a/src/dump_deprecated.cpp +++ b/src/dump_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -21,15 +20,13 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -DumpDeprecated::DumpDeprecated(LAMMPS *lmp, int narg, char **arg) : - Dump(lmp, narg, arg) +DumpDeprecated::DumpDeprecated(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg) { std::string my_style = style; if (my_style == "DEPRECATED") { - if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nDump style 'DEPRECATED' is a dummy style\n\n"); + if (lmp->comm->me == 0) utils::logmesg(lmp, "\nDump style 'DEPRECATED' is a dummy style\n\n"); return; } - error->all(FLERR,"This dump style is no longer available"); + error->all(FLERR, "This dump style is no longer available"); } diff --git a/src/fix_deprecated.cpp b/src/fix_deprecated.cpp index 017ae9ff1b..23e219c7c1 100644 --- a/src/fix_deprecated.cpp +++ b/src/fix_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -17,23 +16,21 @@ #include "comm.h" #include "error.h" - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -FixDeprecated::FixDeprecated(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) +FixDeprecated::FixDeprecated(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { std::string my_style = style; if (my_style == "DEPRECATED") { - if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nFix style 'DEPRECATED' is a dummy style\n\n"); + if (lmp->comm->me == 0) utils::logmesg(lmp, "\nFix style 'DEPRECATED' is a dummy style\n\n"); return; - } else if (utils::strmatch(my_style,"^ave/spatial")) { + } else if (utils::strmatch(my_style, "^ave/spatial")) { if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nFix styles 'ave/spatial' and 'ave/spatial/sphere'" + utils::logmesg(lmp, + "\nFix styles 'ave/spatial' and 'ave/spatial/sphere'" " have been replaced\nby the more general fix ave/chunk " "and compute chunk/atom commands.\nAll ave/spatial and " "ave/spatial/sphere functionality is available in these" @@ -44,14 +41,16 @@ FixDeprecated::FixDeprecated(LAMMPS *lmp, int narg, char **arg) : "compute chunk/atom:\n dim, origin, delta, region, " "bound, discard, units\n\n"); } else if (my_style == "lb/pc") { - utils::logmesg(lmp,"\nFix style 'lb/pc' has been removed from the LATBOLTZ" - " package; 'fix nve' can be used in its place.\n\n"); + utils::logmesg(lmp, + "\nFix style 'lb/pc' has been removed from the LATBOLTZ" + " package; 'fix nve' can be used in its place.\n\n"); } else if (my_style == "lb/rigid/pc/sphere") { - utils::logmesg(lmp,"\nFix style 'lb/rigid/pc/sphere' has been removed from" + utils::logmesg(lmp, + "\nFix style 'lb/rigid/pc/sphere' has been removed from" " the LATBOLTZ package; 'fix rigid' can be used in its place.\n\n"); } else if (my_style == "client/md") { if (lmp->comm->me == 0) utils::logmesg(lmp, "\nThe MESSAGE package has been replaced by the MDI package.\n\n"); } - error->all(FLERR,"This fix style is no longer available"); + error->all(FLERR, "This fix style is no longer available"); } diff --git a/src/fix_dummy.cpp b/src/fix_dummy.cpp index d8a4df173b..eb8c08f43e 100644 --- a/src/fix_dummy.cpp +++ b/src/fix_dummy.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,16 +12,16 @@ ------------------------------------------------------------------------- */ #include "fix_dummy.h" -#include #include "error.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixDummy::FixDummy(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) +FixDummy::FixDummy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { // process optional args // customize here and in setmask() by adding a new keyword from fix.h @@ -39,14 +38,22 @@ FixDummy::FixDummy(LAMMPS *lmp, int narg, char **arg) : int iarg = 3; while (iarg < narg) { - if (strcmp(arg[iarg],"initial_integrate") == 0) initial_integrate_flag = 1; - else if (strcmp(arg[iarg],"final_integrate") == 0) final_integrate_flag = 1; - else if (strcmp(arg[iarg],"pre_exchange") == 0) pre_exchange_flag = 1; - else if (strcmp(arg[iarg],"pre_neighbor") == 0) pre_neighbor_flag = 1; - else if (strcmp(arg[iarg],"pre_force") == 0) pre_force_flag = 1; - else if (strcmp(arg[iarg],"post_force") == 0) post_force_flag = 1; - else if (strcmp(arg[iarg],"end_of_step") == 0) end_of_step_flag = 1; - else error->all(FLERR,"Illegal fix DUMMY command"); + if (strcmp(arg[iarg], "initial_integrate") == 0) + initial_integrate_flag = 1; + else if (strcmp(arg[iarg], "final_integrate") == 0) + final_integrate_flag = 1; + else if (strcmp(arg[iarg], "pre_exchange") == 0) + pre_exchange_flag = 1; + else if (strcmp(arg[iarg], "pre_neighbor") == 0) + pre_neighbor_flag = 1; + else if (strcmp(arg[iarg], "pre_force") == 0) + pre_force_flag = 1; + else if (strcmp(arg[iarg], "post_force") == 0) + post_force_flag = 1; + else if (strcmp(arg[iarg], "end_of_step") == 0) + end_of_step_flag = 1; + else + error->all(FLERR, "Illegal fix DUMMY command"); iarg++; } } diff --git a/src/fix_nph.cpp b/src/fix_nph.cpp index 2f007c803e..0a8f67e4b0 100644 --- a/src/fix_nph.cpp +++ b/src/fix_nph.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,13 +21,10 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixNPH::FixNPH(LAMMPS *lmp, int narg, char **arg) : - FixNH(lmp, narg, arg) +FixNPH::FixNPH(LAMMPS *lmp, int narg, char **arg) : FixNH(lmp, narg, arg) { - if (tstat_flag) - error->all(FLERR,"Temperature control can not be used with fix nph"); - if (!pstat_flag) - error->all(FLERR,"Pressure control must be used with fix nph"); + if (tstat_flag) error->all(FLERR, "Temperature control can not be used with fix nph"); + if (!pstat_flag) error->all(FLERR, "Pressure control must be used with fix nph"); // create a new compute temp style // id = fix-ID + temp @@ -36,7 +32,7 @@ FixNPH::FixNPH(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} all temp",id_temp)); + modify->add_compute(fmt::format("{} all temp", id_temp)); tcomputeflag = 1; // create a new compute pressure style @@ -44,6 +40,6 @@ FixNPH::FixNPH(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id) + "_press"); - modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); + modify->add_compute(fmt::format("{} all pressure {}", id_press, id_temp)); pcomputeflag = 1; } diff --git a/src/fix_nph_sphere.cpp b/src/fix_nph_sphere.cpp index bd51c3b7f7..75aab70f06 100644 --- a/src/fix_nph_sphere.cpp +++ b/src/fix_nph_sphere.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,13 +21,10 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixNPHSphere::FixNPHSphere(LAMMPS *lmp, int narg, char **arg) : - FixNHSphere(lmp, narg, arg) +FixNPHSphere::FixNPHSphere(LAMMPS *lmp, int narg, char **arg) : FixNHSphere(lmp, narg, arg) { - if (tstat_flag) - error->all(FLERR,"Temperature control can not be used with fix nph/sphere"); - if (!pstat_flag) - error->all(FLERR,"Pressure control must be used with fix nph/sphere"); + if (tstat_flag) error->all(FLERR, "Temperature control can not be used with fix nph/sphere"); + if (!pstat_flag) error->all(FLERR, "Pressure control must be used with fix nph/sphere"); // create a new compute temp style // id = fix-ID + temp @@ -36,7 +32,7 @@ FixNPHSphere::FixNPHSphere(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} all temp/sphere",id_temp)); + modify->add_compute(fmt::format("{} all temp/sphere", id_temp)); tcomputeflag = 1; // create a new compute pressure style @@ -44,6 +40,6 @@ FixNPHSphere::FixNPHSphere(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id) + "_press"); - modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); + modify->add_compute(fmt::format("{} all pressure {}", id_press, id_temp)); pcomputeflag = 1; } diff --git a/src/fix_npt.cpp b/src/fix_npt.cpp index fb02919041..ff94ae678d 100644 --- a/src/fix_npt.cpp +++ b/src/fix_npt.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,13 +21,10 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixNPT::FixNPT(LAMMPS *lmp, int narg, char **arg) : - FixNH(lmp, narg, arg) +FixNPT::FixNPT(LAMMPS *lmp, int narg, char **arg) : FixNH(lmp, narg, arg) { - if (!tstat_flag) - error->all(FLERR,"Temperature control must be used with fix npt"); - if (!pstat_flag) - error->all(FLERR,"Pressure control must be used with fix npt"); + if (!tstat_flag) error->all(FLERR, "Temperature control must be used with fix npt"); + if (!pstat_flag) error->all(FLERR, "Pressure control must be used with fix npt"); // create a new compute temp style // id = fix-ID + temp @@ -36,7 +32,7 @@ FixNPT::FixNPT(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} all temp",id_temp)); + modify->add_compute(fmt::format("{} all temp", id_temp)); tcomputeflag = 1; // create a new compute pressure style @@ -44,6 +40,6 @@ FixNPT::FixNPT(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id) + "_press"); - modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); + modify->add_compute(fmt::format("{} all pressure {}", id_press, id_temp)); pcomputeflag = 1; } diff --git a/src/fix_npt_sphere.cpp b/src/fix_npt_sphere.cpp index fe5d5df6f6..64279b1099 100644 --- a/src/fix_npt_sphere.cpp +++ b/src/fix_npt_sphere.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,13 +21,10 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixNPTSphere::FixNPTSphere(LAMMPS *lmp, int narg, char **arg) : - FixNHSphere(lmp, narg, arg) +FixNPTSphere::FixNPTSphere(LAMMPS *lmp, int narg, char **arg) : FixNHSphere(lmp, narg, arg) { - if (!tstat_flag) - error->all(FLERR,"Temperature control must be used with fix npt/sphere"); - if (!pstat_flag) - error->all(FLERR,"Pressure control must be used with fix npt/sphere"); + if (!tstat_flag) error->all(FLERR, "Temperature control must be used with fix npt/sphere"); + if (!pstat_flag) error->all(FLERR, "Pressure control must be used with fix npt/sphere"); // create a new compute temp style // id = fix-ID + temp @@ -36,7 +32,7 @@ FixNPTSphere::FixNPTSphere(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} all temp/sphere",id_temp)); + modify->add_compute(fmt::format("{} all temp/sphere", id_temp)); tcomputeflag = 1; // create a new compute pressure style @@ -44,6 +40,6 @@ FixNPTSphere::FixNPTSphere(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id) + "_press"); - modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); + modify->add_compute(fmt::format("{} all pressure {}", id_press, id_temp)); pcomputeflag = 1; } diff --git a/src/fix_nve_noforce.cpp b/src/fix_nve_noforce.cpp index d043dcbd4a..7b79dcc267 100644 --- a/src/fix_nve_noforce.cpp +++ b/src/fix_nve_noforce.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -24,10 +23,9 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixNVENoforce::FixNVENoforce(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) +FixNVENoforce::FixNVENoforce(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg != 3) error->all(FLERR,"Illegal fix nve/noforce command"); + if (narg != 3) error->all(FLERR, "Illegal fix nve/noforce command"); time_integrate = 1; } @@ -48,8 +46,8 @@ void FixNVENoforce::init() { dtv = update->dt; - if (utils::strmatch(update->integrate_style,"^respa")) - step_respa = (dynamic_cast( update->integrate))->step; + if (utils::strmatch(update->integrate_style, "^respa")) + step_respa = (dynamic_cast(update->integrate))->step; } /* ---------------------------------------------------------------------- */ @@ -75,7 +73,7 @@ void FixNVENoforce::initial_integrate(int /*vflag*/) void FixNVENoforce::initial_integrate_respa(int vflag, int ilevel, int flag) { - if (flag) return; // only used by NPT,NPH + if (flag) return; // only used by NPT,NPH dtv = step_respa[ilevel]; diff --git a/src/fix_nvt.cpp b/src/fix_nvt.cpp index e27f3ccc67..11404bf90d 100644 --- a/src/fix_nvt.cpp +++ b/src/fix_nvt.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,18 +22,15 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixNVT::FixNVT(LAMMPS *lmp, int narg, char **arg) : - FixNH(lmp, narg, arg) +FixNVT::FixNVT(LAMMPS *lmp, int narg, char **arg) : FixNH(lmp, narg, arg) { - if (!tstat_flag) - error->all(FLERR,"Temperature control must be used with fix nvt"); - if (pstat_flag) - error->all(FLERR,"Pressure control can not be used with fix nvt"); + if (!tstat_flag) error->all(FLERR, "Temperature control must be used with fix nvt"); + if (pstat_flag) error->all(FLERR, "Pressure control can not be used with fix nvt"); // create a new compute temp style // id = fix-ID + temp id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} {} temp",id_temp,group->names[igroup])); + modify->add_compute(fmt::format("{} {} temp", id_temp, group->names[igroup])); tcomputeflag = 1; } diff --git a/src/fix_nvt_sphere.cpp b/src/fix_nvt_sphere.cpp index aff4462356..349da470c7 100644 --- a/src/fix_nvt_sphere.cpp +++ b/src/fix_nvt_sphere.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,19 +22,15 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixNVTSphere::FixNVTSphere(LAMMPS *lmp, int narg, char **arg) : - FixNHSphere(lmp, narg, arg) +FixNVTSphere::FixNVTSphere(LAMMPS *lmp, int narg, char **arg) : FixNHSphere(lmp, narg, arg) { - if (!tstat_flag) - error->all(FLERR,"Temperature control must be used with fix nvt/sphere"); - if (pstat_flag) - error->all(FLERR,"Pressure control can not be used with fix nvt/sphere"); + if (!tstat_flag) error->all(FLERR, "Temperature control must be used with fix nvt/sphere"); + if (pstat_flag) error->all(FLERR, "Pressure control can not be used with fix nvt/sphere"); // create a new compute temp style // id = fix-ID + temp id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} {} temp/sphere", - id_temp,group->names[igroup])); + modify->add_compute(fmt::format("{} {} temp/sphere", id_temp, group->names[igroup])); tcomputeflag = 1; } diff --git a/src/fix_wall_harmonic.cpp b/src/fix_wall_harmonic.cpp index 1afca23c96..4b55dde8aa 100644 --- a/src/fix_wall_harmonic.cpp +++ b/src/fix_wall_harmonic.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -21,8 +20,7 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixWallHarmonic::FixWallHarmonic(LAMMPS *lmp, int narg, char **arg) : - FixWall(lmp, narg, arg) +FixWallHarmonic::FixWallHarmonic(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) { dynamic_group_allow = 1; } @@ -36,7 +34,7 @@ FixWallHarmonic::FixWallHarmonic(LAMMPS *lmp, int narg, char **arg) : void FixWallHarmonic::wall_particle(int m, int which, double coord) { - double delta,dr,fwall; + double delta, dr, fwall; double vn; double **x = atom->x; @@ -52,25 +50,29 @@ void FixWallHarmonic::wall_particle(int m, int which, double coord) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (side < 0) delta = x[i][dim] - coord; - else delta = coord - x[i][dim]; + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; if (delta >= cutoff[m]) continue; if (delta <= 0.0) { onflag = 1; continue; } - dr = cutoff[m]-delta; - fwall = side * 2.0*epsilon[m]*dr; + dr = cutoff[m] - delta; + fwall = side * 2.0 * epsilon[m] * dr; f[i][dim] -= fwall; - ewall[0] += epsilon[m]*dr*dr; - ewall[m+1] += fwall; + ewall[0] += epsilon[m] * dr * dr; + ewall[m + 1] += fwall; if (evflag) { - if (side < 0) vn = -fwall*delta; - else vn = fwall*delta; - v_tally(dim,i,vn); + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; + v_tally(dim, i, vn); } } - if (onflag) error->one(FLERR,"Particle on or inside fix wall surface"); + if (onflag) error->one(FLERR, "Particle on or inside fix wall surface"); } diff --git a/src/fix_wall_morse.cpp b/src/fix_wall_morse.cpp index afac920c01..942e8e0e04 100644 --- a/src/fix_wall_morse.cpp +++ b/src/fix_wall_morse.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,17 +12,17 @@ ------------------------------------------------------------------------- */ #include "fix_wall_morse.h" -#include #include "atom.h" #include "error.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixWallMorse::FixWallMorse(LAMMPS *lmp, int narg, char **arg) : - FixWall(lmp, narg, arg) +FixWallMorse::FixWallMorse(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) { dynamic_group_allow = 1; } @@ -34,7 +33,7 @@ void FixWallMorse::precompute(int m) { coeff1[m] = 2.0 * epsilon[m] * alpha[m]; const double alpha_dr = -alpha[m] * (cutoff[m] - sigma[m]); - offset[m] = epsilon[m] * (exp(2.0*alpha_dr) - 2.0*exp(alpha_dr)); + offset[m] = epsilon[m] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)); } /* ---------------------------------------------------------------------- @@ -46,7 +45,7 @@ void FixWallMorse::precompute(int m) void FixWallMorse::wall_particle(int m, int which, double coord) { - double delta,fwall; + double delta, fwall; double vn; double **x = atom->x; @@ -62,8 +61,10 @@ void FixWallMorse::wall_particle(int m, int which, double coord) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - if (side < 0) delta = x[i][dim] - coord; - else delta = coord - x[i][dim]; + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; if (delta >= cutoff[m]) continue; if (delta <= 0.0) { onflag = 1; @@ -71,18 +72,20 @@ void FixWallMorse::wall_particle(int m, int which, double coord) } double dr = delta - sigma[m]; double dexp = exp(-alpha[m] * dr); - fwall = side * coeff1[m] * (dexp*dexp - dexp) / delta; - ewall[0] += epsilon[m] * (dexp*dexp - 2.0*dexp) - offset[m]; + fwall = side * coeff1[m] * (dexp * dexp - dexp) / delta; + ewall[0] += epsilon[m] * (dexp * dexp - 2.0 * dexp) - offset[m]; f[i][dim] -= fwall; - ewall[m+1] += fwall; + ewall[m + 1] += fwall; if (evflag) { - if (side < 0) vn = -fwall*delta; - else vn = fwall*delta; + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; v_tally(dim, i, vn); } } } - if (onflag) error->one(FLERR,"Particle on or inside fix wall surface"); + if (onflag) error->one(FLERR, "Particle on or inside fix wall surface"); } diff --git a/src/improper_deprecated.cpp b/src/improper_deprecated.cpp index b1e3d3511b..7b757e62e1 100644 --- a/src/improper_deprecated.cpp +++ b/src/improper_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories diff --git a/src/kspace_deprecated.cpp b/src/kspace_deprecated.cpp index 46a3e6df6b..62605542d8 100644 --- a/src/kspace_deprecated.cpp +++ b/src/kspace_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,8 +18,8 @@ #include "kspace_deprecated.h" #include "comm.h" -#include "force.h" #include "error.h" +#include "force.h" using namespace LAMMPS_NS; @@ -31,11 +30,8 @@ void KSpaceDeprecated::settings(int, char **) std::string my_style = force->kspace_style; if (my_style == "DEPRECATED") { - if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nKSpace style 'DEPRECATED' is a dummy style\n\n"); + if (lmp->comm->me == 0) utils::logmesg(lmp, "\nKSpace style 'DEPRECATED' is a dummy style\n\n"); return; } - error->all(FLERR,"This kspace style is no longer available"); + error->all(FLERR, "This kspace style is no longer available"); } - - diff --git a/src/minimize.cpp b/src/minimize.cpp index 206bc51914..e9c6ec25b3 100644 --- a/src/minimize.cpp +++ b/src/minimize.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -32,28 +31,26 @@ Minimize::Minimize(LAMMPS *lmp) : Command(lmp) {} void Minimize::command(int narg, char **arg) { - if (narg != 4) error->all(FLERR,"Illegal minimize command"); + if (narg != 4) error->all(FLERR, "Illegal minimize command"); if (domain->box_exist == 0) - error->all(FLERR,"Minimize command before simulation box is defined"); + error->all(FLERR, "Minimize command before simulation box is defined"); // ignore minimize command, if walltime limit was already reached if (timer->is_timeout()) return; - update->etol = utils::numeric(FLERR,arg[0],false,lmp); - update->ftol = utils::numeric(FLERR,arg[1],false,lmp); - update->nsteps = utils::inumeric(FLERR,arg[2],false,lmp); - update->max_eval = utils::inumeric(FLERR,arg[3],false,lmp); + update->etol = utils::numeric(FLERR, arg[0], false, lmp); + update->ftol = utils::numeric(FLERR, arg[1], false, lmp); + update->nsteps = utils::inumeric(FLERR, arg[2], false, lmp); + update->max_eval = utils::inumeric(FLERR, arg[3], false, lmp); - if (update->etol < 0.0 || update->ftol < 0.0) - error->all(FLERR,"Illegal minimize command"); + if (update->etol < 0.0 || update->ftol < 0.0) error->all(FLERR, "Illegal minimize command"); if (lmp->citeme) lmp->citeme->flush(); update->whichflag = 2; update->beginstep = update->firststep = update->ntimestep; update->endstep = update->laststep = update->firststep + update->nsteps; - if (update->laststep < 0) - error->all(FLERR,"Too many iterations"); + if (update->laststep < 0) error->all(FLERR, "Too many iterations"); lmp->init(); timer->init_timeout(); diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 2c7ce0004b..560392ae6d 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1742,15 +1742,15 @@ void Neighbor::requests_new2old() /* ---------------------------------------------------------------------- find and return request made by classptr if not found or classptr = nullptr, return nullptr - TODO: should have optional argument "id" to match ID if multiple requests + id is optional and defaults to 0, which is the request id value unless set explicitly ------------------------------------------------------------------------- */ -NeighRequest *Neighbor::find_request(void *classptr) const +NeighRequest *Neighbor::find_request(void *classptr, const int id) const { if (classptr == nullptr) return nullptr; for (int i = 0; i < nrequest; i++) - if (requests[i]->requestor == classptr) return requests[i]; + if ((requests[i]->requestor == classptr) && (requests[i]->id == id)) return requests[i]; return nullptr; } @@ -1770,15 +1770,15 @@ const std::vector Neighbor::get_pair_requests() const /* ---------------------------------------------------------------------- find and return list requested by classptr if not found or classptr = nullptr, return nullptr - TODO: should have optional argument "id" to match ID if multiple requests + id is optional and defaults to 0, which is the request id value unless set explicitly ------------------------------------------------------------------------- */ -NeighList *Neighbor::find_list(void *classptr) const +NeighList *Neighbor::find_list(void *classptr, const int id) const { if (classptr == nullptr) return nullptr; for (int i = 0; i < nlist; i++) - if (lists[i]->requestor == classptr) return lists[i]; + if ((lists[i]->requestor == classptr) && (lists[i]->id == id)) return lists[i]; return nullptr; } diff --git a/src/neighbor.h b/src/neighbor.h index 06601f96a7..3492693766 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -153,8 +153,12 @@ class Neighbor : protected Pointers { void exclusion_group_group_delete(int, int); // rm a group-group exclusion int exclude_setting(); // return exclude value to accelerator pkg - NeighList *find_list(void *) const; // find a neighbor list based on requestor - NeighRequest *find_request(void *) const; // find a neighbor request based on requestor + + // find a neighbor list based on requestor + NeighList *find_list(void *, const int id = 0) const; + // find a neighbor request based on requestor + NeighRequest *find_request(void *, const int id = 0) const; + const std::vector get_pair_requests() const; int any_full(); // Check if any old requests had full neighbor lists void build_collection(int); // build peratom collection array starting at the given index diff --git a/src/npair_copy.cpp b/src/npair_copy.cpp index b3cab53e0a..38a36d0ba5 100644 --- a/src/npair_copy.cpp +++ b/src/npair_copy.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories diff --git a/src/npair_full_bin_atomonly.cpp b/src/npair_full_bin_atomonly.cpp index b8c4378280..aa7a91dbbe 100644 --- a/src/npair_full_bin_atomonly.cpp +++ b/src/npair_full_bin_atomonly.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -32,8 +31,8 @@ NPairFullBinAtomonly::NPairFullBinAtomonly(LAMMPS *lmp) : NPair(lmp) {} void NPairFullBinAtomonly::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int i, j, k, n, itype, jtype, ibin; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *neighptr; double **x = atom->x; @@ -66,16 +65,16 @@ void NPairFullBinAtomonly::build(NeighList *list) ibin = atom2bin[i]; for (k = 0; k < nstencil; k++) { - for (j = binhead[ibin+stencil[k]]; j >= 0; j = bins[j]) { + for (j = binhead[ibin + stencil[k]]; j >= 0; j = bins[j]) { if (i == j) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i, j, itype, jtype, mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq <= cutneighsq[itype][jtype]) neighptr[n++] = j; } @@ -85,8 +84,7 @@ void NPairFullBinAtomonly::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } list->inum = inum; diff --git a/src/npair_halffull_newtoff.cpp b/src/npair_halffull_newtoff.cpp index 475325c2f0..57c121b933 100644 --- a/src/npair_halffull_newtoff.cpp +++ b/src/npair_halffull_newtoff.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -35,8 +34,8 @@ NPairHalffullNewtoff::NPairHalffullNewtoff(LAMMPS *lmp) : NPair(lmp) {} void NPairHalffullNewtoff::build(NeighList *list) { - int i,j,ii,jj,n,jnum,joriginal; - int *neighptr,*jlist; + int i, j, ii, jj, n, jnum, joriginal; + int *neighptr, *jlist; int *ilist = list->ilist; int *numneigh = list->numneigh; @@ -74,8 +73,7 @@ void NPairHalffullNewtoff::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } list->inum = inum; diff --git a/src/npair_skip_size.cpp b/src/npair_skip_size.cpp index f4fe760e08..b0134fd82c 100644 --- a/src/npair_skip_size.cpp +++ b/src/npair_skip_size.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -32,8 +31,8 @@ NPairSkipSize::NPairSkipSize(LAMMPS *lmp) : NPair(lmp) {} void NPairSkipSize::build(NeighList *list) { - int i,j,ii,jj,n,itype,jnum,joriginal; - int *neighptr,*jlist; + int i, j, ii, jj, n, itype, jnum, joriginal; + int *neighptr, *jlist; int *type = atom->type; int *ilist = list->ilist; @@ -80,8 +79,7 @@ void NPairSkipSize::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } list->inum = inum; diff --git a/src/nstencil_full_bin_2d.cpp b/src/nstencil_full_bin_2d.cpp index ba4ca97ed6..5c79f3ae8a 100644 --- a/src/nstencil_full_bin_2d.cpp +++ b/src/nstencil_full_bin_2d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,12 +25,11 @@ NStencilFullBin2d::NStencilFullBin2d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullBin2d::create() { - int i,j; + int i, j; nstencil = 0; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutneighmaxsq) - stencil[nstencil++] = j*mbinx + i; + if (bin_distance(i, j, 0) < cutneighmaxsq) stencil[nstencil++] = j * mbinx + i; } diff --git a/src/nstencil_full_bin_3d.cpp b/src/nstencil_full_bin_3d.cpp index 8aa593eb0b..837bf109f2 100644 --- a/src/nstencil_full_bin_3d.cpp +++ b/src/nstencil_full_bin_3d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,13 +25,13 @@ NStencilFullBin3d::NStencilFullBin3d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullBin3d::create() { - int i,j,k; + int i, j, k; nstencil = 0; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutneighmaxsq) - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; + if (bin_distance(i, j, k) < cutneighmaxsq) + stencil[nstencil++] = k * mbiny * mbinx + j * mbinx + i; } diff --git a/src/nstencil_full_ghost_bin_2d.cpp b/src/nstencil_full_ghost_bin_2d.cpp index b5a6bac56c..32c4440647 100644 --- a/src/nstencil_full_ghost_bin_2d.cpp +++ b/src/nstencil_full_ghost_bin_2d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -29,16 +28,16 @@ NStencilFullGhostBin2d::NStencilFullGhostBin2d(LAMMPS *lmp) : NStencil(lmp) void NStencilFullGhostBin2d::create() { - int i,j; + int i, j; nstencil = 0; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutneighmaxsq) { + if (bin_distance(i, j, 0) < cutneighmaxsq) { stencilxyz[nstencil][0] = i; stencilxyz[nstencil][1] = j; stencilxyz[nstencil][2] = 0; - stencil[nstencil++] = j*mbinx + i; + stencil[nstencil++] = j * mbinx + i; } } diff --git a/src/nstencil_full_ghost_bin_3d.cpp b/src/nstencil_full_ghost_bin_3d.cpp index 2023495c34..3d43e35e04 100644 --- a/src/nstencil_full_ghost_bin_3d.cpp +++ b/src/nstencil_full_ghost_bin_3d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -29,17 +28,17 @@ NStencilFullGhostBin3d::NStencilFullGhostBin3d(LAMMPS *lmp) : NStencil(lmp) void NStencilFullGhostBin3d::create() { - int i,j,k; + int i, j, k; nstencil = 0; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutneighmaxsq) { + if (bin_distance(i, j, k) < cutneighmaxsq) { stencilxyz[nstencil][0] = i; stencilxyz[nstencil][1] = j; stencilxyz[nstencil][2] = k; - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; + stencil[nstencil++] = k * mbiny * mbinx + j * mbinx + i; } } diff --git a/src/nstencil_full_multi_2d.cpp b/src/nstencil_full_multi_2d.cpp index 52ae88d09e..d6e5fd2a9d 100644 --- a/src/nstencil_full_multi_2d.cpp +++ b/src/nstencil_full_multi_2d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -50,7 +49,6 @@ void NStencilFullMulti2d::create() int n = ncollections; double cutsq; - for (icollection = 0; icollection < n; icollection++) { for (jcollection = 0; jcollection < n; jcollection++) { if (flag_skip_multi[icollection][jcollection]) { @@ -72,8 +70,8 @@ void NStencilFullMulti2d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + if (bin_distance_multi(i, j, 0, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j * mbinx + i; nstencil_multi[icollection][jcollection] = ns; } diff --git a/src/nstencil_full_multi_old_2d.cpp b/src/nstencil_full_multi_old_2d.cpp index d653e1080e..3747e99699 100644 --- a/src/nstencil_full_multi_old_2d.cpp +++ b/src/nstencil_full_multi_old_2d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -27,8 +26,8 @@ NStencilFullMultiOld2d::NStencilFullMultiOld2d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullMultiOld2d::create() { - int i,j,n; - double rsq,typesq; + int i, j, n; + double rsq, typesq; int *s; double *distsq; @@ -40,10 +39,10 @@ void NStencilFullMultiOld2d::create() n = 0; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,0); + rsq = bin_distance(i, j, 0); if (rsq < typesq) { distsq[n] = rsq; - s[n++] = j*mbinx + i; + s[n++] = j * mbinx + i; } } nstencil_multi_old[itype] = n; diff --git a/src/nstencil_full_multi_old_3d.cpp b/src/nstencil_full_multi_old_3d.cpp index 849ee5a9f9..04f10c5362 100644 --- a/src/nstencil_full_multi_old_3d.cpp +++ b/src/nstencil_full_multi_old_3d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -27,8 +26,8 @@ NStencilFullMultiOld3d::NStencilFullMultiOld3d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullMultiOld3d::create() { - int i,j,k,n; - double rsq,typesq; + int i, j, k, n; + double rsq, typesq; int *s; double *distsq; @@ -41,10 +40,10 @@ void NStencilFullMultiOld3d::create() for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,k); + rsq = bin_distance(i, j, k); if (rsq < typesq) { distsq[n] = rsq; - s[n++] = k*mbiny*mbinx + j*mbinx + i; + s[n++] = k * mbiny * mbinx + j * mbinx + i; } } nstencil_multi_old[itype] = n; diff --git a/src/nstencil_half_bin_2d.cpp b/src/nstencil_half_bin_2d.cpp index 004d6a8016..b1ad0237a7 100644 --- a/src/nstencil_half_bin_2d.cpp +++ b/src/nstencil_half_bin_2d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,13 +25,12 @@ NStencilHalfBin2d::NStencilHalfBin2d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilHalfBin2d::create() { - int i,j; + int i, j; nstencil = 0; for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) - if (bin_distance(i,j,0) < cutneighmaxsq) - stencil[nstencil++] = j*mbinx + i; + if (bin_distance(i, j, 0) < cutneighmaxsq) stencil[nstencil++] = j * mbinx + i; } diff --git a/src/nstencil_half_bin_2d_tri.cpp b/src/nstencil_half_bin_2d_tri.cpp index 9f5ace1ed1..7b7ce962a2 100644 --- a/src/nstencil_half_bin_2d_tri.cpp +++ b/src/nstencil_half_bin_2d_tri.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,8 +17,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin2dTri::NStencilHalfBin2dTri(LAMMPS *lmp) : - NStencil(lmp) {} +NStencilHalfBin2dTri::NStencilHalfBin2dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff @@ -27,12 +25,11 @@ NStencilHalfBin2dTri::NStencilHalfBin2dTri(LAMMPS *lmp) : void NStencilHalfBin2dTri::create() { - int i,j; + int i, j; nstencil = 0; for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutneighmaxsq) - stencil[nstencil++] = j*mbinx + i; + if (bin_distance(i, j, 0) < cutneighmaxsq) stencil[nstencil++] = j * mbinx + i; } diff --git a/src/nstencil_half_bin_3d.cpp b/src/nstencil_half_bin_3d.cpp index a8cacdb601..736bf151ee 100644 --- a/src/nstencil_half_bin_3d.cpp +++ b/src/nstencil_half_bin_3d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,7 +25,7 @@ NStencilHalfBin3d::NStencilHalfBin3d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilHalfBin3d::create() { - int i,j,k; + int i, j, k; nstencil = 0; @@ -34,6 +33,6 @@ void NStencilHalfBin3d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (k > 0 || j > 0 || (j == 0 && i > 0)) - if (bin_distance(i,j,k) < cutneighmaxsq) - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; + if (bin_distance(i, j, k) < cutneighmaxsq) + stencil[nstencil++] = k * mbiny * mbinx + j * mbinx + i; } diff --git a/src/nstencil_half_bin_3d_tri.cpp b/src/nstencil_half_bin_3d_tri.cpp index 8d1920ae8c..a5376d0208 100644 --- a/src/nstencil_half_bin_3d_tri.cpp +++ b/src/nstencil_half_bin_3d_tri.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,8 +17,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin3dTri::NStencilHalfBin3dTri(LAMMPS *lmp) : - NStencil(lmp) {} +NStencilHalfBin3dTri::NStencilHalfBin3dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff @@ -27,13 +25,13 @@ NStencilHalfBin3dTri::NStencilHalfBin3dTri(LAMMPS *lmp) : void NStencilHalfBin3dTri::create() { - int i,j,k; + int i, j, k; nstencil = 0; for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutneighmaxsq) - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; + if (bin_distance(i, j, k) < cutneighmaxsq) + stencil[nstencil++] = k * mbiny * mbinx + j * mbinx + i; } diff --git a/src/nstencil_half_multi_old_2d.cpp b/src/nstencil_half_multi_old_2d.cpp index 7a2f5a25e2..b4869b37f4 100644 --- a/src/nstencil_half_multi_old_2d.cpp +++ b/src/nstencil_half_multi_old_2d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,8 +18,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMultiOld2d:: -NStencilHalfMultiOld2d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld2d::NStencilHalfMultiOld2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff @@ -28,8 +26,8 @@ NStencilHalfMultiOld2d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilHalfMultiOld2d::create() { - int i,j,n; - double rsq,typesq; + int i, j, n; + double rsq, typesq; int *s; double *distsq; @@ -42,10 +40,10 @@ void NStencilHalfMultiOld2d::create() for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { - rsq = bin_distance(i,j,0); + rsq = bin_distance(i, j, 0); if (rsq < typesq) { distsq[n] = rsq; - s[n++] = j*mbinx + i; + s[n++] = j * mbinx + i; } } nstencil_multi_old[itype] = n; diff --git a/src/nstencil_half_multi_old_2d_tri.cpp b/src/nstencil_half_multi_old_2d_tri.cpp index 7e5158cc31..e6cf2d311e 100644 --- a/src/nstencil_half_multi_old_2d_tri.cpp +++ b/src/nstencil_half_multi_old_2d_tri.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,8 +18,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMultiOld2dTri:: -NStencilHalfMultiOld2dTri(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld2dTri::NStencilHalfMultiOld2dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff @@ -28,8 +26,8 @@ NStencilHalfMultiOld2dTri(LAMMPS *lmp) : NStencil(lmp) {} void NStencilHalfMultiOld2dTri::create() { - int i,j,n; - double rsq,typesq; + int i, j, n; + double rsq, typesq; int *s; double *distsq; @@ -41,10 +39,10 @@ void NStencilHalfMultiOld2dTri::create() n = 0; for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,0); + rsq = bin_distance(i, j, 0); if (rsq < typesq) { distsq[n] = rsq; - s[n++] = j*mbinx + i; + s[n++] = j * mbinx + i; } } nstencil_multi_old[itype] = n; diff --git a/src/nstencil_half_multi_old_3d.cpp b/src/nstencil_half_multi_old_3d.cpp index cdb22c2d13..ada8c66610 100644 --- a/src/nstencil_half_multi_old_3d.cpp +++ b/src/nstencil_half_multi_old_3d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,8 +18,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMultiOld3d:: -NStencilHalfMultiOld3d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld3d::NStencilHalfMultiOld3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff @@ -28,8 +26,8 @@ NStencilHalfMultiOld3d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilHalfMultiOld3d::create() { - int i,j,k,n; - double rsq,typesq; + int i, j, k, n; + double rsq, typesq; int *s; double *distsq; @@ -43,10 +41,10 @@ void NStencilHalfMultiOld3d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (k > 0 || j > 0 || (j == 0 && i > 0)) { - rsq = bin_distance(i,j,k); + rsq = bin_distance(i, j, k); if (rsq < typesq) { distsq[n] = rsq; - s[n++] = k*mbiny*mbinx + j*mbinx + i; + s[n++] = k * mbiny * mbinx + j * mbinx + i; } } nstencil_multi_old[itype] = n; diff --git a/src/nstencil_half_multi_old_3d_tri.cpp b/src/nstencil_half_multi_old_3d_tri.cpp index 6fb9b6d3d1..c58fe509ef 100644 --- a/src/nstencil_half_multi_old_3d_tri.cpp +++ b/src/nstencil_half_multi_old_3d_tri.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,8 +18,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMultiOld3dTri:: -NStencilHalfMultiOld3dTri(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld3dTri::NStencilHalfMultiOld3dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff @@ -28,8 +26,8 @@ NStencilHalfMultiOld3dTri(LAMMPS *lmp) : NStencil(lmp) {} void NStencilHalfMultiOld3dTri::create() { - int i,j,k,n; - double rsq,typesq; + int i, j, k, n; + double rsq, typesq; int *s; double *distsq; @@ -42,10 +40,10 @@ void NStencilHalfMultiOld3dTri::create() for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,k); + rsq = bin_distance(i, j, k); if (rsq < typesq) { distsq[n] = rsq; - s[n++] = k*mbiny*mbinx + j*mbinx + i; + s[n++] = k * mbiny * mbinx + j * mbinx + i; } } nstencil_multi_old[itype] = n; diff --git a/src/ntopo_bond_all.cpp b/src/ntopo_bond_all.cpp index ab397cab7b..b3cd3011a5 100644 --- a/src/ntopo_bond_all.cpp +++ b/src/ntopo_bond_all.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,14 +14,13 @@ #include "ntopo_bond_all.h" #include "atom.h" -#include "force.h" #include "domain.h" -#include "update.h" +#include "error.h" +#include "force.h" +#include "memory.h" #include "output.h" #include "thermo.h" -#include "memory.h" -#include "error.h" - +#include "update.h" using namespace LAMMPS_NS; @@ -39,7 +37,7 @@ NTopoBondAll::NTopoBondAll(LAMMPS *lmp) : NTopo(lmp) void NTopoBondAll::build() { - int i,m,atom1; + int i, m, atom1; int nlocal = atom->nlocal; int *num_bond = atom->num_bond; @@ -58,16 +56,17 @@ void NTopoBondAll::build() if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,"Bond atoms {} {} missing on " - "proc {} at step {}",tag[i], - bond_atom[i][m],me,update->ntimestep); + error->one(FLERR, + "Bond atoms {} {} missing on " + "proc {} at step {}", + tag[i], bond_atom[i][m], me, update->ntimestep); continue; } - atom1 = domain->closest_image(i,atom1); + atom1 = domain->closest_image(i, atom1); if (newton_bond || i < atom1) { if (nbondlist == maxbond) { maxbond += DELTA; - memory->grow(bondlist,maxbond,3,"neigh_topo:bondlist"); + memory->grow(bondlist, maxbond, 3, "neigh_topo:bondlist"); } bondlist[nbondlist][0] = i; bondlist[nbondlist][1] = atom1; @@ -80,7 +79,6 @@ void NTopoBondAll::build() if (lostbond == Thermo::IGNORE) return; int all; - MPI_Allreduce(&nmissing,&all,1,MPI_INT,MPI_SUM,world); - if (all && (me == 0)) - error->warning(FLERR,"Bond atoms missing at step {}",update->ntimestep); + MPI_Allreduce(&nmissing, &all, 1, MPI_INT, MPI_SUM, world); + if (all && (me == 0)) error->warning(FLERR, "Bond atoms missing at step {}", update->ntimestep); } diff --git a/src/ntopo_bond_partial.cpp b/src/ntopo_bond_partial.cpp index 851703776b..de6d0bf151 100644 --- a/src/ntopo_bond_partial.cpp +++ b/src/ntopo_bond_partial.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,14 +14,13 @@ #include "ntopo_bond_partial.h" #include "atom.h" -#include "force.h" #include "domain.h" -#include "update.h" +#include "error.h" +#include "force.h" +#include "memory.h" #include "output.h" #include "thermo.h" -#include "memory.h" -#include "error.h" - +#include "update.h" using namespace LAMMPS_NS; @@ -39,7 +37,7 @@ NTopoBondPartial::NTopoBondPartial(LAMMPS *lmp) : NTopo(lmp) void NTopoBondPartial::build() { - int i,m,atom1; + int i, m, atom1; int nlocal = atom->nlocal; int *num_bond = atom->num_bond; @@ -59,16 +57,17 @@ void NTopoBondPartial::build() if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,"Bond atoms {} {} missing on " - "proc {} at step {}",tag[i], - bond_atom[i][m],me,update->ntimestep); + error->one(FLERR, + "Bond atoms {} {} missing on " + "proc {} at step {}", + tag[i], bond_atom[i][m], me, update->ntimestep); continue; } - atom1 = domain->closest_image(i,atom1); + atom1 = domain->closest_image(i, atom1); if (newton_bond || i < atom1) { if (nbondlist == maxbond) { maxbond += DELTA; - memory->grow(bondlist,maxbond,3,"neigh_topo:bondlist"); + memory->grow(bondlist, maxbond, 3, "neigh_topo:bondlist"); } bondlist[nbondlist][0] = i; bondlist[nbondlist][1] = atom1; @@ -81,7 +80,6 @@ void NTopoBondPartial::build() if (lostbond == Thermo::IGNORE) return; int all; - MPI_Allreduce(&nmissing,&all,1,MPI_INT,MPI_SUM,world); - if (all && (me == 0)) - error->warning(FLERR,"Bond atoms missing at step {}",update->ntimestep); + MPI_Allreduce(&nmissing, &all, 1, MPI_INT, MPI_SUM, world); + if (all && (me == 0)) error->warning(FLERR, "Bond atoms missing at step {}", update->ntimestep); } diff --git a/src/pair_deprecated.cpp b/src/pair_deprecated.cpp index 691eff124f..cafb0ce7c0 100644 --- a/src/pair_deprecated.cpp +++ b/src/pair_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,11 +17,10 @@ #include "pair_deprecated.h" -#include "pair_hybrid.h" #include "comm.h" -#include "force.h" #include "error.h" - +#include "force.h" +#include "pair_hybrid.h" using namespace LAMMPS_NS; @@ -35,21 +33,21 @@ void PairDeprecated::settings(int, char **) // hybrid substyles are created in PairHybrid::settings(), so when this is // called, our style was just added at the end of the list of substyles - if (utils::strmatch(my_style,"^hybrid")) { + if (utils::strmatch(my_style, "^hybrid")) { auto hybrid = dynamic_cast(force->pair); my_style = hybrid->keywords[hybrid->nstyles]; } if (my_style == "DEPRECATED") { - if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nPair style 'DEPRECATED' is a dummy style\n\n"); + if (lmp->comm->me == 0) utils::logmesg(lmp, "\nPair style 'DEPRECATED' is a dummy style\n\n"); return; } if (my_style == "reax") { if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nPair style 'reax' has been removed from LAMMPS " + utils::logmesg(lmp, + "\nPair style 'reax' has been removed from LAMMPS " "after the 12 December 2018 version\n\n"); } - error->all(FLERR,"This pair style is no longer available"); + error->all(FLERR, "This pair style is no longer available"); } diff --git a/src/pair_table.cpp b/src/pair_table.cpp index aefe9c4c4f..11bd986822 100644 --- a/src/pair_table.cpp +++ b/src/pair_table.cpp @@ -395,20 +395,18 @@ void PairTable::read_table(Table *tb, char *file, char *keyword) union_int_float_t rsq_lookup; int rerror = 0; - int cerror = 0; - reader.skip_line(); for (int i = 0; i < tb->ninput; i++) { - line = reader.next_line(4); - + line = reader.next_line(); try { ValueTokenizer values(line); values.next_int(); rfile = values.next_double(); tb->efile[i] = conversion_factor * values.next_double(); tb->ffile[i] = conversion_factor * values.next_double(); - } catch (TokenizerException &) { - ++cerror; + } catch (TokenizerException &e) { + error->one(FLERR, "Error parsing pair table '{}' line {} of {}. {}\nLine was: {}", keyword, + i + 1, tb->ninput, e.what(), line); } rnew = rfile; @@ -474,14 +472,6 @@ void PairTable::read_table(Table *tb, char *file, char *keyword) "{} of {} distance values in table {} with relative error\n" "WARNING: over {} to re-computed values", rerror, tb->ninput, EPSILONR, keyword); - - // warn if data was read incompletely, e.g. columns were missing - - if (cerror) - error->warning(FLERR, - "{} of {} lines in table {} were incomplete\n" - "WARNING: or could not be parsed completely", - cerror, tb->ninput, keyword); } /* ---------------------------------------------------------------------- diff --git a/src/pair_yukawa.cpp b/src/pair_yukawa.cpp index 620ca294c3..e1190b614f 100644 --- a/src/pair_yukawa.cpp +++ b/src/pair_yukawa.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,14 +13,14 @@ #include "pair_yukawa.h" -#include #include "atom.h" -#include "force.h" #include "comm.h" -#include "neigh_list.h" -#include "memory.h" #include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" +#include using namespace LAMMPS_NS; @@ -53,13 +52,13 @@ PairYukawa::~PairYukawa() void PairYukawa::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; - double rsq,r2inv,r,rinv,screening,forceyukawa,factor; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r2inv, r, rinv, screening, forceyukawa, factor; + int *ilist, *jlist, *numneigh, **firstneigh; evdwl = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); double **x = atom->x; double **f = atom->f; @@ -92,25 +91,25 @@ void PairYukawa::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; r = sqrt(rsq); - rinv = 1.0/r; - screening = exp(-kappa*r); + rinv = 1.0 / r; + screening = exp(-kappa * r); forceyukawa = a[itype][jtype] * screening * (kappa + rinv); - fpair = factor*forceyukawa * r2inv; + fpair = factor * forceyukawa * r2inv; - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; + f[i][0] += delx * fpair; + f[i][1] += dely * fpair; + f[i][2] += delz * fpair; if (newton_pair || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; } if (eflag) { @@ -118,8 +117,7 @@ void PairYukawa::compute(int eflag, int vflag) evdwl *= factor; } - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fpair,delx,dely,delz); + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); } } } @@ -134,18 +132,17 @@ void PairYukawa::compute(int eflag, int vflag) void PairYukawa::allocate() { allocated = 1; - int n = atom->ntypes; + int np1 = atom->ntypes + 1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + memory->create(setflag, np1, np1, "pair:setflag"); + for (int i = 1; i < np1; i++) + for (int j = i; j < np1; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(rad,n+1,"pair:rad"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(a,n+1,n+1,"pair:a"); - memory->create(offset,n+1,n+1,"pair:offset"); + memory->create(cutsq, np1, np1, "pair:cutsq"); + memory->create(rad, np1, "pair:rad"); + memory->create(cut, np1, np1, "pair:cut"); + memory->create(a, np1, np1, "pair:a"); + memory->create(offset, np1, np1, "pair:offset"); } /* ---------------------------------------------------------------------- @@ -154,15 +151,15 @@ void PairYukawa::allocate() void PairYukawa::settings(int narg, char **arg) { - if (narg != 2) error->all(FLERR,"Illegal pair_style command"); + if (narg != 2) error->all(FLERR, "Illegal pair_style command"); - kappa = utils::numeric(FLERR,arg[0],false,lmp); - cut_global = utils::numeric(FLERR,arg[1],false,lmp); + kappa = utils::numeric(FLERR, arg[0], false, lmp); + cut_global = utils::numeric(FLERR, arg[1], false, lmp); // reset cutoffs that have been explicitly set if (allocated) { - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) if (setflag[i][j]) cut[i][j] = cut_global; @@ -175,22 +172,21 @@ void PairYukawa::settings(int narg, char **arg) void PairYukawa::coeff(int narg, char **arg) { - if (narg < 3 || narg > 4) - error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg < 3 || narg > 4) error->all(FLERR, "Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); - double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double a_one = utils::numeric(FLERR, arg[2], false, lmp); double cut_one = cut_global; - if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); + if (narg == 4) cut_one = utils::numeric(FLERR, arg[3], false, lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { a[i][j] = a_one; cut[i][j] = cut_one; setflag[i][j] = 1; @@ -198,7 +194,7 @@ void PairYukawa::coeff(int narg, char **arg) } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -208,14 +204,15 @@ void PairYukawa::coeff(int narg, char **arg) double PairYukawa::init_one(int i, int j) { if (setflag[i][j] == 0) { - a[i][j] = mix_energy(a[i][i],a[j][j],1.0,1.0); - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); + a[i][j] = mix_energy(a[i][i], a[j][j], 1.0, 1.0); + cut[i][j] = mix_distance(cut[i][i], cut[j][j]); } if (offset_flag && (cut[i][j] > 0.0)) { double screening = exp(-kappa * cut[i][j]); offset[i][j] = a[i][j] * screening / cut[i][j]; - } else offset[i][j] = 0.0; + } else + offset[i][j] = 0.0; a[j][i] = a[i][j]; offset[j][i] = offset[i][j]; @@ -231,13 +228,13 @@ void PairYukawa::write_restart(FILE *fp) { write_restart_settings(fp); - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); + fwrite(&setflag[i][j], sizeof(int), 1, fp); if (setflag[i][j]) { - fwrite(&a[i][j],sizeof(double),1,fp); - fwrite(&cut[i][j],sizeof(double),1,fp); + fwrite(&a[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); } } } @@ -252,19 +249,19 @@ void PairYukawa::read_restart(FILE *fp) allocate(); - int i,j; + int i, j; int me = comm->me; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); if (setflag[i][j]) { if (me == 0) { - utils::sfread(FLERR,&a[i][j],sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR, &a[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); } - MPI_Bcast(&a[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&a[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); } } } @@ -275,10 +272,10 @@ void PairYukawa::read_restart(FILE *fp) void PairYukawa::write_restart_settings(FILE *fp) { - fwrite(&kappa,sizeof(double),1,fp); - fwrite(&cut_global,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); + fwrite(&kappa, sizeof(double), 1, fp); + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- @@ -288,15 +285,15 @@ void PairYukawa::write_restart_settings(FILE *fp) void PairYukawa::read_restart_settings(FILE *fp) { if (comm->me == 0) { - utils::sfread(FLERR,&kappa,sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR, &kappa, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); } - MPI_Bcast(&kappa,1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&kappa, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); } /* ---------------------------------------------------------------------- @@ -305,8 +302,7 @@ void PairYukawa::read_restart_settings(FILE *fp) void PairYukawa::write_data(FILE *fp) { - for (int i = 1; i <= atom->ntypes; i++) - fprintf(fp,"%d %g\n",i,a[i][i]); + for (int i = 1; i <= atom->ntypes; i++) fprintf(fp, "%d %g\n", i, a[i][i]); } /* ---------------------------------------------------------------------- @@ -316,25 +312,23 @@ void PairYukawa::write_data(FILE *fp) void PairYukawa::write_data_all(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) - for (int j = i; j <= atom->ntypes; j++) - fprintf(fp,"%d %d %g %g\n",i,j,a[i][j],cut[i][j]); + for (int j = i; j <= atom->ntypes; j++) fprintf(fp, "%d %d %g %g\n", i, j, a[i][j], cut[i][j]); } /* ---------------------------------------------------------------------- */ double PairYukawa::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double /*factor_coul*/, double factor_lj, - double &fforce) + double /*factor_coul*/, double factor_lj, double &fforce) { - double r2inv,r,rinv,screening,forceyukawa,phi; + double r2inv, r, rinv, screening, forceyukawa, phi; - r2inv = 1.0/rsq; + r2inv = 1.0 / rsq; r = sqrt(rsq); - rinv = 1.0/r; - screening = exp(-kappa*r); + rinv = 1.0 / r; + screening = exp(-kappa * r); forceyukawa = a[itype][jtype] * screening * (kappa + rinv); - fforce = factor_lj*forceyukawa * r2inv; + fforce = factor_lj * forceyukawa * r2inv; phi = a[itype][jtype] * screening * rinv - offset[itype][jtype]; - return factor_lj*phi; + return factor_lj * phi; } diff --git a/src/pair_zero.cpp b/src/pair_zero.cpp index 5c229d6b71..83505edd35 100644 --- a/src/pair_zero.cpp +++ b/src/pair_zero.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -20,8 +19,8 @@ #include "atom.h" #include "comm.h" -#include "memory.h" #include "error.h" +#include "memory.h" #include @@ -29,11 +28,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairZero::PairZero(LAMMPS *lmp) : Pair(lmp) { - coeffflag=1; - writedata=1; - single_enable=1; - respa_enable=1; +PairZero::PairZero(LAMMPS *lmp) : Pair(lmp) +{ + coeffflag = 1; + writedata = 1; + single_enable = 1; + respa_enable = 1; } /* ---------------------------------------------------------------------- */ @@ -51,15 +51,15 @@ PairZero::~PairZero() void PairZero::compute(int eflag, int vflag) { - ev_init(eflag,vflag); - if (vflag_fdotr) virial_fdotr_compute(); + ev_init(eflag, vflag); + if (vflag_fdotr) virial_fdotr_compute(); } /* ---------------------------------------------------------------------- */ void PairZero::compute_outer(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); } /* ---------------------------------------------------------------------- @@ -69,15 +69,14 @@ void PairZero::compute_outer(int eflag, int vflag) void PairZero::allocate() { allocated = 1; - int n = atom->ntypes; + int np1 = atom->ntypes + 1; - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; + memory->create(setflag, np1, np1, "pair:setflag"); + for (int i = 1; i < np1; i++) + for (int j = i; j < np1; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); + memory->create(cutsq, np1, np1, "pair:cutsq"); + memory->create(cut, np1, np1, "pair:cut"); } /* ---------------------------------------------------------------------- @@ -86,22 +85,22 @@ void PairZero::allocate() void PairZero::settings(int narg, char **arg) { - if ((narg != 1) && (narg != 2)) - error->all(FLERR,"Illegal pair_style command"); + if ((narg != 1) && (narg != 2)) error->all(FLERR, "Illegal pair_style command"); - cut_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); if (narg == 2) { - if (strcmp("nocoeff",arg[1]) == 0) coeffflag=0; - else error->all(FLERR,"Illegal pair_style command"); + if (strcmp("nocoeff", arg[1]) == 0) + coeffflag = 0; + else + error->all(FLERR, "Illegal pair_style command"); } // reset cutoffs that have been explicitly set if (allocated) { - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - cut[i][j] = cut_global; + for (j = i + 1; j <= atom->ntypes; j++) cut[i][j] = cut_global; } } @@ -112,27 +111,27 @@ void PairZero::settings(int narg, char **arg) void PairZero::coeff(int narg, char **arg) { if ((narg < 2) || (coeffflag && narg > 3)) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR, "Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); double cut_one = cut_global; - if (coeffflag && (narg == 3)) cut_one = utils::numeric(FLERR,arg[2],false,lmp); + if (coeffflag && (narg == 3)) cut_one = utils::numeric(FLERR, arg[2], false, lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { cut[i][j] = cut_one; setflag[i][j] = 1; count++; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -141,9 +140,7 @@ void PairZero::coeff(int narg, char **arg) double PairZero::init_one(int i, int j) { - if (setflag[i][j] == 0) { - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); - } + if (setflag[i][j] == 0) { cut[i][j] = mix_distance(cut[i][i], cut[j][j]); } return cut[i][j]; } @@ -156,13 +153,11 @@ void PairZero::write_restart(FILE *fp) { write_restart_settings(fp); - int i,j; + int i, j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - fwrite(&cut[i][j],sizeof(double),1,fp); - } + fwrite(&setflag[i][j], sizeof(int), 1, fp); + if (setflag[i][j]) { fwrite(&cut[i][j], sizeof(double), 1, fp); } } } @@ -175,17 +170,15 @@ void PairZero::read_restart(FILE *fp) read_restart_settings(fp); allocate(); - int i,j; + int i, j; int me = comm->me; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); if (setflag[i][j]) { - if (me == 0) { - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); - } - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + if (me == 0) { utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); } + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); } } } @@ -196,8 +189,8 @@ void PairZero::read_restart(FILE *fp) void PairZero::write_restart_settings(FILE *fp) { - fwrite(&cut_global,sizeof(double),1,fp); - fwrite(&coeffflag,sizeof(int),1,fp); + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&coeffflag, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- @@ -208,11 +201,11 @@ void PairZero::read_restart_settings(FILE *fp) { int me = comm->me; if (me == 0) { - utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&coeffflag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &coeffflag, sizeof(int), 1, fp, nullptr, error); } - MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&coeffflag,1,MPI_INT,0,world); + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&coeffflag, 1, MPI_INT, 0, world); } /* ---------------------------------------------------------------------- @@ -221,8 +214,7 @@ void PairZero::read_restart_settings(FILE *fp) void PairZero::write_data(FILE *fp) { - for (int i = 1; i <= atom->ntypes; i++) - fprintf(fp,"%d\n",i); + for (int i = 1; i <= atom->ntypes; i++) fprintf(fp, "%d\n", i); } /* ---------------------------------------------------------------------- @@ -232,17 +224,14 @@ void PairZero::write_data(FILE *fp) void PairZero::write_data_all(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) - for (int j = i; j <= atom->ntypes; j++) - fprintf(fp,"%d %d %g\n",i,j,cut[i][j]); + for (int j = i; j <= atom->ntypes; j++) fprintf(fp, "%d %d %g\n", i, j, cut[i][j]); } /* ---------------------------------------------------------------------- */ -double PairZero::single(int /*i*/, int /*j*/, int /* itype */, int /* jtype */, - double /* rsq */, double /*factor_coul*/, - double /* factor_lj */, double &fforce) +double PairZero::single(int /*i*/, int /*j*/, int /* itype */, int /* jtype */, double /* rsq */, + double /*factor_coul*/, double /* factor_lj */, double &fforce) { fforce = 0.0; return 0.0; } - diff --git a/src/platform.cpp b/src/platform.cpp index 907b4ef677..667481b94d 100644 --- a/src/platform.cpp +++ b/src/platform.cpp @@ -186,13 +186,63 @@ std::string platform::os_info() char value[1024]; DWORD value_length = 1024; const char *subkey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"; - const char *entry = "ProductName"; + const char *entry = "CurrentBuild"; RegGetValue(HKEY_LOCAL_MACHINE, subkey, entry, RRF_RT_REG_SZ, nullptr, &value, (LPDWORD) &value_length); // enforce zero termination value[1023] = '\0'; - buf = value; + auto build = std::string(value); + if (build == "6002") { + buf = "Windows Vista"; + } else if (build == "6003") { + buf = "Windows Server 2008"; + } else if (build == "7601") { + buf = "Windows 7"; + } else if (build == "9200") { + buf = "Windows 8"; + } else if (build == "9600") { + buf = "Windows 8.1"; + } else if (build == "10240") { + buf = "Windows 10 1507"; + } else if (build == "10586") { + buf = "Windows 10 1511"; + } else if (build == "14393") { + buf = "Windows 10 1607"; + } else if (build == "15063") { + buf = "Windows 10 1703"; + } else if (build == "16299") { + buf = "Windows 10 1709"; + } else if (build == "17134") { + buf = "Windows 10 1803"; + } else if (build == "17763") { + buf = "Windows 10 1809"; + } else if (build == "18362") { + buf = "Windows 10 1903"; + } else if (build == "18363") { + buf = "Windows 10 1909"; + } else if (build == "19041") { + buf = "Windows 10 2004"; + } else if (build == "19042") { + buf = "Windows 10 20H2"; + } else if (build == "19043") { + buf = "Windows 10 21H1"; + } else if (build == "19044") { + buf = "Windows 10 21H2"; + } else if (build == "20348") { + buf = "Windows Server 2022"; + } else if (build == "22000") { + buf = "Windows 11 21H2"; + } else if (build == "22621") { + buf = "Windows 11 22H2"; + } else { + const char *entry = "ProductName"; + RegGetValue(HKEY_LOCAL_MACHINE, subkey, entry, RRF_RT_REG_SZ, nullptr, &value, + (LPDWORD) &value_length); + // enforce zero termination + value[1023] = '\0'; + buf = value; + } DWORD fullversion, majorv, minorv, buildv = 0; fullversion = GetVersion(); majorv = (DWORD) (LOBYTE(LOWORD(fullversion))); @@ -303,11 +353,18 @@ std::string platform::compiler_info() __MINGW32_MINOR_VERSION, __VERSION__); #elif defined(__GNUC__) buf = fmt::format("GNU C++ {}", __VERSION__); -#elif defined(_MSC_VER) && (_MSC_VER > 1920) && (_MSC_VER < 2000) +#elif defined(_MSC_VER) && (_MSC_VER >= 1920) && (_MSC_VER < 1930) constexpr int major = _MSC_VER / 100; constexpr int minor = _MSC_VER - major * 100; - buf = "Microsoft Visual Studio 20" + std::to_string(major) + ", C/C++ " + - std::to_string(major - 5) + "." + std::to_string(minor); + constexpr int patch = minor - 20; + buf = fmt::format("Microsoft Visual Studio 2019 Version 16.{}, C/C++ {}.{}", patch, major - 5, + minor); +#elif defined(_MSC_VER) && (_MSC_VER >= 1930) && (_MSC_VER < 2000) + constexpr int major = _MSC_VER / 100; + constexpr int minor = _MSC_VER - major * 100; + constexpr int patch = minor - 30; + buf = fmt::format("Microsoft Visual Studio 2022 Version 17.{}, C/C++ {}.{}", patch, major - 5, + minor); #else buf = "(Unknown)"; #endif diff --git a/src/read_data.cpp b/src/read_data.cpp index b77394bcb3..bc19a7f2ad 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -313,11 +313,9 @@ void ReadData::command(int narg, char **arg) error->all(FLERR,"Reading a data file with shrinkwrap boundaries is " "not compatible with a MSM KSpace style"); if (domain->box_exist && !addflag) - error->all(FLERR,"Cannot read_data without add keyword " - "after simulation box is defined"); + error->all(FLERR,"Cannot read_data without add keyword after simulation box is defined"); if (!domain->box_exist && addflag) - error->all(FLERR,"Cannot use read_data add before " - "simulation box is defined"); + error->all(FLERR,"Cannot use read_data add before simulation box is defined"); if (offsetflag && addflag == NONE) error->all(FLERR,"Cannot use read_data offset without add flag"); if (shiftflag && addflag == NONE) @@ -330,8 +328,7 @@ void ReadData::command(int narg, char **arg) // check if data file is available and readable if (!platform::file_is_readable(arg[0])) - error->all(FLERR,fmt::format("Cannot open file {}: {}", - arg[0], utils::getsyserror())); + error->all(FLERR,fmt::format("Cannot open file {}: {}", arg[0], utils::getsyserror())); // reset so we can warn about reset image flags exactly once per data file diff --git a/src/reader.cpp b/src/reader.cpp index eb8cd9ffb6..c7b99260e7 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -41,19 +40,19 @@ void Reader::open_file(const std::string &file) if (platform::has_compress_extension(file)) { compressed = true; fp = platform::compressed_read(file); - if (!fp) error->one(FLERR,"Cannot open compressed file for reading"); + if (!fp) error->one(FLERR, "Cannot open compressed file for reading"); } else { compressed = false; if (utils::strmatch(file, "\\.bin$")) { binary = true; - fp = fopen(file.c_str(),"rb"); + fp = fopen(file.c_str(), "rb"); } else { - fp = fopen(file.c_str(),"r"); + fp = fopen(file.c_str(), "r"); binary = false; } } - if (!fp) error->one(FLERR,"Cannot open file {}: {}", file, utils::getsyserror()); + if (!fp) error->one(FLERR, "Cannot open file {}: {}", file, utils::getsyserror()); } /* ---------------------------------------------------------------------- @@ -64,8 +63,10 @@ void Reader::open_file(const std::string &file) void Reader::close_file() { if (fp == nullptr) return; - if (compressed) platform::pclose(fp); - else fclose(fp); + if (compressed) + platform::pclose(fp); + else + fclose(fp); fp = nullptr; } @@ -73,8 +74,7 @@ void Reader::close_file() detect unused arguments ------------------------------------------------------------------------- */ -void Reader::settings(int narg, char** /*args*/) +void Reader::settings(int narg, char ** /*args*/) { - if (narg > 0) - error->all(FLERR,"Illegal read_dump command"); + if (narg > 0) error->all(FLERR, "Illegal read_dump command"); } diff --git a/src/region_deprecated.cpp b/src/region_deprecated.cpp index e6d81fdc44..bc59d77259 100644 --- a/src/region_deprecated.cpp +++ b/src/region_deprecated.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -17,20 +16,17 @@ #include "comm.h" #include "error.h" - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -RegionDeprecated::RegionDeprecated(LAMMPS *lmp, int narg, char **arg) : - Region(lmp, narg, arg) +RegionDeprecated::RegionDeprecated(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) { std::string my_style = style; if (my_style == "DEPRECATED") { - if (lmp->comm->me == 0) - utils::logmesg(lmp,"\nRegion style 'DEPRECATED' is a dummy style\n\n"); + if (lmp->comm->me == 0) utils::logmesg(lmp, "\nRegion style 'DEPRECATED' is a dummy style\n\n"); return; } - error->all(FLERR,"This region style is no longer available"); + error->all(FLERR, "This region style is no longer available"); } diff --git a/src/rerun.cpp b/src/rerun.cpp index b788cfcaec..f0048a3ce2 100644 --- a/src/rerun.cpp +++ b/src/rerun.cpp @@ -165,6 +165,7 @@ void Rerun::command(int narg, char **arg) modify->init(); update->integrate->setup_minimal(1); modify->end_of_step(); + output->next_dump_any = ntimestep; if (firstflag) output->setup(); else if (output->next) output->write(ntimestep); diff --git a/src/write_dump.cpp b/src/write_dump.cpp index e9f610fe31..2ce28f01e4 100644 --- a/src/write_dump.cpp +++ b/src/write_dump.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -34,41 +33,39 @@ using namespace LAMMPS_NS; void WriteDump::command(int narg, char **arg) { - if (narg < 3) error->all(FLERR,"Illegal write_dump command"); + if (narg < 3) error->all(FLERR, "Illegal write_dump command"); // modindex = index in args of "modify" keyword // will be narg if "modify" is not present int modindex; for (modindex = 0; modindex < narg; modindex++) - if (strcmp(arg[modindex],"modify") == 0) break; + if (strcmp(arg[modindex], "modify") == 0) break; // create the Dump instance // create dump command line with extra required args - auto dumpargs = new char*[modindex+2]; - dumpargs[0] = (char *) "WRITE_DUMP"; // dump id - dumpargs[1] = arg[0]; // group - dumpargs[2] = arg[1]; // dump style - std::string ntimestep = std::to_string(MAX(update->ntimestep,1)); - dumpargs[3] = (char *) ntimestep.c_str(); // dump frequency + auto dumpargs = new char *[modindex + 2]; + dumpargs[0] = (char *) "WRITE_DUMP"; // dump id + dumpargs[1] = arg[0]; // group + dumpargs[2] = arg[1]; // dump style + std::string ntimestep = std::to_string(MAX(update->ntimestep, 1)); + dumpargs[3] = (char *) ntimestep.c_str(); // dump frequency - for (int i = 2; i < modindex; ++i) dumpargs[i+2] = arg[i]; + for (int i = 2; i < modindex; ++i) dumpargs[i + 2] = arg[i]; - Dump *dump = output->add_dump(modindex+2, dumpargs); - if (modindex < narg) dump->modify_params(narg-modindex-1,&arg[modindex+1]); + Dump *dump = output->add_dump(modindex + 2, dumpargs); + if (modindex < narg) dump->modify_params(narg - modindex - 1, &arg[modindex + 1]); // write out one frame and then delete the dump again // set multifile_override for DumpImage so that filename needs no "*" - if (strcmp(arg[1],"image") == 0) - (dynamic_cast( dump))->multifile_override = 1; + if (strcmp(arg[1], "image") == 0) (dynamic_cast(dump))->multifile_override = 1; - if (strcmp(arg[1],"cfg") == 0) - (dynamic_cast( dump))->multifile_override = 1; + if (strcmp(arg[1], "cfg") == 0) (dynamic_cast(dump))->multifile_override = 1; if ((update->first_update == 0) && (comm->me == 0)) - error->warning(FLERR,"Calling write_dump before a full system init."); + error->warning(FLERR, "Calling write_dump before a full system init."); dump->init(); dump->write(); diff --git a/tools/singularity/ubuntu22.04.def b/tools/singularity/ubuntu22.04.def index cf4aa7e175..62a24e81f3 100644 --- a/tools/singularity/ubuntu22.04.def +++ b/tools/singularity/ubuntu22.04.def @@ -4,8 +4,8 @@ From: ubuntu:22.04 %post export DEBIAN_FRONTEND=noninteractive apt-get update - apt-get install --no-install-recommends -y software-properties-common -# add-apt-repository ppa:openkim/latest + apt-get install --no-install-recommends -y software-properties-common gpg gpg-agent + add-apt-repository ppa:openkim/latest apt-get update apt-get upgrade --no-install-recommends -y apt-get install --no-install-recommends -y \ @@ -74,29 +74,28 @@ From: ubuntu:22.04 zstd \ libyaml-cpp-dev \ libkim-api-dev \ - gpg-agent \ -# openkim-models + openkim-models -# ########################################################################### -# # KIM-API -# ########################################################################### -# -# # workaround for installing files in /usr/share/doc inside of a container -# sed -i 's/path-exclude=\/usr\/share\/doc/#path-exclude=\/usr\/share\/doc/g' /etc/dpkg/dpkg.cfg.d/excludes -# apt-get install -y libkim-api-doc -# sed -i 's/#path-exclude=\/usr\/share\/doc/path-exclude=\/usr\/share\/doc/g' /etc/dpkg/dpkg.cfg.d/excludes -# -# # install KIM models -# KIM_API_EXAMPLES=/usr/share/doc/libkim-api-dev/examples + ########################################################################### + # KIM-API + ########################################################################### + + # workaround for installing files in /usr/share/doc inside of a container + sed -i 's/path-exclude=\/usr\/share\/doc/#path-exclude=\/usr\/share\/doc/g' /etc/dpkg/dpkg.cfg.d/excludes + apt-get install -y libkim-api-doc + sed -i 's/#path-exclude=\/usr\/share\/doc/path-exclude=\/usr\/share\/doc/g' /etc/dpkg/dpkg.cfg.d/excludes + + # install KIM models + KIM_API_EXAMPLES=/usr/share/doc/libkim-api-dev/examples # gunzip $KIM_API_EXAMPLES/portable-models/LennardJones612_UniversalShifted__MO_959249795837_003/LennardJones612_UniversalShifted.params.gz # gunzip $KIM_API_EXAMPLES/model-drivers/ex_model_driver_P_LJ/ex_model_driver_P_LJ.f90.gz -# -# kim-api-collections-management install system $KIM_API_EXAMPLES/model-drivers/LennardJones612__MD_414112407348_003 -# kim-api-collections-management install system $KIM_API_EXAMPLES/model-drivers/ex_model_driver_P_LJ -# kim-api-collections-management install system $KIM_API_EXAMPLES/portable-models/LennardJones_Ar -# kim-api-collections-management install system $KIM_API_EXAMPLES/portable-models/ex_model_Ar_P_LJ -# kim-api-collections-management install system $KIM_API_EXAMPLES/portable-models/LennardJones612_UniversalShifted__MO_959249795837_003 -# kim-api-collections-management install system $KIM_API_EXAMPLES/simulator-models/Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu + + kim-api-collections-management install system $KIM_API_EXAMPLES/model-drivers/LennardJones612__MD_414112407348_003 + kim-api-collections-management install system $KIM_API_EXAMPLES/model-drivers/ex_model_driver_P_LJ + kim-api-collections-management install system $KIM_API_EXAMPLES/portable-models/LennardJones_Ar + kim-api-collections-management install system $KIM_API_EXAMPLES/portable-models/ex_model_Ar_P_LJ + kim-api-collections-management install system $KIM_API_EXAMPLES/portable-models/LennardJones612_UniversalShifted__MO_959249795837_003 + kim-api-collections-management install system $KIM_API_EXAMPLES/simulator-models/Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu ########################################################################### diff --git a/unittest/force-styles/tests/manybody-pair-bop.yaml b/unittest/force-styles/tests/manybody-pair-bop.yaml index f809a2db66..28a7acb198 100644 --- a/unittest/force-styles/tests/manybody-pair-bop.yaml +++ b/unittest/force-styles/tests/manybody-pair-bop.yaml @@ -1,7 +1,7 @@ --- -lammps_version: 8 Apr 2021 +lammps_version: 4 May 2022 tags: slow, unstable -date_generated: Wed May 5 11:50:15 2021 +date_generated: Fri May 27 17:36:36 2022 epsilon: 5e-12 prerequisites: ! | pair bop @@ -535,521 +535,521 @@ init_forces: ! |2 510 -3.4726171480710488e+00 5.2740849860611352e+00 -2.8158025166462988e+00 511 9.0442915573980152e+00 -1.4095415165544551e+00 -3.3538829159648067e+00 512 5.7753579505879529e+00 5.6893699296338545e+00 6.1188593723557538e+00 -run_vdwl: -228.0857232848286 +run_vdwl: -227.61849029256774 run_coul: 0 run_stress: ! |2- - 2.3717664948296933e+03 2.4019359900230493e+03 2.4442550920472167e+03 -1.1171763120435550e+02 5.0043476869247547e+02 6.0439649265925254e+01 + 2.3726345230237625e+03 2.4028091143998217e+03 2.4451861002359515e+03 -1.1183772133730268e+02 5.0092092646568466e+02 6.0406121385816192e+01 run_forces: ! |2 - 1 1.4091839800546253e+00 1.7360548678936558e+00 -1.6202615165179715e+00 - 2 -5.8365574626504397e+00 -1.1219252071695536e+00 -1.1485581230473687e+00 - 3 8.7637315082564093e-01 3.3462961780072593e+00 -8.1354040756307189e-01 - 4 1.6600848436445121e+00 1.3250424500391154e+00 -4.9591553993549979e+00 - 5 -9.4927377308725691e-01 -5.8207744490732232e+00 6.4663694433556507e-01 - 6 -4.5177611467364664e-01 4.9415963080206229e+00 1.9433161156269956e+00 - 7 -4.3027400171982393e+00 -4.5613754557341322e+00 1.5699407701143435e+00 - 8 1.5448724473390376e+00 2.4584923079749230e+00 -3.1392452600363878e+00 - 9 -4.6016718693843153e+00 -3.9418857354937766e+00 -4.6668302285853835e+00 - 10 3.7018520600616955e-01 -4.8332896704450473e-01 -3.6854125040532786e+00 - 11 3.8659815227919547e+00 -7.4539979597211152e+00 2.6942416612670450e+00 - 12 -5.6142785099940076e+00 -6.2018561025018917e+00 -6.7409137682125495e+00 - 13 3.3341288429707544e-02 7.0519544225452178e+00 -2.0938812825267012e+00 - 14 -2.3615309773794069e+00 5.8104716217346990e+00 9.3010131683171504e-01 - 15 -2.6654393381699402e+00 7.5481721396936594e+00 -4.8904771244982825e+00 - 16 2.6741244163087328e+00 -5.1059307299887957e-01 7.8828856576674111e+00 - 17 5.6945314250833210e+00 4.7236054837728565e+00 -4.4884300671396336e+00 - 18 -4.9761430158760209e+00 4.0936541714453316e+00 3.2051110415901922e+00 - 19 -1.6198356152349742e+00 -4.2596509866650072e+00 -9.7002992061957471e-01 - 20 -5.1699166766819040e+00 5.8976607613037011e+00 5.9849768421212906e+00 - 21 4.2290116365363856e-01 -1.5086464242159887e+00 -7.5078846485188153e+00 - 22 -8.4609751614699586e+00 5.8493355421305973e+00 -5.7089940793026637e+00 - 23 3.4912598028285822e+00 5.3853907974679593e+00 1.6584479527211395e+00 - 24 1.8362372044284656e-01 -4.7948186173622354e-01 -2.0243825542595988e+00 - 25 1.2730663338573691e+00 -1.9548047760834759e+00 4.6007887784914328e+00 - 26 -8.1062754396295733e-01 9.5001973866788880e-01 1.5848621098705411e+00 - 27 2.9207013772019144e+00 -2.0240243823080113e+00 2.7543470586622281e+00 - 28 -1.9402618680197214e+00 7.6549971705972641e-01 9.6946223555320525e+00 - 29 -3.0268260302352505e+00 3.3951011598221985e+00 -6.0757634768923703e+00 - 30 -1.9700043289182680e+00 2.6914206295193162e+00 -1.5061070030578796e+00 - 31 2.8594848783134941e+00 6.6367269634963255e-01 9.9964131902303999e-01 - 32 -1.2590521565572954e+00 -1.6706345370948841e+00 1.4597870772587420e+00 - 33 5.2588945057830436e+00 -6.0464310077477723e+00 6.8597153738814773e+00 - 34 2.8448145000609104e+00 5.6236407582631842e-01 -4.0638613838727838e-01 - 35 2.7571144480951317e+00 -5.8841374694732007e+00 2.6747482982066044e+00 - 36 -1.9192646875023509e-01 -2.6023930451114428e+00 -1.5640119155534091e-01 - 37 -5.4277214420897915e+00 3.1852614984002408e+00 -2.4472993211497069e+00 - 38 -4.8829690006288995e-01 -2.0914391804220553e+00 1.0262204003397455e+00 - 39 2.9502456290286450e-01 1.3059788537887589e+00 1.7852903388433070e+00 - 40 6.5687025583215677e+00 -3.2783217210449340e+00 -2.4974953961406459e+00 - 41 -7.4527219588534566e-01 -3.7773273742840128e+00 -3.6783380789496833e-01 - 42 -6.1270209507454068e+00 -1.5901032532179344e+00 -1.1669470951126529e-01 - 43 -7.0828155566329834e-02 -9.2972356408781369e+00 5.2769209282642726e-01 - 44 5.4887681221692448e+00 -3.9815332474492124e+00 1.7266076926660758e+00 - 45 -1.9921597783097496e+00 1.3642870044413555e+00 -4.6177186619298967e+00 - 46 -6.8118072835900800e-01 -2.7253513128249764e+00 7.9371605940428696e+00 - 47 3.2952236042706704e+00 2.5414480916905644e+00 6.4494852848836288e+00 - 48 2.9835802286197355e+00 1.1522845567074034e+00 -1.1774469162360268e+00 - 49 -6.0679352021219888e+00 -5.9494385654760693e+00 -6.5551986540445517e+00 - 50 -4.0299132290613233e+00 2.1291409567037674e+00 2.7727907241961174e+00 - 51 -2.3315178667160565e+00 3.2375780159414047e+00 6.0916752443950006e+00 - 52 6.6009431885726491e+00 -4.7168574935074661e+00 7.0071311712598190e+00 - 53 3.4640998460185974e+00 4.1341203040088157e+00 2.5043659364606916e+00 - 54 4.2313664783554278e-01 9.2836044096516734e-01 2.5711772833601865e-01 - 55 6.8701154820027910e-01 -4.3825288825994662e+00 -4.6893514588412790e+00 - 56 -1.6845639332386897e+00 3.5356453384345543e+00 -1.8031520110784989e+00 - 57 4.3948311874190343e-01 -2.8873991420822103e+00 -5.7260145606027968e-01 - 58 3.7547819930218109e+00 5.5227522115963879e-01 1.0948274788664087e+00 - 59 4.8388625830553575e+00 8.6992010344280346e-01 -2.9595243733787004e+00 - 60 -3.0285031145622288e+00 -5.5670095107571873e+00 -3.9776832268195546e+00 - 61 -1.4978080653463104e+00 3.0694094674274295e+00 -1.9187559852475968e+00 - 62 -3.4577019435275798e+00 5.2617491012301256e+00 -2.8027640497219033e+00 - 63 9.0406901956571506e+00 -1.4351168204017049e+00 -3.3870294281189954e+00 - 64 5.8184132257283601e+00 5.7423395615017503e+00 6.1686687899852943e+00 - 65 1.4091839800546091e+00 1.7360548678936276e+00 -1.6202615165179453e+00 - 66 -5.8365574626504042e+00 -1.1219252071695365e+00 -1.1485581230473523e+00 - 67 8.7637315082562395e-01 3.3462961780072549e+00 -8.1354040756305013e-01 - 68 1.6600848436444982e+00 1.3250424500390969e+00 -4.9591553993550184e+00 - 69 -9.4927377308727079e-01 -5.8207744490732196e+00 6.4663694433557561e-01 - 70 -4.5177611467371359e-01 4.9415963080206087e+00 1.9433161156269700e+00 - 71 -4.3027400171981860e+00 -4.5613754557341313e+00 1.5699407701143309e+00 - 72 1.5448724473390880e+00 2.4584923079749119e+00 -3.1392452600363598e+00 - 73 -4.6016718693843179e+00 -3.9418857354937904e+00 -4.6668302285853933e+00 - 74 3.7018520600611565e-01 -4.8332896704455658e-01 -3.6854125040533190e+00 - 75 3.8659815227919081e+00 -7.4539979597211170e+00 2.6942416612669851e+00 - 76 -5.6142785099940484e+00 -6.2018561025019636e+00 -6.7409137682126188e+00 - 77 3.3341288429698641e-02 7.0519544225452115e+00 -2.0938812825266471e+00 - 78 -2.3615309773793371e+00 5.8104716217347496e+00 9.3010131683171282e-01 - 79 -2.6654393381699286e+00 7.5481721396937189e+00 -4.8904771244982861e+00 - 80 2.6741244163088513e+00 -5.1059307299879653e-01 7.8828856576673925e+00 - 81 5.6945314250833485e+00 4.7236054837729018e+00 -4.4884300671396673e+00 - 82 -4.9761430158760085e+00 4.0936541714453112e+00 3.2051110415901745e+00 - 83 -1.6198356152349553e+00 -4.2596509866650010e+00 -9.7002992061954396e-01 - 84 -5.1699166766819218e+00 5.8976607613037313e+00 5.9849768421213101e+00 - 85 4.2290116365360830e-01 -1.5086464242159534e+00 -7.5078846485188153e+00 - 86 -8.4609751614699515e+00 5.8493355421306115e+00 -5.7089940793026734e+00 - 87 3.4912598028285755e+00 5.3853907974679567e+00 1.6584479527211322e+00 - 88 1.8362372044284120e-01 -4.7948186173621893e-01 -2.0243825542596210e+00 - 89 1.2730663338573700e+00 -1.9548047760834715e+00 4.6007887784914239e+00 - 90 -8.1062754396290859e-01 9.5001973866786249e-01 1.5848621098705404e+00 - 91 2.9207013772017723e+00 -2.0240243823080144e+00 2.7543470586622449e+00 - 92 -1.9402618680196801e+00 7.6549971705967934e-01 9.6946223555319726e+00 - 93 -3.0268260302352554e+00 3.3951011598221945e+00 -6.0757634768923277e+00 - 94 -1.9700043289182931e+00 2.6914206295193250e+00 -1.5061070030579018e+00 - 95 2.8594848783135531e+00 6.6367269634966275e-01 9.9964131902307751e-01 - 96 -1.2590521565573098e+00 -1.6706345370949101e+00 1.4597870772587667e+00 - 97 5.2588945057830268e+00 -6.0464310077477323e+00 6.8597153738814338e+00 - 98 2.8448145000609459e+00 5.6236407582631776e-01 -4.0638613838727583e-01 - 99 2.7571144480951344e+00 -5.8841374694732096e+00 2.6747482982066115e+00 - 100 -1.9192646875021221e-01 -2.6023930451114299e+00 -1.5640119155531357e-01 - 101 -5.4277214420898057e+00 3.1852614984002399e+00 -2.4472993211497096e+00 - 102 -4.8829690006288684e-01 -2.0914391804220518e+00 1.0262204003397439e+00 - 103 2.9502456290286061e-01 1.3059788537887580e+00 1.7852903388433101e+00 - 104 6.5687025583215517e+00 -3.2783217210449567e+00 -2.4974953961406721e+00 - 105 -7.4527219588536497e-01 -3.7773273742839950e+00 -3.6783380789499104e-01 - 106 -6.1270209507453357e+00 -1.5901032532179249e+00 -1.1669470951123816e-01 - 107 -7.0828155566327294e-02 -9.2972356408781422e+00 5.2769209282642626e-01 - 108 5.4887681221692626e+00 -3.9815332474491845e+00 1.7266076926660832e+00 - 109 -1.9921597783097735e+00 1.3642870044413722e+00 -4.6177186619298798e+00 - 110 -6.8118072835906096e-01 -2.7253513128250360e+00 7.9371605940428580e+00 - 111 3.2952236042706859e+00 2.5414480916905875e+00 6.4494852848836022e+00 - 112 2.9835802286197390e+00 1.1522845567073714e+00 -1.1774469162360239e+00 - 113 -6.0679352021219684e+00 -5.9494385654760613e+00 -6.5551986540445384e+00 - 114 -4.0299132290613144e+00 2.1291409567037727e+00 2.7727907241961218e+00 - 115 -2.3315178667161041e+00 3.2375780159414287e+00 6.0916752443949900e+00 - 116 6.6009431885726535e+00 -4.7168574935074643e+00 7.0071311712598208e+00 - 117 3.4640998460186023e+00 4.1341203040087846e+00 2.5043659364606894e+00 - 118 4.2313664783553978e-01 9.2836044096515802e-01 2.5711772833601421e-01 - 119 6.8701154820031629e-01 -4.3825288825994786e+00 -4.6893514588413003e+00 - 120 -1.6845639332386861e+00 3.5356453384345410e+00 -1.8031520110784927e+00 - 121 4.3948311874188917e-01 -2.8873991420822134e+00 -5.7260145606029789e-01 - 122 3.7547819930217514e+00 5.5227522115965222e-01 1.0948274788664214e+00 - 123 4.8388625830553638e+00 8.6992010344286652e-01 -2.9595243733787253e+00 - 124 -3.0285031145622474e+00 -5.5670095107572228e+00 -3.9776832268195599e+00 - 125 -1.4978080653462371e+00 3.0694094674273988e+00 -1.9187559852475717e+00 - 126 -3.4577019435275544e+00 5.2617491012301194e+00 -2.8027640497218846e+00 - 127 9.0406901956570831e+00 -1.4351168204016738e+00 -3.3870294281189564e+00 - 128 5.8184132257283823e+00 5.7423395615017734e+00 6.1686687899853228e+00 - 129 1.4091839800546262e+00 1.7360548678936576e+00 -1.6202615165179723e+00 - 130 -5.8365574626504797e+00 -1.1219252071695895e+00 -1.1485581230474180e+00 - 131 8.7637315082564471e-01 3.3462961780072598e+00 -8.1354040756308077e-01 - 132 1.6600848436445128e+00 1.3250424500391194e+00 -4.9591553993550068e+00 - 133 -9.4927377308727179e-01 -5.8207744490732294e+00 6.4663694433557239e-01 - 134 -4.5177611467362117e-01 4.9415963080207082e+00 1.9433161156270105e+00 - 135 -4.3027400171982793e+00 -4.5613754557341561e+00 1.5699407701143815e+00 - 136 1.5448724473390563e+00 2.4584923079749159e+00 -3.1392452600363714e+00 - 137 -4.6016718693843144e+00 -3.9418857354937753e+00 -4.6668302285853827e+00 - 138 3.7018520600622984e-01 -4.8332896704440742e-01 -3.6854125040532595e+00 - 139 3.8659815227919525e+00 -7.4539979597211019e+00 2.6942416612670450e+00 - 140 -5.6142785099939303e+00 -6.2018561025018357e+00 -6.7409137682124802e+00 - 141 3.3341288429728076e-02 7.0519544225451920e+00 -2.0938812825267035e+00 - 142 -2.3615309773794757e+00 5.8104716217346404e+00 9.3010131683171671e-01 - 143 -2.6654393381699402e+00 7.5481721396936461e+00 -4.8904771244982834e+00 - 144 2.6741244163086333e+00 -5.1059307299897860e-01 7.8828856576673560e+00 - 145 5.6945314250833707e+00 4.7236054837728840e+00 -4.4884300671396726e+00 - 146 -4.9761430158760191e+00 4.0936541714453032e+00 3.2051110415901620e+00 - 147 -1.6198356152349958e+00 -4.2596509866650010e+00 -9.7002992061956783e-01 - 148 -5.1699166766818863e+00 5.8976607613036949e+00 5.9849768421212746e+00 - 149 4.2290116365364921e-01 -1.5086464242159900e+00 -7.5078846485187789e+00 - 150 -8.4609751614698947e+00 5.8493355421305795e+00 -5.7089940793025864e+00 - 151 3.4912598028285577e+00 5.3853907974679300e+00 1.6584479527210887e+00 - 152 1.8362372044285138e-01 -4.7948186173622748e-01 -2.0243825542596010e+00 - 153 1.2730663338573589e+00 -1.9548047760834706e+00 4.6007887784914407e+00 - 154 -8.1062754396295622e-01 9.5001973866790146e-01 1.5848621098705276e+00 - 155 2.9207013772019210e+00 -2.0240243823079465e+00 2.7543470586622285e+00 - 156 -1.9402618680196846e+00 7.6549971705969444e-01 9.6946223555320881e+00 - 157 -3.0268260302352421e+00 3.3951011598221883e+00 -6.0757634768923596e+00 - 158 -1.9700043289182823e+00 2.6914206295193281e+00 -1.5061070030578914e+00 - 159 2.8594848783134799e+00 6.6367269634961612e-01 9.9964131902302389e-01 - 160 -1.2590521565572945e+00 -1.6706345370948830e+00 1.4597870772587422e+00 - 161 5.2588945057830347e+00 -6.0464310077477634e+00 6.8597153738814649e+00 - 162 2.8448145000609006e+00 5.6236407582631753e-01 -4.0638613838727305e-01 - 163 2.7571144480951171e+00 -5.8841374694731856e+00 2.6747482982065893e+00 - 164 -1.9192646875022240e-01 -2.6023930451114894e+00 -1.5640119155535331e-01 - 165 -5.4277214420897808e+00 3.1852614984002225e+00 -2.4472993211496825e+00 - 166 -4.8829690006287696e-01 -2.0914391804220371e+00 1.0262204003397262e+00 - 167 2.9502456290285922e-01 1.3059788537887549e+00 1.7852903388433095e+00 - 168 6.5687025583215606e+00 -3.2783217210448306e+00 -2.4974953961405961e+00 - 169 -7.4527219588535520e-01 -3.7773273742840203e+00 -3.6783380789497599e-01 - 170 -6.1270209507453561e+00 -1.5901032532178929e+00 -1.1669470951122371e-01 - 171 -7.0828155566336093e-02 -9.2972356408781778e+00 5.2769209282642715e-01 - 172 5.4887681221692297e+00 -3.9815332474491942e+00 1.7266076926660836e+00 - 173 -1.9921597783097551e+00 1.3642870044414022e+00 -4.6177186619299277e+00 - 174 -6.8118072835905086e-01 -2.7253513128250400e+00 7.9371605940428234e+00 - 175 3.2952236042707121e+00 2.5414480916905955e+00 6.4494852848836448e+00 - 176 2.9835802286197262e+00 1.1522845567073772e+00 -1.1774469162360333e+00 - 177 -6.0679352021219577e+00 -5.9494385654760586e+00 -6.5551986540445260e+00 - 178 -4.0299132290613331e+00 2.1291409567038042e+00 2.7727907241961618e+00 - 179 -2.3315178667160339e+00 3.2375780159413421e+00 6.0916752443949624e+00 - 180 6.6009431885726331e+00 -4.7168574935073542e+00 7.0071311712597613e+00 - 181 3.4640998460185690e+00 4.1341203040087091e+00 2.5043659364606543e+00 - 182 4.2313664783553157e-01 9.2836044096514914e-01 2.5711772833600383e-01 - 183 6.8701154820023480e-01 -4.3825288825994866e+00 -4.6893514588412284e+00 - 184 -1.6845639332386739e+00 3.5356453384345174e+00 -1.8031520110784816e+00 - 185 4.3948311874189067e-01 -2.8873991420822849e+00 -5.7260145606027324e-01 - 186 3.7547819930217967e+00 5.5227522115971683e-01 1.0948274788663654e+00 - 187 4.8388625830553762e+00 8.6992010344279525e-01 -2.9595243733786960e+00 - 188 -3.0285031145621746e+00 -5.5670095107571624e+00 -3.9776832268194866e+00 - 189 -1.4978080653462702e+00 3.0694094674274521e+00 -1.9187559852476039e+00 - 190 -3.4577019435276188e+00 5.2617491012301558e+00 -2.8027640497219370e+00 - 191 9.0406901956571559e+00 -1.4351168204017077e+00 -3.3870294281189914e+00 - 192 5.8184132257283103e+00 5.7423395615017139e+00 6.1686687899852446e+00 - 193 1.4091839800546093e+00 1.7360548678936290e+00 -1.6202615165179461e+00 - 194 -5.8365574626504371e+00 -1.1219252071695649e+00 -1.1485581230473914e+00 - 195 8.7637315082562739e-01 3.3462961780072562e+00 -8.1354040756305857e-01 - 196 1.6600848436444939e+00 1.3250424500390929e+00 -4.9591553993550193e+00 - 197 -9.4927377308727623e-01 -5.8207744490732205e+00 6.4663694433557373e-01 - 198 -4.5177611467370399e-01 4.9415963080207055e+00 1.9433161156269694e+00 - 199 -4.3027400171982224e+00 -4.5613754557341482e+00 1.5699407701143533e+00 - 200 1.5448724473391100e+00 2.4584923079749044e+00 -3.1392452600363372e+00 - 201 -4.6016718693843250e+00 -3.9418857354937971e+00 -4.6668302285854049e+00 - 202 3.7018520600617483e-01 -4.8332896704447248e-01 -3.6854125040533079e+00 - 203 3.8659815227919072e+00 -7.4539979597211037e+00 2.6942416612669855e+00 - 204 -5.6142785099939756e+00 -6.2018561025019112e+00 -6.7409137682125593e+00 - 205 3.3341288429723184e-02 7.0519544225452000e+00 -2.0938812825266298e+00 - 206 -2.3615309773793909e+00 5.8104716217346848e+00 9.3010131683171882e-01 - 207 -2.6654393381699286e+00 7.5481721396937065e+00 -4.8904771244982843e+00 - 208 2.6741244163087501e+00 -5.1059307299888446e-01 7.8828856576673472e+00 - 209 5.6945314250834000e+00 4.7236054837729293e+00 -4.4884300671397064e+00 - 210 -4.9761430158760129e+00 4.0936541714452908e+00 3.2051110415901496e+00 - 211 -1.6198356152349811e+00 -4.2596509866650010e+00 -9.7002992061953830e-01 - 212 -5.1699166766818969e+00 5.8976607613037153e+00 5.9849768421212861e+00 - 213 4.2290116365362329e-01 -1.5086464242159563e+00 -7.5078846485187913e+00 - 214 -8.4609751614698805e+00 5.8493355421305875e+00 -5.7089940793025908e+00 - 215 3.4912598028285524e+00 5.3853907974679327e+00 1.6584479527210902e+00 - 216 1.8362372044285205e-01 -4.7948186173622875e-01 -2.0243825542596166e+00 - 217 1.2730663338573596e+00 -1.9548047760834673e+00 4.6007887784914319e+00 - 218 -8.1062754396291825e-01 9.5001973866788747e-01 1.5848621098705231e+00 - 219 2.9207013772017865e+00 -2.0240243823079682e+00 2.7543470586622534e+00 - 220 -1.9402618680196495e+00 7.6549971705965802e-01 9.6946223555319992e+00 - 221 -3.0268260302352465e+00 3.3951011598221861e+00 -6.0757634768923250e+00 - 222 -1.9700043289183065e+00 2.6914206295193375e+00 -1.5061070030579118e+00 - 223 2.8594848783135434e+00 6.6367269634964043e-01 9.9964131902305564e-01 - 224 -1.2590521565573090e+00 -1.6706345370949087e+00 1.4597870772587664e+00 - 225 5.2588945057830188e+00 -6.0464310077477252e+00 6.8597153738814240e+00 - 226 2.8448145000609286e+00 5.6236407582631165e-01 -4.0638613838726467e-01 - 227 2.7571144480951206e+00 -5.8841374694731945e+00 2.6747482982065973e+00 - 228 -1.9192646875019609e-01 -2.6023930451114792e+00 -1.5640119155531521e-01 - 229 -5.4277214420897950e+00 3.1852614984002243e+00 -2.4472993211496865e+00 - 230 -4.8829690006287513e-01 -2.0914391804220358e+00 1.0262204003397262e+00 - 231 2.9502456290285423e-01 1.3059788537887522e+00 1.7852903388433130e+00 - 232 6.5687025583215490e+00 -3.2783217210448430e+00 -2.4974953961406290e+00 - 233 -7.4527219588536520e-01 -3.7773273742840128e+00 -3.6783380789498865e-01 - 234 -6.1270209507452833e+00 -1.5901032532178778e+00 -1.1669470951119659e-01 - 235 -7.0828155566330805e-02 -9.2972356408781796e+00 5.2769209282642604e-01 - 236 5.4887681221692430e+00 -3.9815332474491538e+00 1.7266076926660721e+00 - 237 -1.9921597783097837e+00 1.3642870044414115e+00 -4.6177186619299029e+00 - 238 -6.8118072835910659e-01 -2.7253513128251061e+00 7.9371605940428100e+00 - 239 3.2952236042707228e+00 2.5414480916906115e+00 6.4494852848836217e+00 - 240 2.9835802286197284e+00 1.1522845567073488e+00 -1.1774469162360306e+00 - 241 -6.0679352021219364e+00 -5.9494385654760569e+00 -6.5551986540445197e+00 - 242 -4.0299132290613189e+00 2.1291409567038055e+00 2.7727907241961627e+00 - 243 -2.3315178667160752e+00 3.2375780159413567e+00 6.0916752443949562e+00 - 244 6.6009431885726286e+00 -4.7168574935073488e+00 7.0071311712597506e+00 - 245 3.4640998460185721e+00 4.1341203040086913e+00 2.5043659364606583e+00 - 246 4.2313664783552735e-01 9.2836044096513803e-01 2.5711772833599877e-01 - 247 6.8701154820027677e-01 -4.3825288825994866e+00 -4.6893514588412462e+00 - 248 -1.6845639332386573e+00 3.5356453384344939e+00 -1.8031520110784616e+00 - 249 4.3948311874186885e-01 -2.8873991420822955e+00 -5.7260145606028601e-01 - 250 3.7547819930217283e+00 5.5227522115973815e-01 1.0948274788663759e+00 - 251 4.8388625830553877e+00 8.6992010344286119e-01 -2.9595243733787218e+00 - 252 -3.0285031145621910e+00 -5.5670095107571829e+00 -3.9776832268194813e+00 - 253 -1.4978080653461978e+00 3.0694094674274215e+00 -1.9187559852475764e+00 - 254 -3.4577019435275971e+00 5.2617491012301461e+00 -2.8027640497219215e+00 - 255 9.0406901956570884e+00 -1.4351168204016764e+00 -3.3870294281189546e+00 - 256 5.8184132257283228e+00 5.7423395615017272e+00 6.1686687899852624e+00 - 257 1.4091839800546311e+00 1.7360548678936627e+00 -1.6202615165179777e+00 - 258 -5.8365574626504619e+00 -1.1219252071695709e+00 -1.1485581230473791e+00 - 259 8.7637315082562439e-01 3.3462961780072389e+00 -8.1354040756305923e-01 - 260 1.6600848436445086e+00 1.3250424500391138e+00 -4.9591553993549988e+00 - 261 -9.4927377308725214e-01 -5.8207744490732276e+00 6.4663694433556207e-01 - 262 -4.5177611467360057e-01 4.9415963080206202e+00 1.9433161156270420e+00 - 263 -4.3027400171982570e+00 -4.5613754557341517e+00 1.5699407701143941e+00 - 264 1.5448724473390543e+00 2.4584923079749084e+00 -3.1392452600363963e+00 - 265 -4.6016718693843126e+00 -3.9418857354937775e+00 -4.6668302285853844e+00 - 266 3.7018520600613297e-01 -4.8332896704450973e-01 -3.6854125040533261e+00 - 267 3.8659815227919201e+00 -7.4539979597210992e+00 2.6942416612670250e+00 - 268 -5.6142785099940120e+00 -6.2018561025018997e+00 -6.7409137682125522e+00 - 269 3.3341288429739352e-02 7.0519544225451858e+00 -2.0938812825266968e+00 - 270 -2.3615309773793465e+00 5.8104716217346795e+00 9.3010131683181696e-01 - 271 -2.6654393381700139e+00 7.5481721396937509e+00 -4.8904771244983651e+00 - 272 2.6741244163087305e+00 -5.1059307299888756e-01 7.8828856576674111e+00 - 273 5.6945314250833396e+00 4.7236054837728716e+00 -4.4884300671396442e+00 - 274 -4.9761430158759961e+00 4.0936541714453289e+00 3.2051110415901976e+00 - 275 -1.6198356152349642e+00 -4.2596509866649948e+00 -9.7002992061955196e-01 - 276 -5.1699166766818871e+00 5.8976607613036709e+00 5.9849768421212586e+00 - 277 4.2290116365361424e-01 -1.5086464242159596e+00 -7.5078846485188082e+00 - 278 -8.4609751614700137e+00 5.8493355421306603e+00 -5.7089940793027392e+00 - 279 3.4912598028285378e+00 5.3853907974679602e+00 1.6584479527211433e+00 - 280 1.8362372044285166e-01 -4.7948186173622959e-01 -2.0243825542595824e+00 - 281 1.2730663338573827e+00 -1.9548047760834801e+00 4.6007887784913599e+00 - 282 -8.1062754396294179e-01 9.5001973866789868e-01 1.5848621098705087e+00 - 283 2.9207013772019419e+00 -2.0240243823079860e+00 2.7543470586622187e+00 - 284 -1.9402618680197097e+00 7.6549971705970477e-01 9.6946223555320827e+00 - 285 -3.0268260302352705e+00 3.3951011598222260e+00 -6.0757634768923667e+00 - 286 -1.9700043289182816e+00 2.6914206295193210e+00 -1.5061070030578938e+00 - 287 2.8594848783134781e+00 6.6367269634964388e-01 9.9964131902304842e-01 - 288 -1.2590521565572959e+00 -1.6706345370948839e+00 1.4597870772587418e+00 - 289 5.2588945057831227e+00 -6.0464310077478611e+00 6.8597153738815528e+00 - 290 2.8448145000609064e+00 5.6236407582631898e-01 -4.0638613838728016e-01 - 291 2.7571144480951801e+00 -5.8841374694731963e+00 2.6747482982066444e+00 - 292 -1.9192646875024974e-01 -2.6023930451114330e+00 -1.5640119155539528e-01 - 293 -5.4277214420898163e+00 3.1852614984002563e+00 -2.4472993211497136e+00 - 294 -4.8829690006289089e-01 -2.0914391804220638e+00 1.0262204003397486e+00 - 295 2.9502456290283852e-01 1.3059788537887378e+00 1.7852903388432688e+00 - 296 6.5687025583215730e+00 -3.2783217210449096e+00 -2.4974953961406419e+00 - 297 -7.4527219588535576e-01 -3.7773273742839897e+00 -3.6783380789497833e-01 - 298 -6.1270209507454059e+00 -1.5901032532179340e+00 -1.1669470951127092e-01 - 299 -7.0828155566327031e-02 -9.2972356408781405e+00 5.2769209282643048e-01 - 300 5.4887681221691862e+00 -3.9815332474491911e+00 1.7266076926660765e+00 - 301 -1.9921597783097464e+00 1.3642870044413813e+00 -4.6177186619299357e+00 - 302 -6.8118072835899479e-01 -2.7253513128250177e+00 7.9371605940428118e+00 - 303 3.2952236042706780e+00 2.5414480916905724e+00 6.4494852848836226e+00 - 304 2.9835802286197115e+00 1.1522845567074216e+00 -1.1774469162359920e+00 - 305 -6.0679352021219408e+00 -5.9494385654760071e+00 -6.5551986540445046e+00 - 306 -4.0299132290613322e+00 2.1291409567037616e+00 2.7727907241961169e+00 - 307 -2.3315178667160326e+00 3.2375780159413909e+00 6.0916752443949980e+00 - 308 6.6009431885727023e+00 -4.7168574935075398e+00 7.0071311712598687e+00 - 309 3.4640998460185570e+00 4.1341203040087589e+00 2.5043659364606148e+00 - 310 4.2313664783553812e-01 9.2836044096518455e-01 2.5711772833601587e-01 - 311 6.8701154820029764e-01 -4.3825288825994893e+00 -4.6893514588412897e+00 - 312 -1.6845639332386757e+00 3.5356453384345401e+00 -1.8031520110784909e+00 - 313 4.3948311874192064e-01 -2.8873991420822258e+00 -5.7260145606024282e-01 - 314 3.7547819930218127e+00 5.5227522115964545e-01 1.0948274788663677e+00 - 315 4.8388625830553504e+00 8.6992010344280335e-01 -2.9595243733787977e+00 - 316 -3.0285031145622927e+00 -5.5670095107572948e+00 -3.9776832268196527e+00 - 317 -1.4978080653463275e+00 3.0694094674273598e+00 -1.9187559852475453e+00 - 318 -3.4577019435275558e+00 5.2617491012301123e+00 -2.8027640497218824e+00 - 319 9.0406901956571719e+00 -1.4351168204016653e+00 -3.3870294281189643e+00 - 320 5.8184132257284507e+00 5.7423395615018444e+00 6.1686687899853681e+00 - 321 1.4091839800546089e+00 1.7360548678936276e+00 -1.6202615165179448e+00 - 322 -5.8365574626504406e+00 -1.1219252071695605e+00 -1.1485581230473683e+00 - 323 8.7637315082560552e-01 3.3462961780072313e+00 -8.1354040756303558e-01 - 324 1.6600848436444902e+00 1.3250424500390892e+00 -4.9591553993550113e+00 - 325 -9.4927377308725713e-01 -5.8207744490732196e+00 6.4663694433556163e-01 - 326 -4.5177611467365764e-01 4.9415963080206184e+00 1.9433161156270236e+00 - 327 -4.3027400171982002e+00 -4.5613754557341464e+00 1.5699407701143666e+00 - 328 1.5448724473390965e+00 2.4584923079749039e+00 -3.1392452600363705e+00 - 329 -4.6016718693843179e+00 -3.9418857354937908e+00 -4.6668302285853951e+00 - 330 3.7018520600608934e-01 -4.8332896704456763e-01 -3.6854125040533510e+00 - 331 3.8659815227918801e+00 -7.4539979597211019e+00 2.6942416612669708e+00 - 332 -5.6142785099940555e+00 -6.2018561025019778e+00 -6.7409137682126294e+00 - 333 3.3341288429725495e-02 7.0519544225451831e+00 -2.0938812825266422e+00 - 334 -2.3615309773792754e+00 5.8104716217347230e+00 9.3010131683181607e-01 - 335 -2.6654393381700006e+00 7.5481721396938086e+00 -4.8904771244983651e+00 - 336 2.6741244163088496e+00 -5.1059307299879952e-01 7.8828856576673969e+00 - 337 5.6945314250833610e+00 4.7236054837729107e+00 -4.4884300671396717e+00 - 338 -4.9761430158759898e+00 4.0936541714453147e+00 3.2051110415901869e+00 - 339 -1.6198356152349376e+00 -4.2596509866649903e+00 -9.7002992061951809e-01 - 340 -5.1699166766819040e+00 5.8976607613036931e+00 5.9849768421212737e+00 - 341 4.2290116365358615e-01 -1.5086464242159290e+00 -7.5078846485188215e+00 - 342 -8.4609751614699995e+00 5.8493355421306745e+00 -5.7089940793027472e+00 - 343 3.4912598028285324e+00 5.3853907974679558e+00 1.6584479527211353e+00 - 344 1.8362372044284778e-01 -4.7948186173622687e-01 -2.0243825542595992e+00 - 345 1.2730663338573833e+00 -1.9548047760834757e+00 4.6007887784913510e+00 - 346 -8.1062754396290182e-01 9.5001973866788081e-01 1.5848621098705074e+00 - 347 2.9207013772018025e+00 -2.0240243823080029e+00 2.7543470586622463e+00 - 348 -1.9402618680196775e+00 7.6549971705966835e-01 9.6946223555320099e+00 - 349 -3.0268260302352754e+00 3.3951011598222234e+00 -6.0757634768923339e+00 - 350 -1.9700043289183056e+00 2.6914206295193304e+00 -1.5061070030579151e+00 - 351 2.8594848783135420e+00 6.6367269634966752e-01 9.9964131902308240e-01 - 352 -1.2590521565573154e+00 -1.6706345370949156e+00 1.4597870772587733e+00 - 353 5.2588945057831102e+00 -6.0464310077478247e+00 6.8597153738815138e+00 - 354 2.8448145000609362e+00 5.6236407582631520e-01 -4.0638613838727428e-01 - 355 2.7571144480951890e+00 -5.8841374694732149e+00 2.6747482982066555e+00 - 356 -1.9192646875022737e-01 -2.6023930451114192e+00 -1.5640119155536478e-01 - 357 -5.4277214420898403e+00 3.1852614984002652e+00 -2.4472993211497220e+00 - 358 -4.8829690006288884e-01 -2.0914391804220620e+00 1.0262204003397475e+00 - 359 2.9502456290283241e-01 1.3059788537887345e+00 1.7852903388432784e+00 - 360 6.5687025583215570e+00 -3.2783217210449371e+00 -2.4974953961406730e+00 - 361 -7.4527219588536464e-01 -3.7773273742839790e+00 -3.6783380789498993e-01 - 362 -6.1270209507453304e+00 -1.5901032532179182e+00 -1.1669470951124647e-01 - 363 -7.0828155566322812e-02 -9.2972356408781422e+00 5.2769209282643037e-01 - 364 5.4887681221691995e+00 -3.9815332474491578e+00 1.7266076926660769e+00 - 365 -1.9921597783097700e+00 1.3642870044413935e+00 -4.6177186619299171e+00 - 366 -6.8118072835905619e-01 -2.7253513128250813e+00 7.9371605940428021e+00 - 367 3.2952236042706891e+00 2.5414480916905897e+00 6.4494852848835995e+00 - 368 2.9835802286197146e+00 1.1522845567073883e+00 -1.1774469162359926e+00 - 369 -6.0679352021219168e+00 -5.9494385654760000e+00 -6.5551986540444913e+00 - 370 -4.0299132290613215e+00 2.1291409567037642e+00 2.7727907241961178e+00 - 371 -2.3315178667160841e+00 3.2375780159414127e+00 6.0916752443949918e+00 - 372 6.6009431885727041e+00 -4.7168574935075362e+00 7.0071311712598670e+00 - 373 3.4640998460185579e+00 4.1341203040087349e+00 2.5043659364606152e+00 - 374 4.2313664783553423e-01 9.2836044096517378e-01 2.5711772833601110e-01 - 375 6.8701154820034405e-01 -4.3825288825995052e+00 -4.6893514588413119e+00 - 376 -1.6845639332386699e+00 3.5356453384345237e+00 -1.8031520110784818e+00 - 377 4.3948311874191232e-01 -2.8873991420822267e+00 -5.7260145606025925e-01 - 378 3.7547819930217545e+00 5.5227522115966277e-01 1.0948274788663754e+00 - 379 4.8388625830553673e+00 8.6992010344286952e-01 -2.9595243733788266e+00 - 380 -3.0285031145623149e+00 -5.5670095107573196e+00 -3.9776832268196500e+00 - 381 -1.4978080653462609e+00 3.0694094674273300e+00 -1.9187559852475262e+00 - 382 -3.4577019435275314e+00 5.2617491012301087e+00 -2.8027640497218647e+00 - 383 9.0406901956570973e+00 -1.4351168204016267e+00 -3.3870294281189155e+00 - 384 5.8184132257284693e+00 5.7423395615018640e+00 6.1686687899853938e+00 - 385 1.4091839800546315e+00 1.7360548678936638e+00 -1.6202615165179781e+00 - 386 -5.8365574626505046e+00 -1.1219252071696144e+00 -1.1485581230474351e+00 - 387 8.7637315082563116e-01 3.3462961780072367e+00 -8.1354040756307044e-01 - 388 1.6600848436445064e+00 1.3250424500391129e+00 -4.9591553993550042e+00 - 389 -9.4927377308726546e-01 -5.8207744490732258e+00 6.4663694433556684e-01 - 390 -4.5177611467357648e-01 4.9415963080207232e+00 1.9433161156270660e+00 - 391 -4.3027400171982926e+00 -4.5613754557341695e+00 1.5699407701144159e+00 - 392 1.5448724473390720e+00 2.4584923079749030e+00 -3.1392452600363780e+00 - 393 -4.6016718693843117e+00 -3.9418857354937766e+00 -4.6668302285853844e+00 - 394 3.7018520600619537e-01 -4.8332896704442380e-01 -3.6854125040533008e+00 - 395 3.8659815227919156e+00 -7.4539979597210850e+00 2.6942416612670224e+00 - 396 -5.6142785099939436e+00 -6.2018561025018535e+00 -6.7409137682124936e+00 - 397 3.3341288429758066e-02 7.0519544225451662e+00 -2.0938812825266919e+00 - 398 -2.3615309773794055e+00 5.8104716217346191e+00 9.3010131683181485e-01 - 399 -2.6654393381700103e+00 7.5481721396937393e+00 -4.8904771244983625e+00 - 400 2.6741244163086249e+00 -5.1059307299898360e-01 7.8828856576673783e+00 - 401 5.6945314250833921e+00 4.7236054837729009e+00 -4.4884300671396842e+00 - 402 -4.9761430158760058e+00 4.0936541714453085e+00 3.2051110415901740e+00 - 403 -1.6198356152349935e+00 -4.2596509866649948e+00 -9.7002992061955384e-01 - 404 -5.1699166766818720e+00 5.8976607613036647e+00 5.9849768421212461e+00 - 405 4.2290116365363556e-01 -1.5086464242159761e+00 -7.5078846485187878e+00 - 406 -8.4609751614699444e+00 5.8493355421306461e+00 -5.7089940793026672e+00 - 407 3.4912598028285289e+00 5.3853907974679265e+00 1.6584479527211002e+00 - 408 1.8362372044286548e-01 -4.7948186173624224e-01 -2.0243825542595810e+00 - 409 1.2730663338573718e+00 -1.9548047760834746e+00 4.6007887784913688e+00 - 410 -8.1062754396295167e-01 9.5001973866792222e-01 1.5848621098704945e+00 - 411 2.9207013772019486e+00 -2.0240243823079398e+00 2.7543470586622174e+00 - 412 -1.9402618680196764e+00 7.6549971705967745e-01 9.6946223555321112e+00 - 413 -3.0268260302352630e+00 3.3951011598222181e+00 -6.0757634768923605e+00 - 414 -1.9700043289182965e+00 2.6914206295193344e+00 -1.5061070030579065e+00 - 415 2.8594848783134728e+00 6.6367269634962867e-01 9.9964131902303588e-01 - 416 -1.2590521565572947e+00 -1.6706345370948832e+00 1.4597870772587422e+00 - 417 5.2588945057831182e+00 -6.0464310077478585e+00 6.8597153738815475e+00 - 418 2.8448145000608931e+00 5.6236407582630721e-01 -4.0638613838726412e-01 - 419 2.7571144480951659e+00 -5.8841374694731785e+00 2.6747482982066311e+00 - 420 -1.9192646875023883e-01 -2.6023930451114814e+00 -1.5640119155539567e-01 - 421 -5.4277214420898057e+00 3.1852614984002399e+00 -2.4472993211496927e+00 - 422 -4.8829690006288184e-01 -2.0914391804220513e+00 1.0262204003397351e+00 - 423 2.9502456290283263e-01 1.3059788537887316e+00 1.7852903388432710e+00 - 424 6.5687025583215677e+00 -3.2783217210447950e+00 -2.4974953961405957e+00 - 425 -7.4527219588536364e-01 -3.7773273742840070e+00 -3.6783380789498238e-01 - 426 -6.1270209507453552e+00 -1.5901032532178907e+00 -1.1669470951122697e-01 - 427 -7.0828155566333456e-02 -9.2972356408781796e+00 5.2769209282642937e-01 - 428 5.4887681221691684e+00 -3.9815332474491631e+00 1.7266076926660745e+00 - 429 -1.9921597783097484e+00 1.3642870044414233e+00 -4.6177186619299526e+00 - 430 -6.8118072835904131e-01 -2.7253513128250795e+00 7.9371605940427647e+00 - 431 3.2952236042707215e+00 2.5414480916906030e+00 6.4494852848836377e+00 - 432 2.9835802286197066e+00 1.1522845567073925e+00 -1.1774469162359951e+00 - 433 -6.0679352021219133e+00 -5.9494385654760107e+00 -6.5551986540444913e+00 - 434 -4.0299132290613429e+00 2.1291409567038064e+00 2.7727907241961693e+00 - 435 -2.3315178667160001e+00 3.2375780159413186e+00 6.0916752443949518e+00 - 436 6.6009431885726855e+00 -4.7168574935074243e+00 7.0071311712598199e+00 - 437 3.4640998460185353e+00 4.1341203040086709e+00 2.5043659364605859e+00 - 438 4.2313664783552257e-01 9.2836044096516035e-01 2.5711772833599683e-01 - 439 6.8701154820026356e-01 -4.3825288825994972e+00 -4.6893514588412382e+00 - 440 -1.6845639332386511e+00 3.5356453384344939e+00 -1.8031520110784645e+00 - 441 4.3948311874190016e-01 -2.8873991420823018e+00 -5.7260145606023594e-01 - 442 3.7547819930217847e+00 5.5227522115972771e-01 1.0948274788663190e+00 - 443 4.8388625830553798e+00 8.6992010344278914e-01 -2.9595243733787910e+00 - 444 -3.0285031145622359e+00 -5.5670095107572628e+00 -3.9776832268195768e+00 - 445 -1.4978080653462962e+00 3.0694094674273931e+00 -1.9187559852475569e+00 - 446 -3.4577019435275989e+00 5.2617491012301478e+00 -2.8027640497219197e+00 - 447 9.0406901956571772e+00 -1.4351168204016671e+00 -3.3870294281189612e+00 - 448 5.8184132257283938e+00 5.7423395615018009e+00 6.1686687899853112e+00 - 449 1.4091839800546093e+00 1.7360548678936290e+00 -1.6202615165179453e+00 - 450 -5.8365574626504761e+00 -1.1219252071695991e+00 -1.1485581230474198e+00 - 451 8.7637315082561329e-01 3.3462961780072291e+00 -8.1354040756304880e-01 - 452 1.6600848436444857e+00 1.3250424500390852e+00 -4.9591553993550166e+00 - 453 -9.4927377308726668e-01 -5.8207744490732178e+00 6.4663694433556518e-01 - 454 -4.5177611467363993e-01 4.9415963080207170e+00 1.9433161156270433e+00 - 455 -4.3027400171982411e+00 -4.5613754557341704e+00 1.5699407701144044e+00 - 456 1.5448724473391180e+00 2.4584923079748955e+00 -3.1392452600363479e+00 - 457 -4.6016718693843259e+00 -3.9418857354937975e+00 -4.6668302285854049e+00 - 458 3.7018520600614979e-01 -4.8332896704448242e-01 -3.6854125040533474e+00 - 459 3.8659815227918859e+00 -7.4539979597210957e+00 2.6942416612669775e+00 - 460 -5.6142785099939916e+00 -6.2018561025019325e+00 -6.7409137682125735e+00 - 461 3.3341288429745382e-02 7.0519544225451831e+00 -2.0938812825266329e+00 - 462 -2.3615309773793238e+00 5.8104716217346590e+00 9.3010131683182995e-01 - 463 -2.6654393381700037e+00 7.5481721396937997e+00 -4.8904771244983696e+00 - 464 2.6741244163087461e+00 -5.1059307299888701e-01 7.8828856576673685e+00 - 465 5.6945314250834205e+00 4.7236054837729471e+00 -4.4884300671397197e+00 - 466 -4.9761430158759863e+00 4.0936541714452837e+00 3.2051110415901523e+00 - 467 -1.6198356152349644e+00 -4.2596509866649894e+00 -9.7002992061952242e-01 - 468 -5.1699166766818836e+00 5.8976607613036842e+00 5.9849768421212559e+00 - 469 4.2290116365359981e-01 -1.5086464242159319e+00 -7.5078846485187869e+00 - 470 -8.4609751614699338e+00 5.8493355421306630e+00 -5.7089940793026788e+00 - 471 3.4912598028285164e+00 5.3853907974679212e+00 1.6584479527210936e+00 - 472 1.8362372044285996e-01 -4.7948186173623775e-01 -2.0243825542596032e+00 - 473 1.2730663338573720e+00 -1.9548047760834697e+00 4.6007887784913590e+00 - 474 -8.1062754396290859e-01 9.5001973866790346e-01 1.5848621098704960e+00 - 475 2.9207013772018131e+00 -2.0240243823079469e+00 2.7543470586622298e+00 - 476 -1.9402618680196426e+00 7.6549971705964004e-01 9.6946223555320401e+00 - 477 -3.0268260302352603e+00 3.3951011598222030e+00 -6.0757634768923214e+00 - 478 -1.9700043289183136e+00 2.6914206295193366e+00 -1.5061070030579211e+00 - 479 2.8594848783135354e+00 6.6367269634965109e-01 9.9964131902306697e-01 - 480 -1.2590521565573143e+00 -1.6706345370949152e+00 1.4597870772587735e+00 - 481 5.2588945057831022e+00 -6.0464310077478167e+00 6.8597153738815031e+00 - 482 2.8448145000609153e+00 5.6236407582631298e-01 -4.0638613838726606e-01 - 483 2.7571144480951641e+00 -5.8841374694731883e+00 2.6747482982066320e+00 - 484 -1.9192646875021480e-01 -2.6023930451114743e+00 -1.5640119155537663e-01 - 485 -5.4277214420898199e+00 3.1852614984002354e+00 -2.4472993211496896e+00 - 486 -4.8829690006287668e-01 -2.0914391804220442e+00 1.0262204003397306e+00 - 487 2.9502456290283036e-01 1.3059788537887318e+00 1.7852903388432808e+00 - 488 6.5687025583215561e+00 -3.2783217210448123e+00 -2.4974953961406214e+00 - 489 -7.4527219588537796e-01 -3.7773273742839950e+00 -3.6783380789500075e-01 - 490 -6.1270209507452824e+00 -1.5901032532178767e+00 -1.1669470951120132e-01 - 491 -7.0828155566328391e-02 -9.2972356408781831e+00 5.2769209282643115e-01 - 492 5.4887681221691782e+00 -3.9815332474491272e+00 1.7266076926660672e+00 - 493 -1.9921597783097722e+00 1.3642870044414399e+00 -4.6177186619299357e+00 - 494 -6.8118072835909582e-01 -2.7253513128251385e+00 7.9371605940427514e+00 - 495 3.2952236042707335e+00 2.5414480916906217e+00 6.4494852848836128e+00 - 496 2.9835802286197026e+00 1.1522845567073692e+00 -1.1774469162360017e+00 - 497 -6.0679352021218858e+00 -5.9494385654759991e+00 -6.5551986540444753e+00 - 498 -4.0299132290613304e+00 2.1291409567037998e+00 2.7727907241961627e+00 - 499 -2.3315178667160503e+00 3.2375780159413483e+00 6.0916752443949553e+00 - 500 6.6009431885726855e+00 -4.7168574935074252e+00 7.0071311712598181e+00 - 501 3.4640998460185322e+00 4.1341203040086407e+00 2.5043659364605859e+00 - 502 4.2313664783552291e-01 9.2836044096515435e-01 2.5711772833599639e-01 - 503 6.8701154820029697e-01 -4.3825288825995079e+00 -4.6893514588412568e+00 - 504 -1.6845639332386459e+00 3.5356453384344828e+00 -1.8031520110784556e+00 - 505 4.3948311874188511e-01 -2.8873991420823044e+00 -5.7260145606025570e-01 - 506 3.7547819930217337e+00 5.5227522115974215e-01 1.0948274788663341e+00 - 507 4.8388625830553869e+00 8.6992010344284987e-01 -2.9595243733788110e+00 - 508 -3.0285031145622705e+00 -5.5670095107572886e+00 -3.9776832268195808e+00 - 509 -1.4978080653462185e+00 3.0694094674273678e+00 -1.9187559852475351e+00 - 510 -3.4577019435275704e+00 5.2617491012301310e+00 -2.8027640497218980e+00 - 511 9.0406901956571009e+00 -1.4351168204016298e+00 -3.3870294281189146e+00 - 512 5.8184132257284160e+00 5.7423395615018249e+00 6.1686687899853405e+00 + 1 1.4101084499624834e+00 1.7371804088545335e+00 -1.6213174412210642e+00 + 2 -5.8399142482199666e+00 -1.1232412828534912e+00 -1.1499478454746312e+00 + 3 8.7634281400132430e-01 3.3470924205892643e+00 -8.1366156642161969e-01 + 4 1.6618348954343425e+00 1.3267230795340910e+00 -4.9613186302807133e+00 + 5 -9.5068329765370274e-01 -5.8237800850819283e+00 6.4731385586130707e-01 + 6 -4.5001292021627554e-01 4.9457441409187863e+00 1.9456461634790387e+00 + 7 -4.3052102443920397e+00 -4.5636488830761017e+00 1.5724677428331195e+00 + 8 1.5449878373122821e+00 2.4590982230198160e+00 -3.1390852730039449e+00 + 9 -4.6045449943310786e+00 -3.9440808098823186e+00 -4.6700755874078377e+00 + 10 3.7147697382426104e-01 -4.8285079070936388e-01 -3.6890671668077557e+00 + 11 3.8716570366709617e+00 -7.4579362411464825e+00 2.6984541425925990e+00 + 12 -5.6224994178130929e+00 -6.2110127059234488e+00 -6.7476211894063383e+00 + 13 3.1500132936973006e-02 7.0601764306126391e+00 -2.0944606590553625e+00 + 14 -2.3637150235790640e+00 5.8159045954962254e+00 9.2704917537069798e-01 + 15 -2.6728293943632440e+00 7.5552531622542345e+00 -4.8983926692927886e+00 + 16 2.6753525054676741e+00 -5.0623527488437536e-01 7.8939421082827286e+00 + 17 5.6999696634920580e+00 4.7279269674034090e+00 -4.4920700577050896e+00 + 18 -4.9787999902374374e+00 4.0981651408694857e+00 3.2088541364653502e+00 + 19 -1.6213391901712033e+00 -4.2635561713516781e+00 -9.7236351460329395e-01 + 20 -5.1758925760643937e+00 5.9036888087723742e+00 5.9897804863834523e+00 + 21 4.2475360018693586e-01 -1.5120403153751463e+00 -7.5118946585359554e+00 + 22 -8.4723991427858429e+00 5.8591586936795998e+00 -5.7220550448276519e+00 + 23 3.4936529015452429e+00 5.3887932178421343e+00 1.6618586990387023e+00 + 24 1.8397684085288479e-01 -4.7956123656856936e-01 -2.0248730631499297e+00 + 25 1.2740119839669743e+00 -1.9562152526426297e+00 4.6010648854407039e+00 + 26 -8.1088651153479652e-01 9.4981098330250502e-01 1.5857688839887338e+00 + 27 2.9237941762954156e+00 -2.0287483220568965e+00 2.7576412015032452e+00 + 28 -1.9423484320868827e+00 7.6700165963422506e-01 9.7032907448379735e+00 + 29 -3.0301266998673522e+00 3.3988629573493792e+00 -6.0790525480058077e+00 + 30 -1.9710732697574975e+00 2.6918587726715142e+00 -1.5068617145526664e+00 + 31 2.8596379254927973e+00 6.6388605559368985e-01 1.0001582081953555e+00 + 32 -1.2599066151315841e+00 -1.6716649508562782e+00 1.4607750060248941e+00 + 33 5.2650618358415651e+00 -6.0531728072803412e+00 6.8677797616117395e+00 + 34 2.8452772301515119e+00 5.6278916247943778e-01 -4.0654825176947501e-01 + 35 2.7601000342468174e+00 -5.8880962871766309e+00 2.6779862817975464e+00 + 36 -1.9151887508496218e-01 -2.6038253331120482e+00 -1.5631763792038542e-01 + 37 -5.4308678357699085e+00 3.1890361709539681e+00 -2.4512813444078403e+00 + 38 -4.8831911953854834e-01 -2.0911382434426233e+00 1.0263989663650521e+00 + 39 2.9583081381556897e-01 1.3064497582436145e+00 1.7854366483768509e+00 + 40 6.5759007584467497e+00 -3.2841132464413572e+00 -2.5014634020295063e+00 + 41 -7.4523257690304801e-01 -3.7773029542989391e+00 -3.6767020418412921e-01 + 42 -6.1312327154342396e+00 -1.5912197837133117e+00 -1.1855962370568189e-01 + 43 -7.1437588001434169e-02 -9.3031888107187211e+00 5.2754511162513296e-01 + 44 5.4932170480545217e+00 -3.9860368619527629e+00 1.7314892119390326e+00 + 45 -1.9946430535013895e+00 1.3671229931632587e+00 -4.6232127582616194e+00 + 46 -6.8496202690010577e-01 -2.7270551316211842e+00 7.9433814991520117e+00 + 47 3.2988872027001999e+00 2.5435438106820394e+00 6.4538031712204589e+00 + 48 2.9832582841622712e+00 1.1528571177955873e+00 -1.1771929693341157e+00 + 49 -6.0727927862320437e+00 -5.9562388562177775e+00 -6.5628478152085119e+00 + 50 -4.0304268005425916e+00 2.1299026394284661e+00 2.7736841705602946e+00 + 51 -2.3362097823934547e+00 3.2446508481241834e+00 6.0973333873913846e+00 + 52 6.6121228820666840e+00 -4.7286493145040840e+00 7.0211430066607825e+00 + 53 3.4705860716774821e+00 4.1400084168419884e+00 2.5096243926436443e+00 + 54 4.2357967515728950e-01 9.2785557547274899e-01 2.5722948535958462e-01 + 55 6.9092597174733328e-01 -4.3884673023252585e+00 -4.6957721500748519e+00 + 56 -1.6865429201680642e+00 3.5369692022565093e+00 -1.8052965931311840e+00 + 57 4.3961939657668192e-01 -2.8887423850093139e+00 -5.7296796525048743e-01 + 58 3.7570134025583659e+00 5.5027352242578065e-01 1.0958464933342578e+00 + 59 4.8450622687030140e+00 8.7301037576119778e-01 -2.9627442358410301e+00 + 60 -3.0352399103260401e+00 -5.5756624285612242e+00 -3.9845128251408610e+00 + 61 -1.4986666784757698e+00 3.0715079180009073e+00 -1.9202063976752488e+00 + 62 -3.4612601703739707e+00 5.2654166486564113e+00 -2.8054760695983396e+00 + 63 9.0463322673910671e+00 -1.4402000114087783e+00 -3.3926224071546960e+00 + 64 5.8257019271111208e+00 5.7499622015090264e+00 6.1760642521047480e+00 + 65 1.4101084499624945e+00 1.7371804088545499e+00 -1.6213174412210793e+00 + 66 -5.8399142482199569e+00 -1.1232412828534901e+00 -1.1499478454746328e+00 + 67 8.7634281400133751e-01 3.3470924205892656e+00 -8.1366156642163534e-01 + 68 1.6618348954343116e+00 1.3267230795340468e+00 -4.9613186302807328e+00 + 69 -9.5068329765370096e-01 -5.8237800850819186e+00 6.4731385586130286e-01 + 70 -4.5001292021631656e-01 4.9457441409188236e+00 1.9456461634789957e+00 + 71 -4.3052102443919482e+00 -4.5636488830760964e+00 1.5724677428330975e+00 + 72 1.5449878373123589e+00 2.4590982230198031e+00 -3.1390852730039280e+00 + 73 -4.6045449943310741e+00 -3.9440808098823101e+00 -4.6700755874078279e+00 + 74 3.7147697382419370e-01 -4.8285079070941711e-01 -3.6890671668077526e+00 + 75 3.8716570366709511e+00 -7.4579362411464762e+00 2.6984541425925879e+00 + 76 -5.6224994178131347e+00 -6.2110127059235003e+00 -6.7476211894063756e+00 + 77 3.1500132936973770e-02 7.0601764306126320e+00 -2.0944606590553616e+00 + 78 -2.3637150235790321e+00 5.8159045954962370e+00 9.2704917537072240e-01 + 79 -2.6728293943632591e+00 7.5552531622542647e+00 -4.8983926692928126e+00 + 80 2.6753525054677341e+00 -5.0623527488428222e-01 7.8939421082827224e+00 + 81 5.6999696634920971e+00 4.7279269674034552e+00 -4.4920700577051331e+00 + 82 -4.9787999902374329e+00 4.0981651408694910e+00 3.2088541364653573e+00 + 83 -1.6213391901712770e+00 -4.2635561713516665e+00 -9.7236351460331327e-01 + 84 -5.1758925760643839e+00 5.9036888087723627e+00 5.9897804863834434e+00 + 85 4.2475360018694719e-01 -1.5120403153751587e+00 -7.5118946585359421e+00 + 86 -8.4723991427859175e+00 5.8591586936796514e+00 -5.7220550448277363e+00 + 87 3.4936529015452691e+00 5.3887932178421707e+00 1.6618586990387330e+00 + 88 1.8397684085287699e-01 -4.7956123656855953e-01 -2.0248730631499217e+00 + 89 1.2740119839669910e+00 -1.9562152526426526e+00 4.6010648854406986e+00 + 90 -8.1088651153479241e-01 9.4981098330251235e-01 1.5857688839887580e+00 + 91 2.9237941762953805e+00 -2.0287483220569071e+00 2.7576412015032403e+00 + 92 -1.9423484320868498e+00 7.6700165963418865e-01 9.7032907448379326e+00 + 93 -3.0301266998673446e+00 3.3988629573493712e+00 -6.0790525480058024e+00 + 94 -1.9710732697574938e+00 2.6918587726714907e+00 -1.5068617145526619e+00 + 95 2.8596379254928421e+00 6.6388605559367853e-01 1.0001582081953513e+00 + 96 -1.2599066151315779e+00 -1.6716649508562664e+00 1.4607750060248836e+00 + 97 5.2650618358415588e+00 -6.0531728072803253e+00 6.8677797616117182e+00 + 98 2.8452772301515288e+00 5.6278916247943900e-01 -4.0654825176947940e-01 + 99 2.7601000342468502e+00 -5.8880962871766549e+00 2.6779862817975988e+00 + 100 -1.9151887508492124e-01 -2.6038253331120451e+00 -1.5631763792033387e-01 + 101 -5.4308678357699431e+00 3.1890361709539978e+00 -2.4512813444078665e+00 + 102 -4.8831911953855472e-01 -2.0911382434426278e+00 1.0263989663650606e+00 + 103 2.9583081381555676e-01 1.3064497582436023e+00 1.7854366483768360e+00 + 104 6.5759007584467266e+00 -3.2841132464413563e+00 -2.5014634020294988e+00 + 105 -7.4523257690308686e-01 -3.7773029542989343e+00 -3.6767020418418211e-01 + 106 -6.1312327154342698e+00 -1.5912197837132944e+00 -1.1855962370567052e-01 + 107 -7.1437588001479924e-02 -9.3031888107186997e+00 5.2754511162503914e-01 + 108 5.4932170480545004e+00 -3.9860368619527651e+00 1.7314892119390373e+00 + 109 -1.9946430535013113e+00 1.3671229931632198e+00 -4.6232127582615803e+00 + 110 -6.8496202690018182e-01 -2.7270551316212486e+00 7.9433814991520961e+00 + 111 3.2988872027002292e+00 2.5435438106820754e+00 6.4538031712204766e+00 + 112 2.9832582841622455e+00 1.1528571177956000e+00 -1.1771929693340835e+00 + 113 -6.0727927862320499e+00 -5.9562388562177873e+00 -6.5628478152085226e+00 + 114 -4.0304268005425925e+00 2.1299026394284701e+00 2.7736841705602981e+00 + 115 -2.3362097823934018e+00 3.2446508481241585e+00 6.0973333873913882e+00 + 116 6.6121228820667737e+00 -4.7286493145041346e+00 7.0211430066608598e+00 + 117 3.4705860716774479e+00 4.1400084168419946e+00 2.5096243926436532e+00 + 118 4.2357967515728706e-01 9.2785557547274511e-01 2.5722948535958162e-01 + 119 6.9092597174732118e-01 -4.3884673023252416e+00 -4.6957721500748546e+00 + 120 -1.6865429201680509e+00 3.5369692022564783e+00 -1.8052965931311662e+00 + 121 4.3961939657668664e-01 -2.8887423850093121e+00 -5.7296796525048810e-01 + 122 3.7570134025583277e+00 5.5027352242581618e-01 1.0958464933342473e+00 + 123 4.8450622687031748e+00 8.7301037576130136e-01 -2.9627442358410718e+00 + 124 -3.0352399103261227e+00 -5.5756624285612313e+00 -3.9845128251408641e+00 + 125 -1.4986666784757363e+00 3.0715079180009353e+00 -1.9202063976752926e+00 + 126 -3.4612601703739747e+00 5.2654166486564176e+00 -2.8054760695983476e+00 + 127 9.0463322673909925e+00 -1.4402000114088049e+00 -3.3926224071546933e+00 + 128 5.8257019271111385e+00 5.7499622015090441e+00 6.1760642521047737e+00 + 129 1.4101084499624534e+00 1.7371804088545049e+00 -1.6213174412210309e+00 + 130 -5.8399142482199737e+00 -1.1232412828535170e+00 -1.1499478454746650e+00 + 131 8.7634281400135128e-01 3.3470924205892754e+00 -8.1366156642164844e-01 + 132 1.6618348954343223e+00 1.3267230795340734e+00 -4.9613186302807142e+00 + 133 -9.5068329765370629e-01 -5.8237800850819088e+00 6.4731385586130863e-01 + 134 -4.5001292021624067e-01 4.9457441409188281e+00 1.9456461634790669e+00 + 135 -4.3052102443919820e+00 -4.5636488830760884e+00 1.5724677428330815e+00 + 136 1.5449878373122401e+00 2.4590982230198803e+00 -3.1390852730039502e+00 + 137 -4.6045449943310786e+00 -3.9440808098823172e+00 -4.6700755874078350e+00 + 138 3.7147697382417788e-01 -4.8285079070949538e-01 -3.6890671668077770e+00 + 139 3.8716570366709662e+00 -7.4579362411464789e+00 2.6984541425926039e+00 + 140 -5.6224994178131524e+00 -6.2110127059234923e+00 -6.7476211894063933e+00 + 141 3.1500132936956658e-02 7.0601764306126444e+00 -2.0944606590553514e+00 + 142 -2.3637150235790285e+00 5.8159045954963942e+00 9.2704917537068410e-01 + 143 -2.6728293943632346e+00 7.5552531622542176e+00 -4.8983926692927744e+00 + 144 2.6753525054676777e+00 -5.0623527488432618e-01 7.8939421082828236e+00 + 145 5.6999696634920909e+00 4.7279269674034268e+00 -4.4920700577051145e+00 + 146 -4.9787999902374720e+00 4.0981651408695159e+00 3.2088541364653769e+00 + 147 -1.6213391901711944e+00 -4.2635561713517127e+00 -9.7236351460331005e-01 + 148 -5.1758925760643901e+00 5.9036888087723742e+00 5.9897804863834399e+00 + 149 4.2475360018696456e-01 -1.5120403153751769e+00 -7.5118946585359945e+00 + 150 -8.4723991427858021e+00 5.8591586936796105e+00 -5.7220550448276448e+00 + 151 3.4936529015452695e+00 5.3887932178421245e+00 1.6618586990386814e+00 + 152 1.8397684085289256e-01 -4.7956123656857275e-01 -2.0248730631499354e+00 + 153 1.2740119839669732e+00 -1.9562152526426315e+00 4.6010648854407039e+00 + 154 -8.1088651153479885e-01 9.4981098330247371e-01 1.5857688839887165e+00 + 155 2.9237941762953730e+00 -2.0287483220569480e+00 2.7576412015032266e+00 + 156 -1.9423484320867530e+00 7.6700165963413269e-01 9.7032907448379966e+00 + 157 -3.0301266998673473e+00 3.3988629573493685e+00 -6.0790525480057864e+00 + 158 -1.9710732697574673e+00 2.6918587726715124e+00 -1.5068617145526344e+00 + 159 2.8596379254928128e+00 6.6388605559371483e-01 1.0001582081953824e+00 + 160 -1.2599066151316147e+00 -1.6716649508563088e+00 1.4607750060249303e+00 + 161 5.2650618358415553e+00 -6.0531728072803341e+00 6.8677797616117280e+00 + 162 2.8452772301515159e+00 5.6278916247941968e-01 -4.0654825176945431e-01 + 163 2.7601000342468334e+00 -5.8880962871766469e+00 2.6779862817975615e+00 + 164 -1.9151887508495447e-01 -2.6038253331119967e+00 -1.5631763792036044e-01 + 165 -5.4308678357699263e+00 3.1890361709539787e+00 -2.4512813444078483e+00 + 166 -4.8831911953854296e-01 -2.0911382434426180e+00 1.0263989663650475e+00 + 167 2.9583081381557141e-01 1.3064497582436205e+00 1.7854366483768458e+00 + 168 6.5759007584467666e+00 -3.2841132464414158e+00 -2.5014634020295765e+00 + 169 -7.4523257690304012e-01 -3.7773029542989214e+00 -3.6767020418412721e-01 + 170 -6.1312327154342663e+00 -1.5912197837133537e+00 -1.1855962370571882e-01 + 171 -7.1437588001445965e-02 -9.3031888107187068e+00 5.2754511162511697e-01 + 172 5.4932170480545635e+00 -3.9860368619528423e+00 1.7314892119390801e+00 + 173 -1.9946430535013948e+00 1.3671229931632465e+00 -4.6232127582616149e+00 + 174 -6.8496202690001984e-01 -2.7270551316211127e+00 7.9433814991520046e+00 + 175 3.2988872027002070e+00 2.5435438106820452e+00 6.4538031712204509e+00 + 176 2.9832582841622548e+00 1.1528571177956544e+00 -1.1771929693340815e+00 + 177 -6.0727927862320792e+00 -5.9562388562178219e+00 -6.5628478152085759e+00 + 178 -4.0304268005425792e+00 2.1299026394284679e+00 2.7736841705602893e+00 + 179 -2.3362097823934898e+00 3.2446508481242033e+00 6.0973333873914299e+00 + 180 6.6121228820666635e+00 -4.7286493145040209e+00 7.0211430066607718e+00 + 181 3.4705860716775057e+00 4.1400084168420239e+00 2.5096243926437127e+00 + 182 4.2357967515729050e-01 9.2785557547273534e-01 2.5722948535958101e-01 + 183 6.9092597174730619e-01 -4.3884673023252452e+00 -4.6957721500748217e+00 + 184 -1.6865429201680540e+00 3.5369692022564840e+00 -1.8052965931311715e+00 + 185 4.3961939657667709e-01 -2.8887423850093583e+00 -5.7296796525051796e-01 + 186 3.7570134025583464e+00 5.5027352242581329e-01 1.0958464933342382e+00 + 187 4.8450622687029874e+00 8.7301037576109541e-01 -2.9627442358409946e+00 + 188 -3.0352399103260255e+00 -5.5756624285611940e+00 -3.9845128251408686e+00 + 189 -1.4986666784757705e+00 3.0715079180009308e+00 -1.9202063976752652e+00 + 190 -3.4612601703740626e+00 5.2654166486565011e+00 -2.8054760695984231e+00 + 191 9.0463322673910387e+00 -1.4402000114087514e+00 -3.3926224071546280e+00 + 192 5.8257019271111021e+00 5.7499622015090095e+00 6.1760642521047258e+00 + 193 1.4101084499624608e+00 1.7371804088545164e+00 -1.6213174412210414e+00 + 194 -5.8399142482199755e+00 -1.1232412828535212e+00 -1.1499478454746739e+00 + 195 8.7634281400136826e-01 3.3470924205892794e+00 -8.1366156642166787e-01 + 196 1.6618348954342919e+00 1.3267230795340308e+00 -4.9613186302807337e+00 + 197 -9.5068329765370507e-01 -5.8237800850819008e+00 6.4731385586130585e-01 + 198 -4.5001292021626715e-01 4.9457441409188689e+00 1.9456461634790359e+00 + 199 -4.3052102443918923e+00 -4.5636488830760849e+00 1.5724677428330582e+00 + 200 1.5449878373123116e+00 2.4590982230198688e+00 -3.1390852730039280e+00 + 201 -4.6045449943310741e+00 -3.9440808098823092e+00 -4.6700755874078261e+00 + 202 3.7147697382411032e-01 -4.8285079070955383e-01 -3.6890671668077881e+00 + 203 3.8716570366709511e+00 -7.4579362411464674e+00 2.6984541425925892e+00 + 204 -5.6224994178132013e+00 -6.2110127059235545e+00 -6.7476211894064360e+00 + 205 3.1500132936960558e-02 7.0601764306126391e+00 -2.0944606590553407e+00 + 206 -2.3637150235789921e+00 5.8159045954964084e+00 9.2704917537071352e-01 + 207 -2.6728293943632542e+00 7.5552531622542540e+00 -4.8983926692928019e+00 + 208 2.6753525054677469e+00 -5.0623527488422482e-01 7.8939421082828281e+00 + 209 5.6999696634921291e+00 4.7279269674034738e+00 -4.4920700577051562e+00 + 210 -4.9787999902374684e+00 4.0981651408695106e+00 3.2088541364653715e+00 + 211 -1.6213391901712724e+00 -4.2635561713517145e+00 -9.7236351460333603e-01 + 212 -5.1758925760643830e+00 5.9036888087723653e+00 5.9897804863834381e+00 + 213 4.2475360018697278e-01 -1.5120403153751836e+00 -7.5118946585359749e+00 + 214 -8.4723991427858589e+00 5.8591586936796665e+00 -5.7220550448277150e+00 + 215 3.4936529015452913e+00 5.3887932178421645e+00 1.6618586990387143e+00 + 216 1.8397684085288563e-01 -4.7956123656856331e-01 -2.0248730631499283e+00 + 217 1.2740119839669883e+00 -1.9562152526426537e+00 4.6010648854406986e+00 + 218 -8.1088651153480396e-01 9.4981098330248848e-01 1.5857688839887434e+00 + 219 2.9237941762953339e+00 -2.0287483220569635e+00 2.7576412015032186e+00 + 220 -1.9423484320867117e+00 7.6700165963408562e-01 9.7032907448379540e+00 + 221 -3.0301266998673344e+00 3.3988629573493538e+00 -6.0790525480057900e+00 + 222 -1.9710732697574636e+00 2.6918587726714938e+00 -1.5068617145526289e+00 + 223 2.8596379254928648e+00 6.6388605559370273e-01 1.0001582081953790e+00 + 224 -1.2599066151316045e+00 -1.6716649508562935e+00 1.4607750060249154e+00 + 225 5.2650618358415464e+00 -6.0531728072803164e+00 6.8677797616117031e+00 + 226 2.8452772301515386e+00 5.6278916247941591e-01 -4.0654825176945270e-01 + 227 2.7601000342468498e+00 -5.8880962871766611e+00 2.6779862817975961e+00 + 228 -1.9151887508490981e-01 -2.6038253331119856e+00 -1.5631763792030609e-01 + 229 -5.4308678357699511e+00 3.1890361709539934e+00 -2.4512813444078612e+00 + 230 -4.8831911953854984e-01 -2.0911382434426251e+00 1.0263989663650557e+00 + 231 2.9583081381556320e-01 1.3064497582436116e+00 1.7854366483768354e+00 + 232 6.5759007584467382e+00 -3.2841132464414193e+00 -2.5014634020295694e+00 + 233 -7.4523257690308631e-01 -3.7773029542989258e+00 -3.6767020418418467e-01 + 234 -6.1312327154342894e+00 -1.5912197837133386e+00 -1.1855962370570818e-01 + 235 -7.1437588001492872e-02 -9.3031888107186891e+00 5.2754511162502227e-01 + 236 5.4932170480545430e+00 -3.9860368619528441e+00 1.7314892119390803e+00 + 237 -1.9946430535013142e+00 1.3671229931632154e+00 -4.6232127582615608e+00 + 238 -6.8496202690009744e-01 -2.7270551316211820e+00 7.9433814991520935e+00 + 239 3.2988872027002363e+00 2.5435438106820789e+00 6.4538031712204704e+00 + 240 2.9832582841622362e+00 1.1528571177956641e+00 -1.1771929693340462e+00 + 241 -6.0727927862320854e+00 -5.9562388562178352e+00 -6.5628478152085883e+00 + 242 -4.0304268005425721e+00 2.1299026394284692e+00 2.7736841705602875e+00 + 243 -2.3362097823934374e+00 3.2446508481241776e+00 6.0973333873914353e+00 + 244 6.6121228820667399e+00 -4.7286493145040733e+00 7.0211430066608385e+00 + 245 3.4705860716774652e+00 4.1400084168420435e+00 2.5096243926437278e+00 + 246 4.2357967515728162e-01 9.2785557547273401e-01 2.5722948535957330e-01 + 247 6.9092597174729831e-01 -4.3884673023252470e+00 -4.6957721500748297e+00 + 248 -1.6865429201680422e+00 3.5369692022564601e+00 -1.8052965931311555e+00 + 249 4.3961939657668897e-01 -2.8887423850093570e+00 -5.7296796525051763e-01 + 250 3.7570134025583206e+00 5.5027352242584893e-01 1.0958464933342245e+00 + 251 4.8450622687031517e+00 8.7301037576121032e-01 -2.9627442358410292e+00 + 252 -3.0352399103261058e+00 -5.5756624285611966e+00 -3.9845128251408668e+00 + 253 -1.4986666784757416e+00 3.0715079180009628e+00 -1.9202063976753083e+00 + 254 -3.4612601703740657e+00 5.2654166486565055e+00 -2.8054760695984311e+00 + 255 9.0463322673909605e+00 -1.4402000114087883e+00 -3.3926224071546374e+00 + 256 5.8257019271111172e+00 5.7499622015090237e+00 6.1760642521047506e+00 + 257 1.4101084499624821e+00 1.7371804088545320e+00 -1.6213174412210622e+00 + 258 -5.8399142482199720e+00 -1.1232412828535363e+00 -1.1499478454746668e+00 + 259 8.7634281400131031e-01 3.3470924205892638e+00 -8.1366156642160625e-01 + 260 1.6618348954343440e+00 1.3267230795340927e+00 -4.9613186302806929e+00 + 261 -9.5068329765371196e-01 -5.8237800850819008e+00 6.4731385586131096e-01 + 262 -4.5001292021624006e-01 4.9457441409188165e+00 1.9456461634790361e+00 + 263 -4.3052102443920655e+00 -4.5636488830761079e+00 1.5724677428331033e+00 + 264 1.5449878373123045e+00 2.4590982230197711e+00 -3.1390852730039596e+00 + 265 -4.6045449943310590e+00 -3.9440808098822986e+00 -4.6700755874078190e+00 + 266 3.7147697382421191e-01 -4.8285079070938253e-01 -3.6890671668078272e+00 + 267 3.8716570366710106e+00 -7.4579362411464922e+00 2.6984541425926230e+00 + 268 -5.6224994178131089e+00 -6.2110127059234665e+00 -6.7476211894063454e+00 + 269 3.1500132936923747e-02 7.0601764306126489e+00 -2.0944606590553865e+00 + 270 -2.3637150235789854e+00 5.8159045954962343e+00 9.2704917537076525e-01 + 271 -2.6728293943632391e+00 7.5552531622541936e+00 -4.8983926692927895e+00 + 272 2.6753525054677070e+00 -5.0623527488435160e-01 7.8939421082827304e+00 + 273 5.6999696634920456e+00 4.7279269674033984e+00 -4.4920700577050825e+00 + 274 -4.9787999902374587e+00 4.0981651408695194e+00 3.2088541364653747e+00 + 275 -1.6213391901711784e+00 -4.2635561713516665e+00 -9.7236351460323123e-01 + 276 -5.1758925760643768e+00 5.9036888087723671e+00 5.9897804863834461e+00 + 277 4.2475360018693203e-01 -1.5120403153751611e+00 -7.5118946585359998e+00 + 278 -8.4723991427858163e+00 5.8591586936795723e+00 -5.7220550448276324e+00 + 279 3.4936529015452158e+00 5.3887932178421147e+00 1.6618586990386937e+00 + 280 1.8397684085290614e-01 -4.7956123656858746e-01 -2.0248730631499305e+00 + 281 1.2740119839669295e+00 -1.9562152526425904e+00 4.6010648854406897e+00 + 282 -8.1088651153478086e-01 9.4981098330250702e-01 1.5857688839887112e+00 + 283 2.9237941762954396e+00 -2.0287483220568601e+00 2.7576412015032639e+00 + 284 -1.9423484320868234e+00 7.6700165963416189e-01 9.7032907448380499e+00 + 285 -3.0301266998673673e+00 3.3988629573493960e+00 -6.0790525480057918e+00 + 286 -1.9710732697575224e+00 2.6918587726715231e+00 -1.5068617145526926e+00 + 287 2.8596379254927800e+00 6.6388605559365599e-01 1.0001582081953235e+00 + 288 -1.2599066151315834e+00 -1.6716649508562769e+00 1.4607750060248932e+00 + 289 5.2650618358415393e+00 -6.0531728072803137e+00 6.8677797616117173e+00 + 290 2.8452772301515066e+00 5.6278916247943045e-01 -4.0654825176946702e-01 + 291 2.7601000342468001e+00 -5.8880962871766300e+00 2.6779862817975353e+00 + 292 -1.9151887508495458e-01 -2.6038253331120433e+00 -1.5631763792035228e-01 + 293 -5.4308678357698943e+00 3.1890361709539579e+00 -2.4512813444078385e+00 + 294 -4.8831911953853374e-01 -2.0911382434426065e+00 1.0263989663650335e+00 + 295 2.9583081381557258e-01 1.3064497582436179e+00 1.7854366483768653e+00 + 296 6.5759007584467710e+00 -3.2841132464413874e+00 -2.5014634020295454e+00 + 297 -7.4523257690301581e-01 -3.7773029542989440e+00 -3.6767020418409979e-01 + 298 -6.1312327154342841e+00 -1.5912197837134179e+00 -1.1855962370576735e-01 + 299 -7.1437588001370414e-02 -9.3031888107186909e+00 5.2754511162517459e-01 + 300 5.4932170480544942e+00 -3.9860368619527264e+00 1.7314892119389909e+00 + 301 -1.9946430535014457e+00 1.3671229931632713e+00 -4.6232127582616096e+00 + 302 -6.8496202690010877e-01 -2.7270551316211198e+00 7.9433814991521130e+00 + 303 3.2988872027001550e+00 2.5435438106820074e+00 6.4538031712204074e+00 + 304 2.9832582841622832e+00 1.1528571177955860e+00 -1.1771929693341221e+00 + 305 -6.0727927862320188e+00 -5.9562388562177242e+00 -6.5628478152084666e+00 + 306 -4.0304268005425739e+00 2.1299026394283915e+00 2.7736841705602342e+00 + 307 -2.3362097823934587e+00 3.2446508481241976e+00 6.0973333873914486e+00 + 308 6.6121228820666698e+00 -4.7286493145040485e+00 7.0211430066607754e+00 + 309 3.4705860716773902e+00 4.1400084168419946e+00 2.5096243926436350e+00 + 310 4.2357967515730982e-01 9.2785557547277886e-01 2.5722948535960299e-01 + 311 6.9092597174732806e-01 -4.3884673023252336e+00 -4.6957721500748990e+00 + 312 -1.6865429201680846e+00 3.5369692022565031e+00 -1.8052965931312008e+00 + 313 4.3961939657667753e-01 -2.8887423850093206e+00 -5.7296796525047766e-01 + 314 3.7570134025583668e+00 5.5027352242574279e-01 1.0958464933342584e+00 + 315 4.8450622687030931e+00 8.7301037576128449e-01 -2.9627442358410239e+00 + 316 -3.0352399103260499e+00 -5.5756624285612588e+00 -3.9845128251408717e+00 + 317 -1.4986666784757807e+00 3.0715079180009188e+00 -1.9202063976752237e+00 + 318 -3.4612601703738872e+00 5.2654166486563296e+00 -2.8054760695982797e+00 + 319 9.0463322673910156e+00 -1.4402000114088058e+00 -3.3926224071547022e+00 + 320 5.8257019271111492e+00 5.7499622015090619e+00 6.1760642521047746e+00 + 321 1.4101084499624930e+00 1.7371804088545482e+00 -1.6213174412210776e+00 + 322 -5.8399142482199764e+00 -1.1232412828535339e+00 -1.1499478454746686e+00 + 323 8.7634281400132608e-01 3.3470924205892665e+00 -8.1366156642162457e-01 + 324 1.6618348954343205e+00 1.3267230795340574e+00 -4.9613186302807080e+00 + 325 -9.5068329765370641e-01 -5.8237800850818982e+00 6.4731385586130263e-01 + 326 -4.5001292021627354e-01 4.9457441409188521e+00 1.9456461634790065e+00 + 327 -4.3052102443919802e+00 -4.5636488830761017e+00 1.5724677428330862e+00 + 328 1.5449878373123684e+00 2.4590982230197573e+00 -3.1390852730039471e+00 + 329 -4.6045449943310564e+00 -3.9440808098822910e+00 -4.6700755874078128e+00 + 330 3.7147697382415185e-01 -4.8285079070942744e-01 -3.6890671668078241e+00 + 331 3.8716570366710017e+00 -7.4579362411464851e+00 2.6984541425926141e+00 + 332 -5.6224994178131533e+00 -6.2110127059235163e+00 -6.7476211894063827e+00 + 333 3.1500132936925183e-02 7.0601764306126444e+00 -2.0944606590553865e+00 + 334 -2.3637150235789504e+00 5.8159045954962405e+00 9.2704917537079212e-01 + 335 -2.6728293943632542e+00 7.5552531622542229e+00 -4.8983926692928046e+00 + 336 2.6753525054677669e+00 -5.0623527488425835e-01 7.8939421082827224e+00 + 337 5.6999696634920856e+00 4.7279269674034463e+00 -4.4920700577051269e+00 + 338 -4.9787999902374551e+00 4.0981651408695221e+00 3.2088541364653778e+00 + 339 -1.6213391901712344e+00 -4.2635561713516585e+00 -9.7236351460324666e-01 + 340 -5.1758925760643697e+00 5.9036888087723565e+00 5.9897804863834354e+00 + 341 4.2475360018693609e-01 -1.5120403153751667e+00 -7.5118946585359909e+00 + 342 -8.4723991427858785e+00 5.8591586936796265e+00 -5.7220550448277079e+00 + 343 3.4936529015452273e+00 5.3887932178421618e+00 1.6618586990387230e+00 + 344 1.8397684085289956e-01 -4.7956123656857780e-01 -2.0248730631499239e+00 + 345 1.2740119839669390e+00 -1.9562152526426062e+00 4.6010648854406764e+00 + 346 -8.1088651153478553e-01 9.4981098330252334e-01 1.5857688839887387e+00 + 347 2.9237941762953992e+00 -2.0287483220568805e+00 2.7576412015032563e+00 + 348 -1.9423484320867914e+00 7.6700165963412470e-01 9.7032907448380126e+00 + 349 -3.0301266998673508e+00 3.3988629573493823e+00 -6.0790525480057935e+00 + 350 -1.9710732697575186e+00 2.6918587726715040e+00 -1.5068617145526872e+00 + 351 2.8596379254928315e+00 6.6388605559364489e-01 1.0001582081953193e+00 + 352 -1.2599066151315763e+00 -1.6716649508562649e+00 1.4607750060248825e+00 + 353 5.2650618358415358e+00 -6.0531728072803039e+00 6.8677797616117013e+00 + 354 2.8452772301515208e+00 5.6278916247943167e-01 -4.0654825176947129e-01 + 355 2.7601000342468276e+00 -5.8880962871766460e+00 2.6779862817975841e+00 + 356 -1.9151887508491444e-01 -2.6038253331120340e+00 -1.5631763792030451e-01 + 357 -5.4308678357699245e+00 3.1890361709539801e+00 -2.4512813444078616e+00 + 358 -4.8831911953854307e-01 -2.0911382434426167e+00 1.0263989663650450e+00 + 359 2.9583081381555965e-01 1.3064497582436063e+00 1.7854366483768507e+00 + 360 6.5759007584467506e+00 -3.2841132464413922e+00 -2.5014634020295325e+00 + 361 -7.4523257690305722e-01 -3.7773029542989423e+00 -3.6767020418415286e-01 + 362 -6.1312327154343169e+00 -1.5912197837133930e+00 -1.1855962370575777e-01 + 363 -7.1437588001404595e-02 -9.3031888107186678e+00 5.2754511162509421e-01 + 364 5.4932170480544711e+00 -3.9860368619527211e+00 1.7314892119389858e+00 + 365 -1.9946430535013675e+00 1.3671229931632347e+00 -4.6232127582615679e+00 + 366 -6.8496202690018337e-01 -2.7270551316211873e+00 7.9433814991521965e+00 + 367 3.2988872027001723e+00 2.5435438106820345e+00 6.4538031712204189e+00 + 368 2.9832582841622557e+00 1.1528571177956033e+00 -1.1771929693340897e+00 + 369 -6.0727927862320215e+00 -5.9562388562177313e+00 -6.5628478152084746e+00 + 370 -4.0304268005425694e+00 2.1299026394283858e+00 2.7736841705602271e+00 + 371 -2.3362097823934023e+00 3.2446508481241731e+00 6.0973333873914468e+00 + 372 6.6121228820667550e+00 -4.7286493145041018e+00 7.0211430066608349e+00 + 373 3.4705860716773431e+00 4.1400084168420124e+00 2.5096243926436417e+00 + 374 4.2357967515730849e-01 9.2785557547278052e-01 2.5722948535960155e-01 + 375 6.9092597174731007e-01 -4.3884673023252097e+00 -4.6957721500749070e+00 + 376 -1.6865429201680713e+00 3.5369692022564734e+00 -1.8052965931311837e+00 + 377 4.3961939657668581e-01 -2.8887423850093219e+00 -5.7296796525047600e-01 + 378 3.7570134025583304e+00 5.5027352242577721e-01 1.0958464933342462e+00 + 379 4.8450622687032530e+00 8.7301037576138063e-01 -2.9627442358410687e+00 + 380 -3.0352399103261356e+00 -5.5756624285612642e+00 -3.9845128251408739e+00 + 381 -1.4986666784757519e+00 3.0715079180009477e+00 -1.9202063976752695e+00 + 382 -3.4612601703738868e+00 5.2654166486563332e+00 -2.8054760695982841e+00 + 383 9.0463322673909374e+00 -1.4402000114088291e+00 -3.3926224071546991e+00 + 384 5.8257019271111679e+00 5.7499622015090797e+00 6.1760642521048039e+00 + 385 1.4101084499624525e+00 1.7371804088545033e+00 -1.6213174412210296e+00 + 386 -5.8399142482199862e+00 -1.1232412828535530e+00 -1.1499478454746939e+00 + 387 8.7634281400133762e-01 3.3470924205892811e+00 -8.1366156642163467e-01 + 388 1.6618348954343189e+00 1.3267230795340708e+00 -4.9613186302806893e+00 + 389 -9.5068329765370574e-01 -5.8237800850818857e+00 6.4731385586130419e-01 + 390 -4.5001292021620803e-01 4.9457441409188609e+00 1.9456461634790638e+00 + 391 -4.3052102443920148e+00 -4.5636488830760928e+00 1.5724677428330669e+00 + 392 1.5449878373122630e+00 2.4590982230198328e+00 -3.1390852730039636e+00 + 393 -4.6045449943310599e+00 -3.9440808098822973e+00 -4.6700755874078190e+00 + 394 3.7147697382413564e-01 -4.8285079070951542e-01 -3.6890671668078552e+00 + 395 3.8716570366710150e+00 -7.4579362411464905e+00 2.6984541425926283e+00 + 396 -5.6224994178131684e+00 -6.2110127059235083e+00 -6.7476211894064004e+00 + 397 3.1500132936903361e-02 7.0601764306126622e+00 -2.0944606590553727e+00 + 398 -2.3637150235789628e+00 5.8159045954964084e+00 9.2704917537075482e-01 + 399 -2.6728293943632360e+00 7.5552531622541848e+00 -4.8983926692927824e+00 + 400 2.6753525054677088e+00 -5.0623527488430753e-01 7.8939421082828236e+00 + 401 5.6999696634920838e+00 4.7279269674034206e+00 -4.4920700577051109e+00 + 402 -4.9787999902374853e+00 4.0981651408695390e+00 3.2088541364653889e+00 + 403 -1.6213391901711742e+00 -4.2635561713517065e+00 -9.7236351460324078e-01 + 404 -5.1758925760643617e+00 5.9036888087723556e+00 5.9897804863834248e+00 + 405 4.2475360018695274e-01 -1.5120403153751805e+00 -7.5118946585360309e+00 + 406 -8.4723991427857683e+00 5.8591586936795927e+00 -5.7220550448276235e+00 + 407 3.4936529015452371e+00 5.3887932178421076e+00 1.6618586990386719e+00 + 408 1.8397684085291077e-01 -4.7956123656858829e-01 -2.0248730631499336e+00 + 409 1.2740119839669277e+00 -1.9562152526425909e+00 4.6010648854406906e+00 + 410 -8.1088651153479041e-01 9.4981098330248481e-01 1.5857688839886941e+00 + 411 2.9237941762953978e+00 -2.0287483220569191e+00 2.7576412015032483e+00 + 412 -1.9423484320866864e+00 7.6700165963406364e-01 9.7032907448380747e+00 + 413 -3.0301266998673588e+00 3.3988629573493836e+00 -6.0790525480057784e+00 + 414 -1.9710732697574922e+00 2.6918587726715275e+00 -1.5068617145526606e+00 + 415 2.8596379254928053e+00 6.6388605559367742e-01 1.0001582081953477e+00 + 416 -1.2599066151316127e+00 -1.6716649508563064e+00 1.4607750060249283e+00 + 417 5.2650618358415322e+00 -6.0531728072803128e+00 6.8677797616117084e+00 + 418 2.8452772301515101e+00 5.6278916247941135e-01 -4.0654825176944531e-01 + 419 2.7601000342468089e+00 -5.8880962871766425e+00 2.6779862817975424e+00 + 420 -1.9151887508494253e-01 -2.6038253331119847e+00 -1.5631763792032466e-01 + 421 -5.4308678357699103e+00 3.1890361709539627e+00 -2.4512813444078398e+00 + 422 -4.8831911953852797e-01 -2.0911382434426020e+00 1.0263989663650284e+00 + 423 2.9583081381557613e-01 1.3064497582436265e+00 1.7854366483768651e+00 + 424 6.5759007584467728e+00 -3.2841132464414398e+00 -2.5014634020296111e+00 + 425 -7.4523257690300748e-01 -3.7773029542989298e+00 -3.6767020418409530e-01 + 426 -6.1312327154343080e+00 -1.5912197837134572e+00 -1.1855962370580690e-01 + 427 -7.1437588001371552e-02 -9.3031888107186891e+00 5.2754511162517204e-01 + 428 5.4932170480545333e+00 -3.9860368619528117e+00 1.7314892119390457e+00 + 429 -1.9946430535014565e+00 1.3671229931632738e+00 -4.6232127582616211e+00 + 430 -6.8496202690002050e-01 -2.7270551316210470e+00 7.9433814991521041e+00 + 431 3.2988872027001621e+00 2.5435438106820136e+00 6.4538031712204020e+00 + 432 2.9832582841622699e+00 1.1528571177956566e+00 -1.1771929693340877e+00 + 433 -6.0727927862320508e+00 -5.9562388562177730e+00 -6.5628478152085341e+00 + 434 -4.0304268005425508e+00 2.1299026394283942e+00 2.7736841705602284e+00 + 435 -2.3362097823934858e+00 3.2446508481242029e+00 6.0973333873914832e+00 + 436 6.6121228820666458e+00 -4.7286493145039872e+00 7.0211430066607585e+00 + 437 3.4705860716774093e+00 4.1400084168420399e+00 2.5096243926437141e+00 + 438 4.2357967515730749e-01 9.2785557547275888e-01 2.5722948535959472e-01 + 439 6.9092597174730430e-01 -4.3884673023252345e+00 -4.6957721500748741e+00 + 440 -1.6865429201680737e+00 3.5369692022564805e+00 -1.8052965931311884e+00 + 441 4.3961939657667570e-01 -2.8887423850093761e+00 -5.7296796525051241e-01 + 442 3.7570134025583579e+00 5.5027352242577710e-01 1.0958464933342291e+00 + 443 4.8450622687030620e+00 8.7301037576117979e-01 -2.9627442358409883e+00 + 444 -3.0352399103260317e+00 -5.5756624285612162e+00 -3.9845128251408619e+00 + 445 -1.4986666784757814e+00 3.0715079180009548e+00 -1.9202063976752319e+00 + 446 -3.4612601703739747e+00 5.2654166486564131e+00 -2.8054760695983596e+00 + 447 9.0463322673909907e+00 -1.4402000114087794e+00 -3.3926224071546360e+00 + 448 5.8257019271111217e+00 5.7499622015090361e+00 6.1760642521047426e+00 + 449 1.4101084499624597e+00 1.7371804088545151e+00 -1.6213174412210403e+00 + 450 -5.8399142482199826e+00 -1.1232412828535623e+00 -1.1499478454747027e+00 + 451 8.7634281400135128e-01 3.3470924205892825e+00 -8.1366156642165033e-01 + 452 1.6618348954342974e+00 1.3267230795340375e+00 -4.9613186302807062e+00 + 453 -9.5068329765371173e-01 -5.8237800850818742e+00 6.4731385586130530e-01 + 454 -4.5001292021623840e-01 4.9457441409188965e+00 1.9456461634790305e+00 + 455 -4.3052102443919233e+00 -4.5636488830760875e+00 1.5724677428330425e+00 + 456 1.5449878373123287e+00 2.4590982230198164e+00 -3.1390852730039471e+00 + 457 -4.6045449943310555e+00 -3.9440808098822906e+00 -4.6700755874078110e+00 + 458 3.7147697382405820e-01 -4.8285079070957626e-01 -3.6890671668078694e+00 + 459 3.8716570366710061e+00 -7.4579362411464825e+00 2.6984541425926185e+00 + 460 -5.6224994178132075e+00 -6.2110127059235563e+00 -6.7476211894064324e+00 + 461 3.1500132936904394e-02 7.0601764306126551e+00 -2.0944606590553683e+00 + 462 -2.3637150235788997e+00 5.8159045954964208e+00 9.2704917537079956e-01 + 463 -2.6728293943632488e+00 7.5552531622542132e+00 -4.8983926692927993e+00 + 464 2.6753525054677629e+00 -5.0623527488421971e-01 7.8939421082828227e+00 + 465 5.6999696634921175e+00 4.7279269674034632e+00 -4.4920700577051491e+00 + 466 -4.9787999902374853e+00 4.0981651408695390e+00 3.2088541364653929e+00 + 467 -1.6213391901712317e+00 -4.2635561713516923e+00 -9.7236351460325832e-01 + 468 -5.1758925760643590e+00 5.9036888087723547e+00 5.9897804863834283e+00 + 469 4.2475360018695851e-01 -1.5120403153751887e+00 -7.5118946585360202e+00 + 470 -8.4723991427858198e+00 5.8591586936796345e+00 -5.7220550448276848e+00 + 471 3.4936529015452535e+00 5.3887932178421414e+00 1.6618586990386996e+00 + 472 1.8397684085290258e-01 -4.7956123656857802e-01 -2.0248730631499252e+00 + 473 1.2740119839669375e+00 -1.9562152526426058e+00 4.6010648854406782e+00 + 474 -8.1088651153479008e-01 9.4981098330248936e-01 1.5857688839887156e+00 + 475 2.9237941762953636e+00 -2.0287483220569400e+00 2.7576412015032501e+00 + 476 -1.9423484320866595e+00 7.6700165963402811e-01 9.7032907448380463e+00 + 477 -3.0301266998673562e+00 3.3988629573493827e+00 -6.0790525480057811e+00 + 478 -1.9710732697574942e+00 2.6918587726715151e+00 -1.5068617145526599e+00 + 479 2.8596379254928510e+00 6.6388605559366176e-01 1.0001582081953388e+00 + 480 -1.2599066151316027e+00 -1.6716649508562909e+00 1.4607750060249132e+00 + 481 5.2650618358415304e+00 -6.0531728072803013e+00 6.8677797616116942e+00 + 482 2.8452772301515323e+00 5.6278916247940747e-01 -4.0654825176944437e-01 + 483 2.7601000342468427e+00 -5.8880962871766620e+00 2.6779862817975988e+00 + 484 -1.9151887508489973e-01 -2.6038253331119732e+00 -1.5631763792027364e-01 + 485 -5.4308678357699458e+00 3.1890361709539921e+00 -2.4512813444078692e+00 + 486 -4.8831911953853724e-01 -2.0911382434426127e+00 1.0263989663650404e+00 + 487 2.9583081381556153e-01 1.3064497582436110e+00 1.7854366483768467e+00 + 488 6.5759007584467559e+00 -3.2841132464414446e+00 -2.5014634020295974e+00 + 489 -7.4523257690305023e-01 -3.7773029542989289e+00 -3.6767020418414947e-01 + 490 -6.1312327154343400e+00 -1.5912197837134316e+00 -1.1855962370579468e-01 + 491 -7.1437588001410285e-02 -9.3031888107186607e+00 5.2754511162508533e-01 + 492 5.4932170480545075e+00 -3.9860368619527939e+00 1.7314892119390288e+00 + 493 -1.9946430535013788e+00 1.3671229931632261e+00 -4.6232127582615652e+00 + 494 -6.8496202690009644e-01 -2.7270551316211180e+00 7.9433814991521929e+00 + 495 3.2988872027001812e+00 2.5435438106820385e+00 6.4538031712204118e+00 + 496 2.9832582841622437e+00 1.1528571177956686e+00 -1.1771929693340504e+00 + 497 -6.0727927862320561e+00 -5.9562388562177819e+00 -6.5628478152085421e+00 + 498 -4.0304268005425445e+00 2.1299026394283875e+00 2.7736841705602195e+00 + 499 -2.3362097823934316e+00 3.2446508481241807e+00 6.0973333873914815e+00 + 500 6.6121228820667195e+00 -4.7286493145040280e+00 7.0211430066608118e+00 + 501 3.4705860716773675e+00 4.1400084168420586e+00 2.5096243926437238e+00 + 502 4.2357967515730505e-01 9.2785557547276187e-01 2.5722948535959261e-01 + 503 6.9092597174729276e-01 -4.3884673023252168e+00 -4.6957721500748875e+00 + 504 -1.6865429201680671e+00 3.5369692022564592e+00 -1.8052965931311771e+00 + 505 4.3961939657668192e-01 -2.8887423850093774e+00 -5.7296796525051119e-01 + 506 3.7570134025583219e+00 5.5027352242580696e-01 1.0958464933342265e+00 + 507 4.8450622687032290e+00 8.7301037576129070e-01 -2.9627442358410261e+00 + 508 -3.0352399103261072e+00 -5.5756624285612277e+00 -3.9845128251408530e+00 + 509 -1.4986666784757479e+00 3.0715079180009810e+00 -1.9202063976752817e+00 + 510 -3.4612601703739792e+00 5.2654166486564211e+00 -2.8054760695983689e+00 + 511 9.0463322673909019e+00 -1.4402000114088067e+00 -3.3926224071546316e+00 + 512 5.8257019271111394e+00 5.7499622015090530e+00 6.1760642521047702e+00 ... diff --git a/unittest/force-styles/tests/manybody-pair-bop_save.yaml b/unittest/force-styles/tests/manybody-pair-bop_save.yaml index 77388eb6d6..a409cc6a18 100644 --- a/unittest/force-styles/tests/manybody-pair-bop_save.yaml +++ b/unittest/force-styles/tests/manybody-pair-bop_save.yaml @@ -1,7 +1,7 @@ --- -lammps_version: 8 Apr 2021 +lammps_version: 4 May 2022 tags: slow, unstable -date_generated: Wed May 5 11:50:24 2021 +date_generated: Fri May 27 17:36:37 2022 epsilon: 2e-11 prerequisites: ! | pair bop @@ -535,521 +535,521 @@ init_forces: ! |2 510 -2.2749371215520973e+00 3.3600739184147281e+00 -2.2482793489540440e+00 511 5.5276560306465985e+00 -1.7222471161905775e+00 -2.0146673282516816e+00 512 4.5674510924053244e+00 4.8005511894034880e+00 3.9347170870249073e+00 -run_vdwl: -1148.282038612608 +run_vdwl: -1148.085978939542 run_coul: 0 run_stress: ! |2- - 4.0607716458773768e+02 4.1990275279117287e+02 4.3189008174024184e+02 -1.5062607937984635e+02 2.6526098686927287e+02 9.4584979764475761e+01 + 4.0653370543801509e+02 4.2033870846285419e+02 4.3236415621179896e+02 -1.5065757455794261e+02 2.6546325857473971e+02 9.4558303537896379e+01 run_forces: ! |2 - 1 2.2069706541796388e-01 6.8504065097219424e-01 -4.7003026743895970e-01 - 2 -4.0115936231307527e+00 -2.1218205387046813e+00 -9.9827955102434096e-01 - 3 2.9684129910662155e-01 3.7262517916028939e+00 -1.0816521062552547e+00 - 4 8.1382993930066636e-02 -3.5573677522989434e-02 -3.5151985944756716e+00 - 5 -6.2695071956387849e-01 -2.7259542642215560e+00 9.9501440284676745e-01 - 6 -2.9721298245652095e-01 3.9092099179600144e+00 1.7771226768578408e+00 - 7 -2.1393366306894119e+00 -2.8262788823503495e+00 2.4444601376032611e+00 - 8 1.2252752627543042e+00 1.8934056804257413e+00 -3.0563193598572838e+00 - 9 -3.4352637419435315e+00 -3.0718102718512688e+00 -2.8741859913748353e+00 - 10 3.2090680356600215e-01 -2.0401852703167229e+00 -2.4805669123527418e+00 - 11 2.3972135113483128e+00 -5.4019275833386891e+00 2.9765689120499652e+00 - 12 -4.3059430208316893e+00 -5.2598510825764047e+00 -5.2457319921326535e+00 - 13 -2.0232603864831392e-01 4.6375969951188543e+00 -1.5156362503136191e+00 - 14 -1.8428907820177531e+00 4.1515760568266957e+00 7.9422558196288362e-01 - 15 -3.3872595206479295e-01 4.9031092798381115e+00 -2.6117752561706911e+00 - 16 2.1162867716623701e+00 -4.0907630320480304e-01 4.5499311914742053e+00 - 17 4.4932801950135799e+00 3.4906677225423097e+00 -2.2635575912914447e+00 - 18 -3.5499768941512801e+00 1.1000156547358544e+00 2.2836994301124411e+00 - 19 -1.0451125955757885e+00 -2.9706240853885748e+00 -3.1507881990096265e-01 - 20 -3.3291212370733847e+00 3.2398148659892456e+00 4.6554951367993462e+00 - 21 -1.6602702919265779e+00 -5.0302444299485305e-01 -4.3331670906647055e+00 - 22 -5.1739012326876637e+00 3.7621044694833210e+00 -3.8694108983864686e+00 - 23 2.5800462945673135e+00 3.9113827058424171e+00 1.0058282701256815e+00 - 24 1.2186619874794036e+00 1.2903429720366235e+00 -2.1812056654218557e+00 - 25 5.1708533972776105e-01 -2.2724925528178241e-01 4.0361514608963143e+00 - 26 5.5528219623799939e-02 -6.3249115106540299e-01 1.1331478048837946e+00 - 27 2.3763801964792712e+00 -1.3568111553144141e-01 1.8305254882251978e+00 - 28 -7.4479731670624405e-01 6.2631724116235110e-01 7.0917585103702665e+00 - 29 -2.7946615351838360e+00 2.6497754369023019e+00 -4.9404756163540391e+00 - 30 -1.9276104520041739e+00 3.6726001318584696e+00 -1.8895215405747063e+00 - 31 2.7496645204151502e+00 1.1798091106750743e+00 1.0381378973286883e+00 - 32 2.8838885087720789e-01 -8.4153051128336498e-01 -4.5863881665538508e-01 - 33 2.4166757309749873e+00 -4.1769572659124101e+00 4.2709577151965359e+00 - 34 2.9163676292149239e+00 1.1371300137918047e-01 2.4075146002080905e-01 - 35 1.1198725269487722e+00 -4.1834197631714796e+00 2.7042173489858361e+00 - 36 -3.3387630324068235e-01 -2.8581757312520599e+00 -3.6169899983199721e-01 - 37 -4.0590700128584567e+00 1.4771680009302546e+00 -2.0374279165464233e+00 - 38 -1.3972038958445390e+00 -1.5892380209629904e+00 1.2229478783443002e+00 - 39 1.7222082871468380e+00 4.5985338951359445e-01 1.6228250135495894e+00 - 40 4.7456372038759813e+00 -2.0011059690936865e+00 -2.3332863863915216e+00 - 41 -3.0219214453293353e-01 -3.1648775808919472e+00 -3.4512151605719299e-01 - 42 -4.3738385374526683e+00 -1.4984390331917190e+00 3.4904474570057104e-01 - 43 -2.3595429224659230e-02 -5.2158149238260405e+00 1.0420171577659396e+00 - 44 3.5666455681950779e+00 -3.5061609850861370e+00 1.5276480532892043e+00 - 45 -2.2416592732685330e+00 1.2743323477451050e+00 -3.4535947332380030e+00 - 46 -2.5063043912906469e-01 -1.6306933990280013e+00 5.6310172031723624e+00 - 47 2.3589854948440898e+00 2.5421876741753944e+00 3.1695195211974569e+00 - 48 2.2574894820169225e+00 3.6956620104200244e-01 -3.5121218711855451e-01 - 49 -5.0351003329616812e+00 -3.5764874514977381e+00 -4.2176800204027698e+00 - 50 -3.5336727643305714e+00 1.0270508441019901e+00 8.7528194493804723e-01 - 51 -1.7753604141545498e+00 2.1870380688570177e+00 4.0746694362092146e+00 - 52 4.2449410599123940e+00 -4.3834286828818527e+00 3.7646766355562638e+00 - 53 2.7078936465321761e+00 3.1295683628914337e+00 1.7445195155460467e+00 - 54 8.7327387446491855e-01 7.6772540692815150e-01 -3.2402617779280607e-01 - 55 8.1016418773722532e-01 -3.1389885601606808e+00 -3.3633443469809321e+00 - 56 -1.4278855654148919e+00 4.0286484781122356e+00 -1.9992906821384984e+00 - 57 8.6542958084556795e-02 -1.1020400457566657e+00 -3.3822209055936425e-01 - 58 3.5813121257873739e+00 -5.6151617304233592e-01 1.4119734987696821e+00 - 59 3.0606661941207842e+00 1.7089133715354605e+00 -2.8032446787135936e+00 - 60 -1.3854267730385412e+00 -4.4188316872855324e+00 -2.5380111088582060e+00 - 61 -1.6904739442047063e+00 1.8488347785921950e+00 -1.3746204703475935e+00 - 62 -2.2661772905636317e+00 3.3572261480594037e+00 -2.2464258009076628e+00 - 63 5.5268470973310295e+00 -1.7435558018609616e+00 -2.0408474603750877e+00 - 64 4.5886957877184607e+00 4.8319627526991162e+00 3.9643528671273387e+00 - 65 2.2069706541796819e-01 6.8504065097220912e-01 -4.7003026743896925e-01 - 66 -4.0115936231307687e+00 -2.1218205387046734e+00 -9.9827955102434052e-01 - 67 2.9684129910660978e-01 3.7262517916029050e+00 -1.0816521062552384e+00 - 68 8.1382993930077974e-02 -3.5573677522972448e-02 -3.5151985944756765e+00 - 69 -6.2695071956388693e-01 -2.7259542642215631e+00 9.9501440284676412e-01 - 70 -2.9721298245652655e-01 3.9092099179600175e+00 1.7771226768578361e+00 - 71 -2.1393366306893342e+00 -2.8262788823503495e+00 2.4444601376032358e+00 - 72 1.2252752627542938e+00 1.8934056804257393e+00 -3.0563193598572895e+00 - 73 -3.4352637419435372e+00 -3.0718102718512790e+00 -2.8741859913748460e+00 - 74 3.2090680356598111e-01 -2.0401852703167536e+00 -2.4805669123527228e+00 - 75 2.3972135113482707e+00 -5.4019275833386740e+00 2.9765689120499244e+00 - 76 -4.3059430208317364e+00 -5.2598510825764526e+00 -5.2457319921326837e+00 - 77 -2.0232603864827342e-01 4.6375969951188312e+00 -1.5156362503135774e+00 - 78 -1.8428907820177838e+00 4.1515760568267348e+00 7.9422558196283433e-01 - 79 -3.3872595206480938e-01 4.9031092798381408e+00 -2.6117752561707013e+00 - 80 2.1162867716624736e+00 -4.0907630320472643e-01 4.5499311914741627e+00 - 81 4.4932801950136092e+00 3.4906677225423564e+00 -2.2635575912914865e+00 - 82 -3.5499768941512739e+00 1.1000156547358537e+00 2.2836994301124487e+00 - 83 -1.0451125955758018e+00 -2.9706240853885846e+00 -3.1507881990097875e-01 - 84 -3.3291212370733967e+00 3.2398148659892572e+00 4.6554951367993542e+00 - 85 -1.6602702919265730e+00 -5.0302444299485383e-01 -4.3331670906647073e+00 - 86 -5.1739012326876539e+00 3.7621044694833152e+00 -3.8694108983864619e+00 - 87 2.5800462945673321e+00 3.9113827058424304e+00 1.0058282701256924e+00 - 88 1.2186619874794191e+00 1.2903429720366129e+00 -2.1812056654218557e+00 - 89 5.1708533972772752e-01 -2.2724925528175152e-01 4.0361514608963196e+00 - 90 5.5528219623802180e-02 -6.3249115106539855e-01 1.1331478048837915e+00 - 91 2.3763801964791704e+00 -1.3568111553144696e-01 1.8305254882252111e+00 - 92 -7.4479731670623583e-01 6.2631724116234322e-01 7.0917585103702789e+00 - 93 -2.7946615351838333e+00 2.6497754369022855e+00 -4.9404756163540302e+00 - 94 -1.9276104520041852e+00 3.6726001318584620e+00 -1.8895215405747192e+00 - 95 2.7496645204152230e+00 1.1798091106750874e+00 1.0381378973287085e+00 - 96 2.8838885087721455e-01 -8.4153051128334944e-01 -4.5863881665539175e-01 - 97 2.4166757309749753e+00 -4.1769572659123906e+00 4.2709577151965137e+00 - 98 2.9163676292149106e+00 1.1371300137918533e-01 2.4075146002079389e-01 - 99 1.1198725269487790e+00 -4.1834197631714831e+00 2.7042173489858383e+00 - 100 -3.3387630324070899e-01 -2.8581757312520559e+00 -3.6169899983198323e-01 - 101 -4.0590700128584585e+00 1.4771680009302592e+00 -2.0374279165464273e+00 - 102 -1.3972038958445472e+00 -1.5892380209629957e+00 1.2229478783443182e+00 - 103 1.7222082871468471e+00 4.5985338951359389e-01 1.6228250135495899e+00 - 104 4.7456372038760062e+00 -2.0011059690936932e+00 -2.3332863863915208e+00 - 105 -3.0219214453292503e-01 -3.1648775808919218e+00 -3.4512151605718006e-01 - 106 -4.3738385374526878e+00 -1.4984390331917365e+00 3.4904474570056404e-01 - 107 -2.3595429224655809e-02 -5.2158149238260734e+00 1.0420171577659341e+00 - 108 3.5666455681952103e+00 -3.5061609850861259e+00 1.5276480532892367e+00 - 109 -2.2416592732686169e+00 1.2743323477450963e+00 -3.4535947332380101e+00 - 110 -2.5063043912905558e-01 -1.6306933990280170e+00 5.6310172031723704e+00 - 111 2.3589854948441089e+00 2.5421876741754099e+00 3.1695195211974729e+00 - 112 2.2574894820168732e+00 3.6956620104201315e-01 -3.5121218711858404e-01 - 113 -5.0351003329616457e+00 -3.5764874514977296e+00 -4.2176800204027822e+00 - 114 -3.5336727643305612e+00 1.0270508441019932e+00 8.7528194493802980e-01 - 115 -1.7753604141545398e+00 2.1870380688570323e+00 4.0746694362092191e+00 - 116 4.2449410599123807e+00 -4.3834286828818456e+00 3.7646766355562535e+00 - 117 2.7078936465321530e+00 3.1295683628914439e+00 1.7445195155460547e+00 - 118 8.7327387446490479e-01 7.6772540692814195e-01 -3.2402617779281701e-01 - 119 8.1016418773726873e-01 -3.1389885601607035e+00 -3.3633443469809379e+00 - 120 -1.4278855654148834e+00 4.0286484781122365e+00 -1.9992906821384921e+00 - 121 8.6542958084561361e-02 -1.1020400457566630e+00 -3.3822209055936658e-01 - 122 3.5813121257873619e+00 -5.6151617304233381e-01 1.4119734987696921e+00 - 123 3.0606661941208451e+00 1.7089133715354738e+00 -2.8032446787136314e+00 - 124 -1.3854267730385910e+00 -4.4188316872855555e+00 -2.5380111088582140e+00 - 125 -1.6904739442046883e+00 1.8488347785921939e+00 -1.3746204703476019e+00 - 126 -2.2661772905636428e+00 3.3572261480594063e+00 -2.2464258009076707e+00 - 127 5.5268470973310269e+00 -1.7435558018609683e+00 -2.0408474603750935e+00 - 128 4.5886957877184660e+00 4.8319627526991473e+00 3.9643528671273507e+00 - 129 2.2069706541797016e-01 6.8504065097220879e-01 -4.7003026743897031e-01 - 130 -4.0115936231307545e+00 -2.1218205387046774e+00 -9.9827955102434029e-01 - 131 2.9684129910662832e-01 3.7262517916029032e+00 -1.0816521062552653e+00 - 132 8.1382993930064915e-02 -3.5573677522977583e-02 -3.5151985944756676e+00 - 133 -6.2695071956387305e-01 -2.7259542642215586e+00 9.9501440284676268e-01 - 134 -2.9721298245652084e-01 3.9092099179600148e+00 1.7771226768578388e+00 - 135 -2.1393366306894110e+00 -2.8262788823503509e+00 2.4444601376032611e+00 - 136 1.2252752627543320e+00 1.8934056804256958e+00 -3.0563193598572895e+00 - 137 -3.4352637419435204e+00 -3.0718102718512599e+00 -2.8741859913748296e+00 - 138 3.2090680356600421e-01 -2.0401852703166861e+00 -2.4805669123527521e+00 - 139 2.3972135113483071e+00 -5.4019275833386908e+00 2.9765689120499732e+00 - 140 -4.3059430208317151e+00 -5.2598510825764251e+00 -5.2457319921326651e+00 - 141 -2.0232603864833151e-01 4.6375969951188551e+00 -1.5156362503136349e+00 - 142 -1.8428907820177429e+00 4.1515760568266726e+00 7.9422558196288195e-01 - 143 -3.3872595206479300e-01 4.9031092798381231e+00 -2.6117752561706946e+00 - 144 2.1162867716623657e+00 -4.0907630320476768e-01 4.5499311914742577e+00 - 145 4.4932801950135950e+00 3.4906677225423155e+00 -2.2635575912914421e+00 - 146 -3.5499768941512975e+00 1.1000156547358841e+00 2.2836994301124527e+00 - 147 -1.0451125955757994e+00 -2.9706240853885535e+00 -3.1507881990094722e-01 - 148 -3.3291212370734145e+00 3.2398148659892740e+00 4.6554951367993631e+00 - 149 -1.6602702919265679e+00 -5.0302444299487636e-01 -4.3331670906647126e+00 - 150 -5.1739012326876566e+00 3.7621044694833303e+00 -3.8694108983864757e+00 - 151 2.5800462945673113e+00 3.9113827058424002e+00 1.0058282701256753e+00 - 152 1.2186619874794138e+00 1.2903429720366129e+00 -2.1812056654218486e+00 - 153 5.1708533972770687e-01 -2.2724925528171916e-01 4.0361514608963169e+00 - 154 5.5528219623780462e-02 -6.3249115106538389e-01 1.1331478048837897e+00 - 155 2.3763801964792948e+00 -1.3568111553147827e-01 1.8305254882251900e+00 - 156 -7.4479731670623550e-01 6.2631724116235243e-01 7.0917585103702718e+00 - 157 -2.7946615351838284e+00 2.6497754369022903e+00 -4.9404756163540497e+00 - 158 -1.9276104520041843e+00 3.6726001318584816e+00 -1.8895215405747190e+00 - 159 2.7496645204151537e+00 1.1798091106750430e+00 1.0381378973286741e+00 - 160 2.8838885087720562e-01 -8.4153051128334488e-01 -4.5863881665538292e-01 - 161 2.4166757309749971e+00 -4.1769572659124279e+00 4.2709577151965528e+00 - 162 2.9163676292149221e+00 1.1371300137917556e-01 2.4075146002081926e-01 - 163 1.1198725269487704e+00 -4.1834197631714725e+00 2.7042173489858419e+00 - 164 -3.3387630324067230e-01 -2.8581757312520399e+00 -3.6169899983198373e-01 - 165 -4.0590700128584549e+00 1.4771680009302548e+00 -2.0374279165464242e+00 - 166 -1.3972038958445503e+00 -1.5892380209629917e+00 1.2229478783443049e+00 - 167 1.7222082871468414e+00 4.5985338951358495e-01 1.6228250135495910e+00 - 168 4.7456372038760000e+00 -2.0011059690937412e+00 -2.3332863863915572e+00 - 169 -3.0219214453292764e-01 -3.1648775808919631e+00 -3.4512151605719948e-01 - 170 -4.3738385374526203e+00 -1.4984390331916571e+00 3.4904474570061345e-01 - 171 -2.3595429224668379e-02 -5.2158149238260263e+00 1.0420171577659338e+00 - 172 3.5666455681950744e+00 -3.5061609850861055e+00 1.5276480532891945e+00 - 173 -2.2416592732685294e+00 1.2743323477451018e+00 -3.4535947332379942e+00 - 174 -2.5063043912912020e-01 -1.6306933990281038e+00 5.6310172031723082e+00 - 175 2.3589854948440974e+00 2.5421876741754068e+00 3.1695195211974556e+00 - 176 2.2574894820169185e+00 3.6956620104199356e-01 -3.5121218711856128e-01 - 177 -5.0351003329616919e+00 -3.5764874514977327e+00 -4.2176800204027627e+00 - 178 -3.5336727643305541e+00 1.0270508441020134e+00 8.7528194493807898e-01 - 179 -1.7753604141545791e+00 2.1870380688570679e+00 4.0746694362092475e+00 - 180 4.2449410599123940e+00 -4.3834286828818456e+00 3.7646766355562638e+00 - 181 2.7078936465321841e+00 3.1295683628914128e+00 1.7445195155460405e+00 - 182 8.7327387446490778e-01 7.6772540692813296e-01 -3.2402617779282272e-01 - 183 8.1016418773725840e-01 -3.1389885601608025e+00 -3.3633443469809117e+00 - 184 -1.4278855654148874e+00 4.0286484781122418e+00 -1.9992906821384864e+00 - 185 8.6542958084555810e-02 -1.1020400457566488e+00 -3.3822209055936331e-01 - 186 3.5813121257873899e+00 -5.6151617304226631e-01 1.4119734987696575e+00 - 187 3.0606661941208060e+00 1.7089133715354359e+00 -2.8032446787136203e+00 - 188 -1.3854267730385068e+00 -4.4188316872855200e+00 -2.5380111088581576e+00 - 189 -1.6904739442047096e+00 1.8488347785921984e+00 -1.3746204703476179e+00 - 190 -2.2661772905636401e+00 3.3572261480593943e+00 -2.2464258009076730e+00 - 191 5.5268470973310437e+00 -1.7435558018609418e+00 -2.0408474603750744e+00 - 192 4.5886957877184242e+00 4.8319627526991029e+00 3.9643528671273085e+00 - 193 2.2069706541797257e-01 6.8504065097221956e-01 -4.7003026743897658e-01 - 194 -4.0115936231307678e+00 -2.1218205387046702e+00 -9.9827955102433918e-01 - 195 2.9684129910662271e-01 3.7262517916029125e+00 -1.0816521062552538e+00 - 196 8.1382993930076294e-02 -3.5573677522958265e-02 -3.5151985944756707e+00 - 197 -6.2695071956388182e-01 -2.7259542642215626e+00 9.9501440284675990e-01 - 198 -2.9721298245652805e-01 3.9092099179600188e+00 1.7771226768578356e+00 - 199 -2.1393366306893302e+00 -2.8262788823503477e+00 2.4444601376032313e+00 - 200 1.2252752627543146e+00 1.8934056804256987e+00 -3.0563193598573068e+00 - 201 -3.4352637419435266e+00 -3.0718102718512736e+00 -2.8741859913748398e+00 - 202 3.2090680356599371e-01 -2.0401852703167211e+00 -2.4805669123527156e+00 - 203 2.3972135113482680e+00 -5.4019275833386802e+00 2.9765689120499337e+00 - 204 -4.3059430208317613e+00 -5.2598510825764695e+00 -5.2457319921326944e+00 - 205 -2.0232603864829354e-01 4.6375969951188338e+00 -1.5156362503135945e+00 - 206 -1.8428907820177813e+00 4.1515760568267162e+00 7.9422558196281756e-01 - 207 -3.3872595206481426e-01 4.9031092798381586e+00 -2.6117752561707119e+00 - 208 2.1162867716624718e+00 -4.0907630320468791e-01 4.5499311914742151e+00 - 209 4.4932801950136279e+00 3.4906677225423635e+00 -2.2635575912914878e+00 - 210 -3.5499768941512886e+00 1.1000156547358813e+00 2.2836994301124611e+00 - 211 -1.0451125955758147e+00 -2.9706240853885610e+00 -3.1507881990096293e-01 - 212 -3.3291212370734238e+00 3.2398148659892878e+00 4.6554951367993693e+00 - 213 -1.6602702919265648e+00 -5.0302444299487847e-01 -4.3331670906647108e+00 - 214 -5.1739012326876468e+00 3.7621044694833254e+00 -3.8694108983864703e+00 - 215 2.5800462945673317e+00 3.9113827058424122e+00 1.0058282701256864e+00 - 216 1.2186619874794311e+00 1.2903429720366013e+00 -2.1812056654218535e+00 - 217 5.1708533972766846e-01 -2.2724925528168946e-01 4.0361514608963196e+00 - 218 5.5528219623788490e-02 -6.3249115106538056e-01 1.1331478048837924e+00 - 219 2.3763801964791940e+00 -1.3568111553149587e-01 1.8305254882252089e+00 - 220 -7.4479731670622606e-01 6.2631724116234322e-01 7.0917585103702887e+00 - 221 -2.7946615351838302e+00 2.6497754369022801e+00 -4.9404756163540391e+00 - 222 -1.9276104520042008e+00 3.6726001318584740e+00 -1.8895215405747330e+00 - 223 2.7496645204152319e+00 1.1798091106750590e+00 1.0381378973286974e+00 - 224 2.8838885087721700e-01 -8.4153051128332768e-01 -4.5863881665539608e-01 - 225 2.4166757309749807e+00 -4.1769572659124004e+00 4.2709577151965235e+00 - 226 2.9163676292149070e+00 1.1371300137917927e-01 2.4075146002080447e-01 - 227 1.1198725269487768e+00 -4.1834197631714760e+00 2.7042173489858441e+00 - 228 -3.3387630324070566e-01 -2.8581757312520439e+00 -3.6169899983197878e-01 - 229 -4.0590700128584567e+00 1.4771680009302595e+00 -2.0374279165464277e+00 - 230 -1.3972038958445552e+00 -1.5892380209629935e+00 1.2229478783443208e+00 - 231 1.7222082871468489e+00 4.5985338951358373e-01 1.6228250135495903e+00 - 232 4.7456372038760311e+00 -2.0011059690937398e+00 -2.3332863863915465e+00 - 233 -3.0219214453292259e-01 -3.1648775808919369e+00 -3.4512151605718677e-01 - 234 -4.3738385374526416e+00 -1.4984390331916755e+00 3.4904474570060623e-01 - 235 -2.3595429224662654e-02 -5.2158149238260574e+00 1.0420171577659318e+00 - 236 3.5666455681952125e+00 -3.5061609850860989e+00 1.5276480532892287e+00 - 237 -2.2416592732686125e+00 1.2743323477450939e+00 -3.4535947332380013e+00 - 238 -2.5063043912911293e-01 -1.6306933990281149e+00 5.6310172031723180e+00 - 239 2.3589854948441142e+00 2.5421876741754192e+00 3.1695195211974720e+00 - 240 2.2574894820168705e+00 3.6956620104200660e-01 -3.5121218711858965e-01 - 241 -5.0351003329616537e+00 -3.5764874514977270e+00 -4.2176800204027769e+00 - 242 -3.5336727643305532e+00 1.0270508441020201e+00 8.7528194493806333e-01 - 243 -1.7753604141545702e+00 2.1870380688570807e+00 4.0746694362092573e+00 - 244 4.2449410599123789e+00 -4.3834286828818376e+00 3.7646766355562513e+00 - 245 2.7078936465321632e+00 3.1295683628914222e+00 1.7445195155460478e+00 - 246 8.7327387446489713e-01 7.6772540692812541e-01 -3.2402617779283199e-01 - 247 8.1016418773729493e-01 -3.1389885601608345e+00 -3.3633443469809090e+00 - 248 -1.4278855654148732e+00 4.0286484781122391e+00 -1.9992906821384748e+00 - 249 8.6542958084561653e-02 -1.1020400457566464e+00 -3.3822209055936525e-01 - 250 3.5813121257873770e+00 -5.6151617304225387e-01 1.4119734987696599e+00 - 251 3.0606661941208659e+00 1.7089133715354510e+00 -2.8032446787136567e+00 - 252 -1.3854267730385641e+00 -4.4188316872855458e+00 -2.5380111088581714e+00 - 253 -1.6904739442046899e+00 1.8488347785921966e+00 -1.3746204703476279e+00 - 254 -2.2661772905636504e+00 3.3572261480593952e+00 -2.2464258009076814e+00 - 255 5.5268470973310402e+00 -1.7435558018609474e+00 -2.0408474603750806e+00 - 256 4.5886957877184305e+00 4.8319627526991367e+00 3.9643528671273285e+00 - 257 2.2069706541795950e-01 6.8504065097218869e-01 -4.7003026743895610e-01 - 258 -4.0115936231307510e+00 -2.1218205387046849e+00 -9.9827955102435095e-01 - 259 2.9684129910662382e-01 3.7262517916029005e+00 -1.0816521062552633e+00 - 260 8.1382993930067704e-02 -3.5573677522989407e-02 -3.5151985944756468e+00 - 261 -6.2695071956386683e-01 -2.7259542642215449e+00 9.9501440284675535e-01 - 262 -2.9721298245652056e-01 3.9092099179600162e+00 1.7771226768578341e+00 - 263 -2.1393366306894177e+00 -2.8262788823503620e+00 2.4444601376032922e+00 - 264 1.2252752627542955e+00 1.8934056804257171e+00 -3.0563193598572829e+00 - 265 -3.4352637419435412e+00 -3.0718102718512759e+00 -2.8741859913748469e+00 - 266 3.2090680356599988e-01 -2.0401852703167251e+00 -2.4805669123527676e+00 - 267 2.3972135113482911e+00 -5.4019275833386953e+00 2.9765689120499421e+00 - 268 -4.3059430208316689e+00 -5.2598510825763967e+00 -5.2457319921326473e+00 - 269 -2.0232603864830292e-01 4.6375969951188649e+00 -1.5156362503135969e+00 - 270 -1.8428907820177696e+00 4.1515760568267233e+00 7.9422558196288684e-01 - 271 -3.3872595206475870e-01 4.9031092798380849e+00 -2.6117752561706160e+00 - 272 2.1162867716623714e+00 -4.0907630320482452e-01 4.5499311914741813e+00 - 273 4.4932801950135710e+00 3.4906677225423062e+00 -2.2635575912914434e+00 - 274 -3.5499768941512722e+00 1.1000156547358613e+00 2.2836994301124474e+00 - 275 -1.0451125955757994e+00 -2.9706240853885806e+00 -3.1507881990096065e-01 - 276 -3.3291212370733985e+00 3.2398148659892505e+00 4.6554951367993604e+00 - 277 -1.6602702919265782e+00 -5.0302444299485227e-01 -4.3331670906647064e+00 - 278 -5.1739012326877027e+00 3.7621044694833312e+00 -3.8694108983864908e+00 - 279 2.5800462945673277e+00 3.9113827058424118e+00 1.0058282701257071e+00 - 280 1.2186619874794087e+00 1.2903429720366195e+00 -2.1812056654218517e+00 - 281 5.1708533972776816e-01 -2.2724925528178760e-01 4.0361514608963054e+00 - 282 5.5528219623796962e-02 -6.3249115106540654e-01 1.1331478048837642e+00 - 283 2.3763801964792592e+00 -1.3568111553142109e-01 1.8305254882251945e+00 - 284 -7.4479731670625093e-01 6.2631724116234289e-01 7.0917585103703207e+00 - 285 -2.7946615351838298e+00 2.6497754369023023e+00 -4.9404756163540196e+00 - 286 -1.9276104520041655e+00 3.6726001318584709e+00 -1.8895215405746977e+00 - 287 2.7496645204151489e+00 1.1798091106750759e+00 1.0381378973286892e+00 - 288 2.8838885087721156e-01 -8.4153051128335987e-01 -4.5863881665538175e-01 - 289 2.4166757309749642e+00 -4.1769572659123702e+00 4.2709577151964977e+00 - 290 2.9163676292149106e+00 1.1371300137917861e-01 2.4075146002081471e-01 - 291 1.1198725269487630e+00 -4.1834197631714796e+00 2.7042173489858201e+00 - 292 -3.3387630324067030e-01 -2.8581757312520510e+00 -3.6169899983200149e-01 - 293 -4.0590700128584514e+00 1.4771680009302361e+00 -2.0374279165464073e+00 - 294 -1.3972038958445367e+00 -1.5892380209629922e+00 1.2229478783443035e+00 - 295 1.7222082871468409e+00 4.5985338951359545e-01 1.6228250135495998e+00 - 296 4.7456372038759742e+00 -2.0011059690936954e+00 -2.3332863863915265e+00 - 297 -3.0219214453293974e-01 -3.1648775808919387e+00 -3.4512151605719826e-01 - 298 -4.3738385374526549e+00 -1.4984390331917208e+00 3.4904474570055544e-01 - 299 -2.3595429224524022e-02 -5.2158149238260458e+00 1.0420171577660298e+00 - 300 3.5666455681951028e+00 -3.5061609850861579e+00 1.5276480532892593e+00 - 301 -2.2416592732685787e+00 1.2743323477451685e+00 -3.4535947332380652e+00 - 302 -2.5063043912908722e-01 -1.6306933990280201e+00 5.6310172031723980e+00 - 303 2.3589854948440219e+00 2.5421876741753469e+00 3.1695195211973655e+00 - 304 2.2574894820168985e+00 3.6956620104200411e-01 -3.5121218711853169e-01 - 305 -5.0351003329616608e+00 -3.5764874514977105e+00 -4.2176800204027334e+00 - 306 -3.5336727643305612e+00 1.0270508441019646e+00 8.7528194493803491e-01 - 307 -1.7753604141545543e+00 2.1870380688570088e+00 4.0746694362092146e+00 - 308 4.2449410599124109e+00 -4.3834286828818856e+00 3.7646766355563068e+00 - 309 2.7078936465321526e+00 3.1295683628914150e+00 1.7445195155460047e+00 - 310 8.7327387446492655e-01 7.6772540692816349e-01 -3.2402617779278775e-01 - 311 8.1016418773722509e-01 -3.1389885601606804e+00 -3.3633443469808970e+00 - 312 -1.4278855654148712e+00 4.0286484781122223e+00 -1.9992906821384726e+00 - 313 8.6542958084541710e-02 -1.1020400457566728e+00 -3.3822209055940211e-01 - 314 3.5813121257873544e+00 -5.6151617304232226e-01 1.4119734987696428e+00 - 315 3.0606661941207829e+00 1.7089133715354525e+00 -2.8032446787137033e+00 - 316 -1.3854267730385401e+00 -4.4188316872855236e+00 -2.5380111088582056e+00 - 317 -1.6904739442046786e+00 1.8488347785921777e+00 -1.3746204703475302e+00 - 318 -2.2661772905635900e+00 3.3572261480593659e+00 -2.2464258009076215e+00 - 319 5.5268470973310126e+00 -1.7435558018608883e+00 -2.0408474603750251e+00 - 320 4.5886957877184447e+00 4.8319627526991313e+00 3.9643528671273356e+00 - 321 2.2069706541796461e-01 6.8504065097220423e-01 -4.7003026743896670e-01 - 322 -4.0115936231307687e+00 -2.1218205387046756e+00 -9.9827955102434740e-01 - 323 2.9684129910661305e-01 3.7262517916029116e+00 -1.0816521062552500e+00 - 324 8.1382993930087022e-02 -3.5573677522965488e-02 -3.5151985944756472e+00 - 325 -6.2695071956387505e-01 -2.7259542642215546e+00 9.9501440284675335e-01 - 326 -2.9721298245652472e-01 3.9092099179600184e+00 1.7771226768578299e+00 - 327 -2.1393366306893453e+00 -2.8262788823503602e+00 2.4444601376032646e+00 - 328 1.2252752627542776e+00 1.8934056804257120e+00 -3.0563193598572980e+00 - 329 -3.4352637419435452e+00 -3.0718102718512852e+00 -2.8741859913748549e+00 - 330 3.2090680356598333e-01 -2.0401852703167540e+00 -2.4805669123527450e+00 - 331 2.3972135113482511e+00 -5.4019275833386802e+00 2.9765689120499013e+00 - 332 -4.3059430208317107e+00 -5.2598510825764366e+00 -5.2457319921326730e+00 - 333 -2.0232603864826401e-01 4.6375969951188374e+00 -1.5156362503135590e+00 - 334 -1.8428907820178062e+00 4.1515760568267597e+00 7.9422558196284432e-01 - 335 -3.3872595206477341e-01 4.9031092798381133e+00 -2.6117752561706280e+00 - 336 2.1162867716624745e+00 -4.0907630320475385e-01 4.5499311914741325e+00 - 337 4.4932801950136048e+00 3.4906677225423564e+00 -2.2635575912914869e+00 - 338 -3.5499768941512673e+00 1.1000156547358557e+00 2.2836994301124514e+00 - 339 -1.0451125955758145e+00 -2.9706240853885810e+00 -3.1507881990097597e-01 - 340 -3.3291212370734091e+00 3.2398148659892634e+00 4.6554951367993676e+00 - 341 -1.6602702919265708e+00 -5.0302444299485727e-01 -4.3331670906647055e+00 - 342 -5.1739012326876948e+00 3.7621044694833405e+00 -3.8694108983864934e+00 - 343 2.5800462945673437e+00 3.9113827058424198e+00 1.0058282701257135e+00 - 344 1.2186619874794211e+00 1.2903429720366129e+00 -2.1812056654218535e+00 - 345 5.1708533972772974e-01 -2.2724925528175427e-01 4.0361514608963116e+00 - 346 5.5528219623807308e-02 -6.3249115106540355e-01 1.1331478048837684e+00 - 347 2.3763801964791611e+00 -1.3568111553142059e-01 1.8305254882252080e+00 - 348 -7.4479731670624560e-01 6.2631724116233867e-01 7.0917585103703304e+00 - 349 -2.7946615351838258e+00 2.6497754369022872e+00 -4.9404756163540107e+00 - 350 -1.9276104520041804e+00 3.6726001318584616e+00 -1.8895215405747143e+00 - 351 2.7496645204152212e+00 1.1798091106750888e+00 1.0381378973287108e+00 - 352 2.8838885087721855e-01 -8.4153051128334244e-01 -4.5863881665538886e-01 - 353 2.4166757309749531e+00 -4.1769572659123497e+00 4.2709577151964746e+00 - 354 2.9163676292148990e+00 1.1371300137918280e-01 2.4075146002080219e-01 - 355 1.1198725269487693e+00 -4.1834197631714796e+00 2.7042173489858197e+00 - 356 -3.3387630324069922e-01 -2.8581757312520502e+00 -3.6169899983199522e-01 - 357 -4.0590700128584558e+00 1.4771680009302395e+00 -2.0374279165464109e+00 - 358 -1.3972038958445405e+00 -1.5892380209629930e+00 1.2229478783443177e+00 - 359 1.7222082871468514e+00 4.5985338951359567e-01 1.6228250135495981e+00 - 360 4.7456372038760009e+00 -2.0011059690936985e+00 -2.3332863863915203e+00 - 361 -3.0219214453292959e-01 -3.1648775808919178e+00 -3.4512151605718333e-01 - 362 -4.3738385374526789e+00 -1.4984390331917412e+00 3.4904474570054739e-01 - 363 -2.3595429224526020e-02 -5.2158149238260805e+00 1.0420171577660184e+00 - 364 3.5666455681952325e+00 -3.5061609850861495e+00 1.5276480532892898e+00 - 365 -2.2416592732686591e+00 1.2743323477451618e+00 -3.4535947332380719e+00 - 366 -2.5063043912908695e-01 -1.6306933990280372e+00 5.6310172031724122e+00 - 367 2.3589854948440454e+00 2.5421876741753655e+00 3.1695195211973877e+00 - 368 2.2574894820168550e+00 3.6956620104201510e-01 -3.5121218711855912e-01 - 369 -5.0351003329616244e+00 -3.5764874514977043e+00 -4.2176800204027485e+00 - 370 -3.5336727643305563e+00 1.0270508441019661e+00 8.7528194493800981e-01 - 371 -1.7753604141545436e+00 2.1870380688570190e+00 4.0746694362092262e+00 - 372 4.2449410599124038e+00 -4.3834286828818847e+00 3.7646766355563064e+00 - 373 2.7078936465321273e+00 3.1295683628914359e+00 1.7445195155460174e+00 - 374 8.7327387446491589e-01 7.6772540692815416e-01 -3.2402617779279774e-01 - 375 8.1016418773725907e-01 -3.1389885601607097e+00 -3.3633443469808988e+00 - 376 -1.4278855654148637e+00 4.0286484781122240e+00 -1.9992906821384671e+00 - 377 8.6542958084548427e-02 -1.1020400457566699e+00 -3.3822209055940633e-01 - 378 3.5813121257873468e+00 -5.6151617304231294e-01 1.4119734987696477e+00 - 379 3.0606661941208517e+00 1.7089133715354750e+00 -2.8032446787137393e+00 - 380 -1.3854267730385890e+00 -4.4188316872855422e+00 -2.5380111088582140e+00 - 381 -1.6904739442046597e+00 1.8488347785921742e+00 -1.3746204703475413e+00 - 382 -2.2661772905636015e+00 3.3572261480593704e+00 -2.2464258009076317e+00 - 383 5.5268470973310064e+00 -1.7435558018608961e+00 -2.0408474603750344e+00 - 384 4.5886957877184473e+00 4.8319627526991615e+00 3.9643528671273440e+00 - 385 2.2069706541796574e-01 6.8504065097220357e-01 -4.7003026743896748e-01 - 386 -4.0115936231307554e+00 -2.1218205387046800e+00 -9.9827955102434718e-01 - 387 2.9684129910663370e-01 3.7262517916029134e+00 -1.0816521062552793e+00 - 388 8.1382993930071632e-02 -3.5573677522972282e-02 -3.5151985944756428e+00 - 389 -6.2695071956386306e-01 -2.7259542642215520e+00 9.9501440284675191e-01 - 390 -2.9721298245652045e-01 3.9092099179600188e+00 1.7771226768578334e+00 - 391 -2.1393366306894133e+00 -2.8262788823503597e+00 2.4444601376032886e+00 - 392 1.2252752627543220e+00 1.8934056804256691e+00 -3.0563193598572966e+00 - 393 -3.4352637419435381e+00 -3.0718102718512745e+00 -2.8741859913748469e+00 - 394 3.2090680356599965e-01 -2.0401852703166901e+00 -2.4805669123527738e+00 - 395 2.3972135113482924e+00 -5.4019275833387059e+00 2.9765689120499550e+00 - 396 -4.3059430208317000e+00 -5.2598510825764180e+00 -5.2457319921326606e+00 - 397 -2.0232603864831816e-01 4.6375969951188791e+00 -1.5156362503136123e+00 - 398 -1.8428907820177574e+00 4.1515760568267002e+00 7.9422558196289239e-01 - 399 -3.3872595206475659e-01 4.9031092798380964e+00 -2.6117752561706191e+00 - 400 2.1162867716623746e+00 -4.0907630320478661e-01 4.5499311914742329e+00 - 401 4.4932801950135861e+00 3.4906677225423146e+00 -2.2635575912914474e+00 - 402 -3.5499768941512930e+00 1.1000156547358921e+00 2.2836994301124585e+00 - 403 -1.0451125955758152e+00 -2.9706240853885579e+00 -3.1507881990094821e-01 - 404 -3.3291212370734269e+00 3.2398148659892798e+00 4.6554951367993782e+00 - 405 -1.6602702919265688e+00 -5.0302444299487736e-01 -4.3331670906647126e+00 - 406 -5.1739012326876903e+00 3.7621044694833454e+00 -3.8694108983865001e+00 - 407 2.5800462945673281e+00 3.9113827058423949e+00 1.0058282701257060e+00 - 408 1.2186619874794165e+00 1.2903429720366129e+00 -2.1812056654218455e+00 - 409 5.1708533972771120e-01 -2.2724925528172302e-01 4.0361514608963116e+00 - 410 5.5528219623785194e-02 -6.3249115106539078e-01 1.1331478048837604e+00 - 411 2.3763801964792828e+00 -1.3568111553145581e-01 1.8305254882251898e+00 - 412 -7.4479731670624660e-01 6.2631724116234833e-01 7.0917585103703242e+00 - 413 -2.7946615351838231e+00 2.6497754369022926e+00 -4.9404756163540275e+00 - 414 -1.9276104520041766e+00 3.6726001318584816e+00 -1.8895215405747110e+00 - 415 2.7496645204151515e+00 1.1798091106750437e+00 1.0381378973286739e+00 - 416 2.8838885087720939e-01 -8.4153051128334011e-01 -4.5863881665538303e-01 - 417 2.4166757309749674e+00 -4.1769572659123835e+00 4.2709577151965066e+00 - 418 2.9163676292149079e+00 1.1371300137917027e-01 2.4075146002082637e-01 - 419 1.1198725269487606e+00 -4.1834197631714751e+00 2.7042173489858241e+00 - 420 -3.3387630324066614e-01 -2.8581757312520404e+00 -3.6169899983199694e-01 - 421 -4.0590700128584505e+00 1.4771680009302361e+00 -2.0374279165464078e+00 - 422 -1.3972038958445459e+00 -1.5892380209629926e+00 1.2229478783443071e+00 - 423 1.7222082871468458e+00 4.5985338951358662e-01 1.6228250135496034e+00 - 424 4.7456372038760000e+00 -2.0011059690937394e+00 -2.3332863863915549e+00 - 425 -3.0219214453293625e-01 -3.1648775808919538e+00 -3.4512151605720665e-01 - 426 -4.3738385374526114e+00 -1.4984390331916562e+00 3.4904474570060040e-01 - 427 -2.3595429224533726e-02 -5.2158149238260352e+00 1.0420171577660287e+00 - 428 3.5666455681950890e+00 -3.5061609850861308e+00 1.5276480532892425e+00 - 429 -2.2416592732685685e+00 1.2743323477451673e+00 -3.4535947332380612e+00 - 430 -2.5063043912915178e-01 -1.6306933990281269e+00 5.6310172031723464e+00 - 431 2.3589854948440290e+00 2.5421876741753557e+00 3.1695195211973681e+00 - 432 2.2574894820169003e+00 3.6956620104200233e-01 -3.5121218711853208e-01 - 433 -5.0351003329616697e+00 -3.5764874514977065e+00 -4.2176800204027272e+00 - 434 -3.5336727643305452e+00 1.0270508441019932e+00 8.7528194493806688e-01 - 435 -1.7753604141545827e+00 2.1870380688570616e+00 4.0746694362092484e+00 - 436 4.2449410599124047e+00 -4.3834286828818838e+00 3.7646766355563019e+00 - 437 2.7078936465321637e+00 3.1295683628913982e+00 1.7445195155460003e+00 - 438 8.7327387446491422e-01 7.6772540692814106e-01 -3.2402617779280735e-01 - 439 8.1016418773725163e-01 -3.1389885601608056e+00 -3.3633443469808784e+00 - 440 -1.4278855654148579e+00 4.0286484781122276e+00 -1.9992906821384531e+00 - 441 8.6542958084542529e-02 -1.1020400457566568e+00 -3.3822209055939995e-01 - 442 3.5813121257873655e+00 -5.6151617304224299e-01 1.4119734987696129e+00 - 443 3.0606661941208109e+00 1.7089133715354334e+00 -2.8032446787137379e+00 - 444 -1.3854267730385008e+00 -4.4188316872855031e+00 -2.5380111088581505e+00 - 445 -1.6904739442046797e+00 1.8488347785921757e+00 -1.3746204703475602e+00 - 446 -2.2661772905636011e+00 3.3572261480593544e+00 -2.2464258009076348e+00 - 447 5.5268470973310260e+00 -1.7435558018608623e+00 -2.0408474603750131e+00 - 448 4.5886957877184003e+00 4.8319627526991118e+00 3.9643528671272996e+00 - 449 2.2069706541796852e-01 6.8504065097221456e-01 -4.7003026743897436e-01 - 450 -4.0115936231307696e+00 -2.1218205387046729e+00 -9.9827955102434629e-01 - 451 2.9684129910662371e-01 3.7262517916029192e+00 -1.0816521062552638e+00 - 452 8.1382993930086509e-02 -3.5573677522951652e-02 -3.5151985944756450e+00 - 453 -6.2695071956387238e-01 -2.7259542642215568e+00 9.9501440284675036e-01 - 454 -2.9721298245652444e-01 3.9092099179600224e+00 1.7771226768578305e+00 - 455 -2.1393366306893413e+00 -2.8262788823503588e+00 2.4444601376032624e+00 - 456 1.2252752627543024e+00 1.8934056804256718e+00 -3.0563193598573175e+00 - 457 -3.4352637419435341e+00 -3.0718102718512781e+00 -2.8741859913748464e+00 - 458 3.2090680356598733e-01 -2.0401852703167274e+00 -2.4805669123527503e+00 - 459 2.3972135113482471e+00 -5.4019275833386891e+00 2.9765689120499119e+00 - 460 -4.3059430208317444e+00 -5.2598510825764615e+00 -5.2457319921326926e+00 - 461 -2.0232603864828436e-01 4.6375969951188374e+00 -1.5156362503135770e+00 - 462 -1.8428907820177900e+00 4.1515760568267490e+00 7.9422558196283399e-01 - 463 -3.3872595206477474e-01 4.9031092798381248e+00 -2.6117752561706324e+00 - 464 2.1162867716624758e+00 -4.0907630320470723e-01 4.5499311914741929e+00 - 465 4.4932801950136181e+00 3.4906677225423626e+00 -2.2635575912914887e+00 - 466 -3.5499768941512819e+00 1.1000156547358853e+00 2.2836994301124642e+00 - 467 -1.0451125955758329e+00 -2.9706240853885633e+00 -3.1507881990096492e-01 - 468 -3.3291212370734353e+00 3.2398148659892936e+00 4.6554951367993826e+00 - 469 -1.6602702919265626e+00 -5.0302444299488103e-01 -4.3331670906647117e+00 - 470 -5.1739012326876859e+00 3.7621044694833503e+00 -3.8694108983865023e+00 - 471 2.5800462945673459e+00 3.9113827058424060e+00 1.0058282701257162e+00 - 472 1.2186619874794307e+00 1.2903429720366022e+00 -2.1812056654218517e+00 - 473 5.1708533972767157e-01 -2.2724925528168982e-01 4.0361514608963143e+00 - 474 5.5528219623792355e-02 -6.3249115106538600e-01 1.1331478048837658e+00 - 475 2.3763801964791811e+00 -1.3568111553147227e-01 1.8305254882252029e+00 - 476 -7.4479731670624161e-01 6.2631724116234400e-01 7.0917585103703358e+00 - 477 -2.7946615351838213e+00 2.6497754369022792e+00 -4.9404756163540204e+00 - 478 -1.9276104520041930e+00 3.6726001318584767e+00 -1.8895215405747254e+00 - 479 2.7496645204152288e+00 1.1798091106750601e+00 1.0381378973286983e+00 - 480 2.8838885087722121e-01 -8.4153051128332101e-01 -4.5863881665539363e-01 - 481 2.4166757309749540e+00 -4.1769572659123604e+00 4.2709577151964826e+00 - 482 2.9163676292148981e+00 1.1371300137917660e-01 2.4075146002081080e-01 - 483 1.1198725269487668e+00 -4.1834197631714760e+00 2.7042173489858259e+00 - 484 -3.3387630324069478e-01 -2.8581757312520364e+00 -3.6169899983198450e-01 - 485 -4.0590700128584523e+00 1.4771680009302415e+00 -2.0374279165464131e+00 - 486 -1.3972038958445470e+00 -1.5892380209629930e+00 1.2229478783443222e+00 - 487 1.7222082871468545e+00 4.5985338951358645e-01 1.6228250135496032e+00 - 488 4.7456372038760231e+00 -2.0011059690937474e+00 -2.3332863863915501e+00 - 489 -3.0219214453292886e-01 -3.1648775808919329e+00 -3.4512151605719138e-01 - 490 -4.3738385374526327e+00 -1.4984390331916750e+00 3.4904474570059174e-01 - 491 -2.3595429224533331e-02 -5.2158149238260680e+00 1.0420171577660218e+00 - 492 3.5666455681952343e+00 -3.5061609850861215e+00 1.5276480532892851e+00 - 493 -2.2416592732686493e+00 1.2743323477451605e+00 -3.4535947332380661e+00 - 494 -2.5063043912913913e-01 -1.6306933990281340e+00 5.6310172031723518e+00 - 495 2.3589854948440525e+00 2.5421876741753771e+00 3.1695195211973832e+00 - 496 2.2574894820168483e+00 3.6956620104200572e-01 -3.5121218711856717e-01 - 497 -5.0351003329616368e+00 -3.5764874514977008e+00 -4.2176800204027414e+00 - 498 -3.5336727643305421e+00 1.0270508441019970e+00 8.7528194493804667e-01 - 499 -1.7753604141545754e+00 2.1870380688570714e+00 4.0746694362092608e+00 - 500 4.2449410599123993e+00 -4.3834286828818803e+00 3.7646766355563002e+00 - 501 2.7078936465321397e+00 3.1295683628914097e+00 1.7445195155460125e+00 - 502 8.7327387446490479e-01 7.6772540692813085e-01 -3.2402617779281712e-01 - 503 8.1016418773728660e-01 -3.1389885601608358e+00 -3.3633443469808784e+00 - 504 -1.4278855654148510e+00 4.0286484781122276e+00 -1.9992906821384473e+00 - 505 8.6542958084548566e-02 -1.1020400457566535e+00 -3.3822209055940355e-01 - 506 3.5813121257873570e+00 -5.6151617304223689e-01 1.4119734987696160e+00 - 507 3.0606661941208650e+00 1.7089133715354412e+00 -2.8032446787137681e+00 - 508 -1.3854267730385632e+00 -4.4188316872855333e+00 -2.5380111088581714e+00 - 509 -1.6904739442046626e+00 1.8488347785921746e+00 -1.3746204703475671e+00 - 510 -2.2661772905636153e+00 3.3572261480593624e+00 -2.2464258009076454e+00 - 511 5.5268470973310224e+00 -1.7435558018608679e+00 -2.0408474603750189e+00 - 512 4.5886957877184127e+00 4.8319627526991518e+00 3.9643528671273245e+00 + 1 2.2065977620733823e-01 6.8508757018167898e-01 -4.7014971045392834e-01 + 2 -4.0124462717250839e+00 -2.1228312063765733e+00 -9.9897973861188283e-01 + 3 2.9685852583506717e-01 3.7266566877035148e+00 -1.0818658724311632e+00 + 4 8.1961211837120795e-02 -3.5570651112582063e-02 -3.5157302537620492e+00 + 5 -6.2728373866267073e-01 -2.7267744726566687e+00 9.9537775326668565e-01 + 6 -2.9603014594591437e-01 3.9112521689299560e+00 1.7782799262643807e+00 + 7 -2.1400291579006030e+00 -2.8265998306349855e+00 2.4454803567748606e+00 + 8 1.2252665174715598e+00 1.8937900711273328e+00 -3.0560489361858383e+00 + 9 -3.4366253701592160e+00 -3.0728708291251841e+00 -2.8755624856904287e+00 + 10 3.2113319900004017e-01 -2.0408399212555910e+00 -2.4817036798308094e+00 + 11 2.3993994751634742e+00 -5.4038696805398185e+00 2.9783868115053305e+00 + 12 -4.3087336411254045e+00 -5.2637599316271890e+00 -5.2480326020519099e+00 + 13 -2.0320550196331832e-01 4.6412772506323901e+00 -1.5157732877070105e+00 + 14 -1.8439832209648992e+00 4.1540210600591978e+00 7.9344962175590128e-01 + 15 -3.4057213913446360e-01 4.9061723967337816e+00 -2.6145747014412271e+00 + 16 2.1164541985651750e+00 -4.0729732248048311e-01 4.5537682682394198e+00 + 17 4.4954272557720110e+00 3.4922366648719638e+00 -2.2646334656811025e+00 + 18 -3.5506395759279483e+00 1.1009362664654250e+00 2.2848749119147880e+00 + 19 -1.0456337863134406e+00 -2.9724235443270648e+00 -3.1554579860703169e-01 + 20 -3.3313433991320456e+00 3.2426197185600354e+00 4.6572151933457757e+00 + 21 -1.6604128078447267e+00 -5.0401667704388187e-01 -4.3340028890967739e+00 + 22 -5.1780999254441662e+00 3.7656370977861480e+00 -3.8736456354976978e+00 + 23 2.5810691560850296e+00 3.9129419455686310e+00 1.0071952222896108e+00 + 24 1.2189893770300371e+00 1.2902271765990232e+00 -2.1816564738551740e+00 + 25 5.1717608355200118e-01 -2.2766313967227761e-01 4.0357834558791748e+00 + 26 5.5837971079115853e-02 -6.3312910436400516e-01 1.1338376610212455e+00 + 27 2.3776569282085838e+00 -1.3713335058520987e-01 1.8320253886114752e+00 + 28 -7.4605155753871388e-01 6.2639691169773104e-01 7.0950844496935170e+00 + 29 -2.7959006485060733e+00 2.6518449844717753e+00 -4.9418005822869659e+00 + 30 -1.9284812027028364e+00 3.6728996905807461e+00 -1.8903320575690421e+00 + 31 2.7501847555635224e+00 1.1800402620831711e+00 1.0386547735831302e+00 + 32 2.8874286555417883e-01 -8.4184451809623728e-01 -4.5827458970090051e-01 + 33 2.4177527590723296e+00 -4.1799340496126538e+00 4.2734972725104496e+00 + 34 2.9163123188810798e+00 1.1372045084901194e-01 2.4063982964448699e-01 + 35 1.1211713580663796e+00 -4.1852692109665224e+00 2.7055107929805744e+00 + 36 -3.3366806196511511e-01 -2.8592865937324241e+00 -3.6174665813781992e-01 + 37 -4.0598737192925629e+00 1.4790701200934750e+00 -2.0390573716466114e+00 + 38 -1.3972933493773498e+00 -1.5890688842928011e+00 1.2229127903290464e+00 + 39 1.7226829337464571e+00 4.6041363206313723e-01 1.6231271754939940e+00 + 40 4.7487429565043131e+00 -2.0032508711704504e+00 -2.3351656873697735e+00 + 41 -3.0211988899794873e-01 -3.1647229185551078e+00 -3.4484252242803659e-01 + 42 -4.3757968924703796e+00 -1.4988492973802408e+00 3.4848185514124802e-01 + 43 -2.3376048805867390e-02 -5.2171266030795751e+00 1.0422526834227199e+00 + 44 3.5686225189826812e+00 -3.5083544149657571e+00 1.5296762770587249e+00 + 45 -2.2429190678755098e+00 1.2762137613260987e+00 -3.4561335371333506e+00 + 46 -2.5249858397832398e-01 -1.6311993993014708e+00 5.6327007942433953e+00 + 47 2.3600434001454800e+00 2.5432001280052963e+00 3.1710184050148387e+00 + 48 2.2569424883932574e+00 3.6974145225970140e-01 -3.5079037684111325e-01 + 49 -5.0373146177377670e+00 -3.5792639981389867e+00 -4.2214396499888958e+00 + 50 -3.5333518619269704e+00 1.0268969392472456e+00 8.7615872588377397e-01 + 51 -1.7772253346150806e+00 2.1897240981816273e+00 4.0771383097941207e+00 + 52 4.2488265275528541e+00 -4.3879293775874428e+00 3.7692331388491089e+00 + 53 2.7105634024928702e+00 3.1321616846328704e+00 1.7466641233894777e+00 + 54 8.7345045914397412e-01 7.6780961728566233e-01 -3.2428866998030409e-01 + 55 8.1222707163562391e-01 -3.1415725783562616e+00 -3.3658388474832908e+00 + 56 -1.4293980095456800e+00 4.0300936576663196e+00 -2.0006489138695476e+00 + 57 8.6574115148983888e-02 -1.1025347346522771e+00 -3.3832826272726713e-01 + 58 3.5829961754217270e+00 -5.6274174997305004e-01 1.4127528025967375e+00 + 59 3.0632055304618659e+00 1.7103486318850951e+00 -2.8047593712683239e+00 + 60 -1.3875136436687734e+00 -4.4223159472758020e+00 -2.5405244604650332e+00 + 61 -1.6911573920575165e+00 1.8495318348477738e+00 -1.3750758436991020e+00 + 62 -2.2677591075287817e+00 3.3580212813414767e+00 -2.2471871608771177e+00 + 63 5.5289268843361006e+00 -1.7453255640698171e+00 -2.0435451118905243e+00 + 64 4.5908794739248782e+00 4.8343851592710259e+00 3.9665064357692694e+00 + 65 2.2065977620732435e-01 6.8508757018165423e-01 -4.7014971045390386e-01 + 66 -4.0124462717250653e+00 -2.1228312063765440e+00 -9.9897973861186662e-01 + 67 2.9685852583505751e-01 3.7266566877035321e+00 -1.0818658724311438e+00 + 68 8.1961211837130621e-02 -3.5570651112557666e-02 -3.5157302537620594e+00 + 69 -6.2728373866269138e-01 -2.7267744726566736e+00 9.9537775326669231e-01 + 70 -2.9603014594596749e-01 3.9112521689299400e+00 1.7782799262643512e+00 + 71 -2.1400291579005106e+00 -2.8265998306349669e+00 2.4454803567748207e+00 + 72 1.2252665174715947e+00 1.8937900711272986e+00 -3.0560489361858294e+00 + 73 -3.4366253701592071e+00 -3.0728708291251849e+00 -2.8755624856904229e+00 + 74 3.2113319899987847e-01 -2.0408399212556789e+00 -2.4817036798308600e+00 + 75 2.3993994751634551e+00 -5.4038696805398221e+00 2.9783868115053167e+00 + 76 -4.3087336411254489e+00 -5.2637599316272494e+00 -5.2480326020519472e+00 + 77 -2.0320550196332379e-01 4.6412772506323696e+00 -1.5157732877070116e+00 + 78 -1.8439832209647342e+00 4.1540210600592307e+00 7.9344962175599554e-01 + 79 -3.4057213913449891e-01 4.9061723967338429e+00 -2.6145747014412852e+00 + 80 2.1164541985652741e+00 -4.0729732248037820e-01 4.5537682682393807e+00 + 81 4.4954272557720483e+00 3.4922366648720153e+00 -2.2646334656811526e+00 + 82 -3.5506395759279634e+00 1.1009362664654385e+00 2.2848749119147871e+00 + 83 -1.0456337863134775e+00 -2.9724235443270559e+00 -3.1554579860706039e-01 + 84 -3.3313433991320669e+00 3.2426197185600620e+00 4.6572151933457944e+00 + 85 -1.6604128078447038e+00 -5.0401667704390396e-01 -4.3340028890967668e+00 + 86 -5.1780999254441715e+00 3.7656370977861551e+00 -3.8736456354977027e+00 + 87 2.5810691560850523e+00 3.9129419455686567e+00 1.0071952222896203e+00 + 88 1.2189893770300828e+00 1.2902271765989952e+00 -2.1816564738551678e+00 + 89 5.1717608355196276e-01 -2.2766313967224597e-01 4.0357834558791783e+00 + 90 5.5837971079057566e-02 -6.3312910436398295e-01 1.1338376610212304e+00 + 91 2.3776569282084887e+00 -1.3713335058521431e-01 1.8320253886114886e+00 + 92 -7.4605155753866548e-01 6.2639691169766998e-01 7.0950844496934851e+00 + 93 -2.7959006485060511e+00 2.6518449844717504e+00 -4.9418005822869606e+00 + 94 -1.9284812027027982e+00 3.6728996905807318e+00 -1.8903320575690112e+00 + 95 2.7501847555635877e+00 1.1800402620831729e+00 1.0386547735831460e+00 + 96 2.8874286555416040e-01 -8.4184451809625471e-01 -4.5827458970087132e-01 + 97 2.4177527590722883e+00 -4.1799340496126005e+00 4.2734972725103830e+00 + 98 2.9163123188810642e+00 1.1372045084901788e-01 2.4063982964447964e-01 + 99 1.1211713580663827e+00 -4.1852692109665268e+00 2.7055107929805726e+00 + 100 -3.3366806196512105e-01 -2.8592865937324192e+00 -3.6174665813781948e-01 + 101 -4.0598737192925762e+00 1.4790701200934706e+00 -2.0390573716466149e+00 + 102 -1.3972933493773390e+00 -1.5890688842927938e+00 1.2229127903290575e+00 + 103 1.7226829337464682e+00 4.6041363206313601e-01 1.6231271754939924e+00 + 104 4.7487429565043344e+00 -2.0032508711704624e+00 -2.3351656873697602e+00 + 105 -3.0211988899794467e-01 -3.1647229185550834e+00 -3.4484252242802793e-01 + 106 -4.3757968924704223e+00 -1.4988492973802650e+00 3.4848185514121544e-01 + 107 -2.3376048805824369e-02 -5.2171266030795724e+00 1.0422526834227595e+00 + 108 3.5686225189826546e+00 -3.5083544149656913e+00 1.5296762770586798e+00 + 109 -2.2429190678755635e+00 1.2762137613261069e+00 -3.4561335371333839e+00 + 110 -2.5249858397827396e-01 -1.6311993993014295e+00 5.6327007942433740e+00 + 111 2.3600434001454698e+00 2.5432001280052896e+00 3.1710184050148222e+00 + 112 2.2569424883932276e+00 3.6974145225970800e-01 -3.5079037684111525e-01 + 113 -5.0373146177377075e+00 -3.5792639981389738e+00 -4.2214396499888753e+00 + 114 -3.5333518619269451e+00 1.0268969392472418e+00 8.7615872588378296e-01 + 115 -1.7772253346151046e+00 2.1897240981816353e+00 4.0771383097941207e+00 + 116 4.2488265275528576e+00 -4.3879293775874464e+00 3.7692331388491169e+00 + 117 2.7105634024928436e+00 3.1321616846328593e+00 1.7466641233894660e+00 + 118 8.7345045914395758e-01 7.6780961728565911e-01 -3.2428866998030798e-01 + 119 8.1222707163570795e-01 -3.1415725783562989e+00 -3.3658388474833179e+00 + 120 -1.4293980095456700e+00 4.0300936576663116e+00 -2.0006489138695445e+00 + 121 8.6574115149026409e-02 -1.1025347346522691e+00 -3.3832826272724698e-01 + 122 3.5829961754217070e+00 -5.6274174997306403e-01 1.4127528025967464e+00 + 123 3.0632055304618984e+00 1.7103486318850667e+00 -2.8047593712683141e+00 + 124 -1.3875136436688347e+00 -4.4223159472757931e+00 -2.5405244604650492e+00 + 125 -1.6911573920575489e+00 1.8495318348477723e+00 -1.3750758436991293e+00 + 126 -2.2677591075287968e+00 3.3580212813414940e+00 -2.2471871608771297e+00 + 127 5.5289268843360615e+00 -1.7453255640697956e+00 -2.0435451118904822e+00 + 128 4.5908794739248808e+00 4.8343851592710294e+00 3.9665064357692685e+00 + 129 2.2065977620733399e-01 6.8508757018167454e-01 -4.7014971045393039e-01 + 130 -4.0124462717250617e+00 -2.1228312063765644e+00 -9.9897973861187095e-01 + 131 2.9685852583505956e-01 3.7266566877035285e+00 -1.0818658724311603e+00 + 132 8.1961211837090445e-02 -3.5570651112592298e-02 -3.5157302537620549e+00 + 133 -6.2728373866266207e-01 -2.7267744726566501e+00 9.9537775326668165e-01 + 134 -2.9603014594592447e-01 3.9112521689299351e+00 1.7782799262643756e+00 + 135 -2.1400291579006119e+00 -2.8265998306350260e+00 2.4454803567748762e+00 + 136 1.2252665174715807e+00 1.8937900711273210e+00 -3.0560489361858236e+00 + 137 -3.4366253701592004e+00 -3.0728708291251836e+00 -2.8755624856904256e+00 + 138 3.2113319900006487e-01 -2.0408399212555270e+00 -2.4817036798308107e+00 + 139 2.3993994751634760e+00 -5.4038696805398221e+00 2.9783868115053194e+00 + 140 -4.3087336411253938e+00 -5.2637599316271855e+00 -5.2480326020518921e+00 + 141 -2.0320550196332093e-01 4.6412772506323847e+00 -1.5157732877070242e+00 + 142 -1.8439832209649119e+00 4.1540210600591259e+00 7.9344962175592482e-01 + 143 -3.4057213913447748e-01 4.9061723967338047e+00 -2.6145747014412515e+00 + 144 2.1164541985650991e+00 -4.0729732248055028e-01 4.5537682682394323e+00 + 145 4.4954272557720785e+00 3.4922366648720087e+00 -2.2646334656811336e+00 + 146 -3.5506395759279696e+00 1.1009362664654632e+00 2.2848749119148124e+00 + 147 -1.0456337863134513e+00 -2.9724235443270421e+00 -3.1554579860704091e-01 + 148 -3.3313433991320207e+00 3.2426197185600190e+00 4.6572151933457686e+00 + 149 -1.6604128078446929e+00 -5.0401667704393449e-01 -4.3340028890967801e+00 + 150 -5.1780999254441360e+00 3.7656370977861120e+00 -3.8736456354976614e+00 + 151 2.5810691560850336e+00 3.9129419455686074e+00 1.0071952222896006e+00 + 152 1.2189893770300262e+00 1.2902271765990314e+00 -2.1816564738551665e+00 + 153 5.1717608355199707e-01 -2.2766313967227483e-01 4.0357834558791748e+00 + 154 5.5837971079133963e-02 -6.3312910436398928e-01 1.1338376610212486e+00 + 155 2.3776569282086086e+00 -1.3713335058519083e-01 1.8320253886114819e+00 + 156 -7.4605155753865993e-01 6.2639691169766987e-01 7.0950844496935401e+00 + 157 -2.7959006485061026e+00 2.6518449844718162e+00 -4.9418005822869784e+00 + 158 -1.9284812027028533e+00 3.6728996905807429e+00 -1.8903320575690574e+00 + 159 2.7501847555635144e+00 1.1800402620831889e+00 1.0386547735831377e+00 + 160 2.8874286555417567e-01 -8.4184451809624117e-01 -4.5827458970091001e-01 + 161 2.4177527590723455e+00 -4.1799340496126893e+00 4.2734972725104754e+00 + 162 2.9163123188810771e+00 1.1372045084902060e-01 2.4063982964448416e-01 + 163 1.1211713580663814e+00 -4.1852692109665393e+00 2.7055107929805637e+00 + 164 -3.3366806196511456e-01 -2.8592865937323801e+00 -3.6174665813781581e-01 + 165 -4.0598737192925674e+00 1.4790701200934642e+00 -2.0390573716466025e+00 + 166 -1.3972933493773418e+00 -1.5890688842927947e+00 1.2229127903290475e+00 + 167 1.7226829337464684e+00 4.6041363206314684e-01 1.6231271754940000e+00 + 168 4.7487429565043175e+00 -2.0032508711704686e+00 -2.3351656873697832e+00 + 169 -3.0211988899796099e-01 -3.1647229185550936e+00 -3.4484252242803343e-01 + 170 -4.3757968924703894e+00 -1.4988492973802519e+00 3.4848185514123003e-01 + 171 -2.3376048805854945e-02 -5.2171266030795884e+00 1.0422526834227401e+00 + 172 3.5686225189826550e+00 -3.5083544149657140e+00 1.5296762770587022e+00 + 173 -2.2429190678755266e+00 1.2762137613261175e+00 -3.4561335371333590e+00 + 174 -2.5249858397830222e-01 -1.6311993993014464e+00 5.6327007942433953e+00 + 175 2.3600434001454755e+00 2.5432001280052940e+00 3.1710184050148360e+00 + 176 2.2569424883932507e+00 3.6974145225968996e-01 -3.5079037684110964e-01 + 177 -5.0373146177377981e+00 -3.5792639981390417e+00 -4.2214396499889411e+00 + 178 -3.5333518619269650e+00 1.0268969392472225e+00 8.7615872588376031e-01 + 179 -1.7772253346150948e+00 2.1897240981816073e+00 4.0771383097941376e+00 + 180 4.2488265275528398e+00 -4.3879293775873567e+00 3.7692331388490872e+00 + 181 2.7105634024928884e+00 3.1321616846329201e+00 1.7466641233895275e+00 + 182 8.7345045914397823e-01 7.6780961728569319e-01 -3.2428866998029959e-01 + 183 8.1222707163561303e-01 -3.1415725783563042e+00 -3.3658388474832615e+00 + 184 -1.4293980095456353e+00 4.0300936576662263e+00 -2.0006489138695152e+00 + 185 8.6574115148984901e-02 -1.1025347346522825e+00 -3.3832826272727029e-01 + 186 3.5829961754216990e+00 -5.6274174997292847e-01 1.4127528025966907e+00 + 187 3.0632055304618695e+00 1.7103486318851024e+00 -2.8047593712682977e+00 + 188 -1.3875136436688005e+00 -4.4223159472758375e+00 -2.5405244604650630e+00 + 189 -1.6911573920574956e+00 1.8495318348477674e+00 -1.3750758436991164e+00 + 190 -2.2677591075288310e+00 3.3580212813414985e+00 -2.2471871608771572e+00 + 191 5.5289268843360695e+00 -1.7453255640698218e+00 -2.0435451118905417e+00 + 192 4.5908794739248941e+00 4.8343851592710472e+00 3.9665064357693018e+00 + 193 2.2065977620732177e-01 6.8508757018165101e-01 -4.7014971045390719e-01 + 194 -4.0124462717250502e+00 -2.1228312063765382e+00 -9.9897973861185496e-01 + 195 2.9685852583505262e-01 3.7266566877035454e+00 -1.0818658724311427e+00 + 196 8.1961211837097786e-02 -3.5570651112571475e-02 -3.5157302537620616e+00 + 197 -6.2728373866267539e-01 -2.7267744726566523e+00 9.9537775326668376e-01 + 198 -2.9603014594597088e-01 3.9112521689299240e+00 1.7782799262643507e+00 + 199 -2.1400291579005177e+00 -2.8265998306349993e+00 2.4454803567748304e+00 + 200 1.2252665174716113e+00 1.8937900711272890e+00 -3.0560489361858205e+00 + 201 -3.4366253701591956e+00 -3.0728708291251809e+00 -2.8755624856904198e+00 + 202 3.2113319899990000e-01 -2.0408399212556190e+00 -2.4817036798308507e+00 + 203 2.3993994751634578e+00 -5.4038696805398194e+00 2.9783868115053100e+00 + 204 -4.3087336411254391e+00 -5.2637599316272476e+00 -5.2480326020519348e+00 + 205 -2.0320550196332396e-01 4.6412772506323590e+00 -1.5157732877070236e+00 + 206 -1.8439832209647438e+00 4.1540210600591623e+00 7.9344962175601397e-01 + 207 -3.4057213913451267e-01 4.9061723967338668e+00 -2.6145747014413105e+00 + 208 2.1164541985652097e+00 -4.0729732248044204e-01 4.5537682682393914e+00 + 209 4.4954272557721220e+00 3.4922366648720633e+00 -2.2646334656811820e+00 + 210 -3.5506395759279887e+00 1.1009362664654772e+00 2.2848749119148128e+00 + 211 -1.0456337863134837e+00 -2.9724235443270404e+00 -3.1554579860706405e-01 + 212 -3.3313433991320491e+00 3.2426197185600505e+00 4.6572151933457935e+00 + 213 -1.6604128078446749e+00 -5.0401667704395470e-01 -4.3340028890967774e+00 + 214 -5.1780999254441440e+00 3.7656370977861240e+00 -3.8736456354976729e+00 + 215 2.5810691560850549e+00 3.9129419455686381e+00 1.0071952222896086e+00 + 216 1.2189893770300753e+00 1.2902271765990028e+00 -2.1816564738551638e+00 + 217 5.1717608355195643e-01 -2.2766313967224022e-01 4.0357834558791765e+00 + 218 5.5837971079070015e-02 -6.3312910436396785e-01 1.1338376610212360e+00 + 219 2.3776569282085069e+00 -1.3713335058519693e-01 1.8320253886115079e+00 + 220 -7.4605155753861085e-01 6.2639691169761247e-01 7.0950844496935002e+00 + 221 -2.7959006485060791e+00 2.6518449844717868e+00 -4.9418005822869757e+00 + 222 -1.9284812027028138e+00 3.6728996905807301e+00 -1.8903320575690223e+00 + 223 2.7501847555635788e+00 1.1800402620831882e+00 1.0386547735831531e+00 + 224 2.8874286555415263e-01 -8.4184451809625616e-01 -4.5827458970088164e-01 + 225 2.4177527590723056e+00 -4.1799340496126334e+00 4.2734972725104114e+00 + 226 2.9163123188810651e+00 1.1372045084902660e-01 2.4063982964447489e-01 + 227 1.1211713580663849e+00 -4.1852692109665455e+00 2.7055107929805615e+00 + 228 -3.3366806196511983e-01 -2.8592865937323739e+00 -3.6174665813781320e-01 + 229 -4.0598737192925798e+00 1.4790701200934622e+00 -2.0390573716466074e+00 + 230 -1.3972933493773356e+00 -1.5890688842927925e+00 1.2229127903290635e+00 + 231 1.7226829337464800e+00 4.6041363206314612e-01 1.6231271754940013e+00 + 232 4.7487429565043344e+00 -2.0032508711704855e+00 -2.3351656873697806e+00 + 233 -3.0211988899795655e-01 -3.1647229185550732e+00 -3.4484252242802338e-01 + 234 -4.3757968924704258e+00 -1.4988492973802843e+00 3.4848185514119656e-01 + 235 -2.3376048805818568e-02 -5.2171266030795858e+00 1.0422526834227763e+00 + 236 3.5686225189826279e+00 -3.5083544149656456e+00 1.5296762770586625e+00 + 237 -2.2429190678755799e+00 1.2762137613261333e+00 -3.4561335371333888e+00 + 238 -2.5249858397824543e-01 -1.6311993993013938e+00 5.6327007942433767e+00 + 239 2.3600434001454706e+00 2.5432001280052909e+00 3.1710184050148222e+00 + 240 2.2569424883932210e+00 3.6974145225969474e-01 -3.5079037684111503e-01 + 241 -5.0373146177377324e+00 -3.5792639981390222e+00 -4.2214396499889162e+00 + 242 -3.5333518619269380e+00 1.0268969392472143e+00 8.7615872588376464e-01 + 243 -1.7772253346151146e+00 2.1897240981816237e+00 4.0771383097941385e+00 + 244 4.2488265275528496e+00 -4.3879293775873647e+00 3.7692331388490987e+00 + 245 2.7105634024928511e+00 3.1321616846329028e+00 1.7466641233895173e+00 + 246 8.7345045914395836e-01 7.6780961728569264e-01 -3.2428866998030559e-01 + 247 8.1222707163569863e-01 -3.1415725783563513e+00 -3.3658388474832881e+00 + 248 -1.4293980095456251e+00 4.0300936576662192e+00 -2.0006489138695107e+00 + 249 8.6574115149029129e-02 -1.1025347346522740e+00 -3.3832826272724925e-01 + 250 3.5829961754216813e+00 -5.6274174997293747e-01 1.4127528025966929e+00 + 251 3.0632055304618993e+00 1.7103486318850718e+00 -2.8047593712682799e+00 + 252 -1.3875136436688631e+00 -4.4223159472758287e+00 -2.5405244604650763e+00 + 253 -1.6911573920575287e+00 1.8495318348477638e+00 -1.3750758436991428e+00 + 254 -2.2677591075288426e+00 3.3580212813415100e+00 -2.2471871608771661e+00 + 255 5.5289268843360224e+00 -1.7453255640698009e+00 -2.0435451118904995e+00 + 256 4.5908794739248977e+00 4.8343851592710472e+00 3.9665064357692983e+00 + 257 2.2065977620732941e-01 6.8508757018167110e-01 -4.7014971045391796e-01 + 258 -4.0124462717250724e+00 -2.1228312063765689e+00 -9.9897973861188238e-01 + 259 2.9685852583505434e-01 3.7266566877035090e+00 -1.0818658724311474e+00 + 260 8.1961211837135978e-02 -3.5570651112582445e-02 -3.5157302537620394e+00 + 261 -6.2728373866268039e-01 -2.7267744726566638e+00 9.9537775326669742e-01 + 262 -2.9603014594592375e-01 3.9112521689299506e+00 1.7782799262643629e+00 + 263 -2.1400291579006092e+00 -2.8265998306349847e+00 2.4454803567748686e+00 + 264 1.2252665174715418e+00 1.8937900711273350e+00 -3.0560489361858800e+00 + 265 -3.4366253701592124e+00 -3.0728708291251818e+00 -2.8755624856904229e+00 + 266 3.2113319900003767e-01 -2.0408399212556123e+00 -2.4817036798307996e+00 + 267 2.3993994751634831e+00 -5.4038696805398132e+00 2.9783868115053385e+00 + 268 -4.3087336411253823e+00 -5.2637599316271810e+00 -5.2480326020518948e+00 + 269 -2.0320550196331744e-01 4.6412772506323856e+00 -1.5157732877070211e+00 + 270 -1.8439832209648801e+00 4.1540210600592022e+00 7.9344962175594513e-01 + 271 -3.4057213913447049e-01 4.9061723967337834e+00 -2.6145747014412617e+00 + 272 2.1164541985651875e+00 -4.0729732248049783e-01 4.5537682682393914e+00 + 273 4.4954272557719896e+00 3.4922366648719509e+00 -2.2646334656810931e+00 + 274 -3.5506395759279417e+00 1.1009362664654467e+00 2.2848749119148133e+00 + 275 -1.0456337863134686e+00 -2.9724235443270923e+00 -3.1554579860704990e-01 + 276 -3.3313433991320278e+00 3.2426197185599994e+00 4.6572151933457437e+00 + 277 -1.6604128078447160e+00 -5.0401667704387920e-01 -4.3340028890968076e+00 + 278 -5.1780999254442071e+00 3.7656370977861950e+00 -3.8736456354977591e+00 + 279 2.5810691560850652e+00 3.9129419455686545e+00 1.0071952222896858e+00 + 280 1.2189893770300313e+00 1.2902271765990312e+00 -2.1816564738551856e+00 + 281 5.1717608355203271e-01 -2.2766313967228052e-01 4.0357834558791534e+00 + 282 5.5837971079129717e-02 -6.3312910436400760e-01 1.1338376610212428e+00 + 283 2.3776569282085740e+00 -1.3713335058519521e-01 1.8320253886114690e+00 + 284 -7.4605155753871610e-01 6.2639691169773581e-01 7.0950844496935010e+00 + 285 -2.7959006485060862e+00 2.6518449844717629e+00 -4.9418005822869766e+00 + 286 -1.9284812027028417e+00 3.6728996905807465e+00 -1.8903320575690452e+00 + 287 2.7501847555635206e+00 1.1800402620831736e+00 1.0386547735831380e+00 + 288 2.8874286555417988e-01 -8.4184451809622918e-01 -4.5827458970090557e-01 + 289 2.4177527590723296e+00 -4.1799340496126653e+00 4.2734972725104541e+00 + 290 2.9163123188810616e+00 1.1372045084901131e-01 2.4063982964448682e-01 + 291 1.1211713580663807e+00 -4.1852692109665259e+00 2.7055107929805704e+00 + 292 -3.3366806196508991e-01 -2.8592865937324055e+00 -3.6174665813779472e-01 + 293 -4.0598737192925585e+00 1.4790701200934770e+00 -2.0390573716466172e+00 + 294 -1.3972933493773392e+00 -1.5890688842927909e+00 1.2229127903290435e+00 + 295 1.7226829337464613e+00 4.6041363206313329e-01 1.6231271754939749e+00 + 296 4.7487429565043104e+00 -2.0032508711704766e+00 -2.3351656873698632e+00 + 297 -3.0211988899794845e-01 -3.1647229185551105e+00 -3.4484252242803848e-01 + 298 -4.3757968924703503e+00 -1.4988492973802341e+00 3.4848185514129637e-01 + 299 -2.3376048805917350e-02 -5.2171266030795431e+00 1.0422526834226988e+00 + 300 3.5686225189826670e+00 -3.5083544149657531e+00 1.5296762770587127e+00 + 301 -2.2429190678754769e+00 1.2762137613260611e+00 -3.4561335371333071e+00 + 302 -2.5249858397829578e-01 -1.6311993993015041e+00 5.6327007942433376e+00 + 303 2.3600434001454920e+00 2.5432001280053047e+00 3.1710184050148311e+00 + 304 2.2569424883932672e+00 3.6974145225971183e-01 -3.5079037684108039e-01 + 305 -5.0373146177377928e+00 -3.5792639981390089e+00 -4.2214396499889082e+00 + 306 -3.5333518619269384e+00 1.0268969392472114e+00 8.7615872588375443e-01 + 307 -1.7772253346151266e+00 2.1897240981816526e+00 4.0771383097941225e+00 + 308 4.2488265275529011e+00 -4.3879293775874855e+00 3.7692331388491231e+00 + 309 2.7105634024928857e+00 3.1321616846328917e+00 1.7466641233895481e+00 + 310 8.7345045914396779e-01 7.6780961728566777e-01 -3.2428866998030031e-01 + 311 8.1222707163562902e-01 -3.1415725783562807e+00 -3.3658388474833245e+00 + 312 -1.4293980095456613e+00 4.0300936576663045e+00 -2.0006489138695276e+00 + 313 8.6574115148966818e-02 -1.1025347346522749e+00 -3.3832826272726396e-01 + 314 3.5829961754217194e+00 -5.6274174997303006e-01 1.4127528025966833e+00 + 315 3.0632055304618753e+00 1.7103486318850509e+00 -2.8047593712683314e+00 + 316 -1.3875136436687978e+00 -4.4223159472758278e+00 -2.5405244604650568e+00 + 317 -1.6911573920575360e+00 1.8495318348477792e+00 -1.3750758436991246e+00 + 318 -2.2677591075287729e+00 3.3580212813414976e+00 -2.2471871608771155e+00 + 319 5.5289268843361041e+00 -1.7453255640698027e+00 -2.0435451118905217e+00 + 320 4.5908794739248941e+00 4.8343851592710383e+00 3.9665064357692850e+00 + 321 2.2065977620731958e-01 6.8508757018164912e-01 -4.7014971045389981e-01 + 322 -4.0124462717250662e+00 -2.1228312063765467e+00 -9.9897973861187206e-01 + 323 2.9685852583504557e-01 3.7266566877035276e+00 -1.0818658724311265e+00 + 324 8.1961211837145054e-02 -3.5570651112557784e-02 -3.5157302537620483e+00 + 325 -6.2728373866269860e-01 -2.7267744726566718e+00 9.9537775326670286e-01 + 326 -2.9603014594596616e-01 3.9112521689299413e+00 1.7782799262643401e+00 + 327 -2.1400291579005142e+00 -2.8265998306349629e+00 2.4454803567748229e+00 + 328 1.2252665174715800e+00 1.8937900711272995e+00 -3.0560489361858694e+00 + 329 -3.4366253701592036e+00 -3.0728708291251809e+00 -2.8755624856904167e+00 + 330 3.2113319899987736e-01 -2.0408399212556958e+00 -2.4817036798308467e+00 + 331 2.3993994751634653e+00 -5.4038696805398132e+00 2.9783868115053269e+00 + 332 -4.3087336411254276e+00 -5.2637599316272450e+00 -5.2480326020519295e+00 + 333 -2.0320550196332526e-01 4.6412772506323616e+00 -1.5157732877070209e+00 + 334 -1.8439832209647171e+00 4.1540210600592227e+00 7.9344962175604017e-01 + 335 -3.4057213913450601e-01 4.9061723967338473e+00 -2.6145747014413216e+00 + 336 2.1164541985652989e+00 -4.0729732248038819e-01 4.5537682682393461e+00 + 337 4.4954272557720341e+00 3.4922366648720105e+00 -2.2646334656811460e+00 + 338 -3.5506395759279554e+00 1.1009362664654545e+00 2.2848749119148124e+00 + 339 -1.0456337863135057e+00 -2.9724235443270817e+00 -3.1554579860707777e-01 + 340 -3.3313433991320545e+00 3.2426197185600296e+00 4.6572151933457686e+00 + 341 -1.6604128078446965e+00 -5.0401667704389908e-01 -4.3340028890967988e+00 + 342 -5.1780999254442168e+00 3.7656370977862070e+00 -3.8736456354977689e+00 + 343 2.5810691560850914e+00 3.9129419455686771e+00 1.0071952222896947e+00 + 344 1.2189893770300737e+00 1.2902271765990079e+00 -2.1816564738551838e+00 + 345 5.1717608355198685e-01 -2.2766313967224525e-01 4.0357834558791614e+00 + 346 5.5837971079071361e-02 -6.3312910436398895e-01 1.1338376610212340e+00 + 347 2.3776569282084776e+00 -1.3713335058520099e-01 1.8320253886114886e+00 + 348 -7.4605155753866903e-01 6.2639691169767264e-01 7.0950844496934700e+00 + 349 -2.7959006485060667e+00 2.6518449844717411e+00 -4.9418005822869757e+00 + 350 -1.9284812027028029e+00 3.6728996905807318e+00 -1.8903320575690150e+00 + 351 2.7501847555635859e+00 1.1800402620831765e+00 1.0386547735831562e+00 + 352 2.8874286555416440e-01 -8.4184451809624505e-01 -4.5827458970087631e-01 + 353 2.4177527590722883e+00 -4.1799340496126067e+00 4.2734972725103901e+00 + 354 2.9163123188810500e+00 1.1372045084901908e-01 2.4063982964447680e-01 + 355 1.1211713580663856e+00 -4.1852692109665250e+00 2.7055107929805691e+00 + 356 -3.3366806196510224e-01 -2.8592865937324086e+00 -3.6174665813779844e-01 + 357 -4.0598737192925727e+00 1.4790701200934737e+00 -2.0390573716466203e+00 + 358 -1.3972933493773345e+00 -1.5890688842927898e+00 1.2229127903290584e+00 + 359 1.7226829337464711e+00 4.6041363206313263e-01 1.6231271754939733e+00 + 360 4.7487429565043389e+00 -2.0032508711704824e+00 -2.3351656873698436e+00 + 361 -3.0211988899794429e-01 -3.1647229185550865e+00 -3.4484252242802960e-01 + 362 -4.3757968924703956e+00 -1.4988492973802561e+00 3.4848185514126701e-01 + 363 -2.3376048805876765e-02 -5.2171266030795485e+00 1.0422526834227379e+00 + 364 3.5686225189826288e+00 -3.5083544149656833e+00 1.5296762770586578e+00 + 365 -2.2429190678755329e+00 1.2762137613260736e+00 -3.4561335371333461e+00 + 366 -2.5249858397824815e-01 -1.6311993993014644e+00 5.6327007942433225e+00 + 367 2.3600434001454915e+00 2.5432001280053038e+00 3.1710184050148182e+00 + 368 2.2569424883932401e+00 3.6974145225972127e-01 -3.5079037684107833e-01 + 369 -5.0373146177377333e+00 -3.5792639981389955e+00 -4.2214396499888878e+00 + 370 -3.5333518619269193e+00 1.0268969392472043e+00 8.7615872588375687e-01 + 371 -1.7772253346151403e+00 2.1897240981816610e+00 4.0771383097941243e+00 + 372 4.2488265275529082e+00 -4.3879293775874944e+00 3.7692331388491360e+00 + 373 2.7105634024928529e+00 3.1321616846328841e+00 1.7466641233895353e+00 + 374 8.7345045914395492e-01 7.6780961728566688e-01 -3.2428866998030270e-01 + 375 8.1222707163570185e-01 -3.1415725783563140e+00 -3.3658388474833436e+00 + 376 -1.4293980095456515e+00 4.0300936576662982e+00 -2.0006489138695236e+00 + 377 8.6574115149007508e-02 -1.1025347346522656e+00 -3.3832826272724670e-01 + 378 3.5829961754217021e+00 -5.6274174997304049e-01 1.4127528025966869e+00 + 379 3.0632055304619046e+00 1.7103486318850294e+00 -2.8047593712683248e+00 + 380 -1.3875136436688611e+00 -4.4223159472758171e+00 -2.5405244604650710e+00 + 381 -1.6911573920575631e+00 1.8495318348477765e+00 -1.3750758436991477e+00 + 382 -2.2677591075287888e+00 3.3580212813415158e+00 -2.2471871608771270e+00 + 383 5.5289268843360633e+00 -1.7453255640697798e+00 -2.0435451118904799e+00 + 384 4.5908794739248933e+00 4.8343851592710401e+00 3.9665064357692801e+00 + 385 2.2065977620732730e-01 6.8508757018166722e-01 -4.7014971045392268e-01 + 386 -4.0124462717250555e+00 -2.1228312063765657e+00 -9.9897973861187450e-01 + 387 2.9685852583504840e-01 3.7266566877035179e+00 -1.0818658724311452e+00 + 388 8.1961211837107736e-02 -3.5570651112587594e-02 -3.5157302537620403e+00 + 389 -6.2728373866267106e-01 -2.7267744726566456e+00 9.9537775326669231e-01 + 390 -2.9603014594592247e-01 3.9112521689299307e+00 1.7782799262643685e+00 + 391 -2.1400291579006185e+00 -2.8265998306350202e+00 2.4454803567748815e+00 + 392 1.2252665174715607e+00 1.8937900711273177e+00 -3.0560489361858738e+00 + 393 -3.4366253701591964e+00 -3.0728708291251805e+00 -2.8755624856904189e+00 + 394 3.2113319900006382e-01 -2.0408399212555475e+00 -2.4817036798308010e+00 + 395 2.3993994751634857e+00 -5.4038696805398176e+00 2.9783868115053309e+00 + 396 -4.3087336411253752e+00 -5.2637599316271784e+00 -5.2480326020518815e+00 + 397 -2.0320550196332074e-01 4.6412772506323767e+00 -1.5157732877070365e+00 + 398 -1.8439832209648899e+00 4.1540210600591241e+00 7.9344962175597222e-01 + 399 -3.4057213913448170e-01 4.9061723967338047e+00 -2.6145747014412812e+00 + 400 2.1164541985651271e+00 -4.0729732248056127e-01 4.5537682682393967e+00 + 401 4.4954272557720563e+00 3.4922366648719958e+00 -2.2646334656811242e+00 + 402 -3.5506395759279665e+00 1.1009362664654851e+00 2.2848749119148377e+00 + 403 -1.0456337863134848e+00 -2.9724235443270710e+00 -3.1554579860705723e-01 + 404 -3.3313433991320127e+00 3.2426197185599919e+00 4.6572151933457420e+00 + 405 -1.6604128078446829e+00 -5.0401667704393338e-01 -4.3340028890968139e+00 + 406 -5.1780999254441831e+00 3.7656370977861631e+00 -3.8736456354977280e+00 + 407 2.5810691560850709e+00 3.9129419455686327e+00 1.0071952222896738e+00 + 408 1.2189893770300229e+00 1.2902271765990374e+00 -2.1816564738551811e+00 + 409 5.1717608355202493e-01 -2.2766313967227628e-01 4.0357834558791481e+00 + 410 5.5837971079144302e-02 -6.3312910436398984e-01 1.1338376610212491e+00 + 411 2.3776569282085980e+00 -1.3713335058517742e-01 1.8320253886114846e+00 + 412 -7.4605155753866470e-01 6.2639691169767375e-01 7.0950844496935259e+00 + 413 -2.7959006485061177e+00 2.6518449844718095e+00 -4.9418005822869944e+00 + 414 -1.9284812027028573e+00 3.6728996905807429e+00 -1.8903320575690619e+00 + 415 2.7501847555635117e+00 1.1800402620831951e+00 1.0386547735831488e+00 + 416 2.8874286555417711e-01 -8.4184451809623262e-01 -4.5827458970091361e-01 + 417 2.4177527590723411e+00 -4.1799340496126929e+00 4.2734972725104763e+00 + 418 2.9163123188810673e+00 1.1372045084901856e-01 2.4063982964448422e-01 + 419 1.1211713580663871e+00 -4.1852692109665384e+00 2.7055107929805620e+00 + 420 -3.3366806196509108e-01 -2.8592865937323548e+00 -3.6174665813779155e-01 + 421 -4.0598737192925629e+00 1.4790701200934655e+00 -2.0390573716466074e+00 + 422 -1.3972933493773372e+00 -1.5890688842927885e+00 1.2229127903290467e+00 + 423 1.7226829337464706e+00 4.6041363206314223e-01 1.6231271754939771e+00 + 424 4.7487429565043096e+00 -2.0032508711704984e+00 -2.3351656873698792e+00 + 425 -3.0211988899795744e-01 -3.1647229185551016e+00 -3.4484252242803315e-01 + 426 -4.3757968924703610e+00 -1.4988492973802494e+00 3.4848185514128066e-01 + 427 -2.3376048805912597e-02 -5.2171266030795564e+00 1.0422526834227130e+00 + 428 3.5686225189826404e+00 -3.5083544149657007e+00 1.5296762770586887e+00 + 429 -2.2429190678754907e+00 1.2762137613260744e+00 -3.4561335371333111e+00 + 430 -2.5249858397827141e-01 -1.6311993993014784e+00 5.6327007942433411e+00 + 431 2.3600434001454915e+00 2.5432001280053038e+00 3.1710184050148325e+00 + 432 2.2569424883932538e+00 3.6974145225970129e-01 -3.5079037684108455e-01 + 433 -5.0373146177378230e+00 -3.5792639981390653e+00 -4.2214396499889535e+00 + 434 -3.5333518619269375e+00 1.0268969392471847e+00 8.7615872588373778e-01 + 435 -1.7772253346151319e+00 2.1897240981816313e+00 4.0771383097941420e+00 + 436 4.2488265275528887e+00 -4.3879293775874038e+00 3.7692331388491107e+00 + 437 2.7105634024928995e+00 3.1321616846329503e+00 1.7466641233895961e+00 + 438 8.7345045914396979e-01 7.6780961728570341e-01 -3.2428866998029504e-01 + 439 8.1222707163561003e-01 -3.1415725783563109e+00 -3.3658388474832925e+00 + 440 -1.4293980095456116e+00 4.0300936576662076e+00 -2.0006489138694881e+00 + 441 8.6574115148964528e-02 -1.1025347346522822e+00 -3.3832826272726874e-01 + 442 3.5829961754216826e+00 -5.6274174997290771e-01 1.4127528025966316e+00 + 443 3.0632055304618788e+00 1.7103486318850583e+00 -2.8047593712683061e+00 + 444 -1.3875136436688247e+00 -4.4223159472758651e+00 -2.5405244604650830e+00 + 445 -1.6911573920575109e+00 1.8495318348477754e+00 -1.3750758436991375e+00 + 446 -2.2677591075288208e+00 3.3580212813415189e+00 -2.2471871608771536e+00 + 447 5.5289268843360748e+00 -1.7453255640698058e+00 -2.0435451118905412e+00 + 448 4.5908794739249110e+00 4.8343851592710587e+00 3.9665064357693121e+00 + 449 2.2065977620731797e-01 6.8508757018164601e-01 -4.7014971045390314e-01 + 450 -4.0124462717250475e+00 -2.1228312063765427e+00 -9.9897973861186151e-01 + 451 2.9685852583504219e-01 3.7266566877035343e+00 -1.0818658724311292e+00 + 452 8.1961211837113107e-02 -3.5570651112571294e-02 -3.5157302537620505e+00 + 453 -6.2728373866268550e-01 -2.7267744726566483e+00 9.9537775326669620e-01 + 454 -2.9603014594597238e-01 3.9112521689299249e+00 1.7782799262643409e+00 + 455 -2.1400291579005266e+00 -2.8265998306349962e+00 2.4454803567748411e+00 + 456 1.2252665174715962e+00 1.8937900711272895e+00 -3.0560489361858609e+00 + 457 -3.4366253701591862e+00 -3.0728708291251734e+00 -2.8755624856904087e+00 + 458 3.2113319899989845e-01 -2.0408399212556350e+00 -2.4817036798308432e+00 + 459 2.3993994751634680e+00 -5.4038696805398168e+00 2.9783868115053189e+00 + 460 -4.3087336411254116e+00 -5.2637599316272343e+00 -5.2480326020519108e+00 + 461 -2.0320550196333101e-01 4.6412772506323465e+00 -1.5157732877070416e+00 + 462 -1.8439832209647335e+00 4.1540210600591578e+00 7.9344962175605360e-01 + 463 -3.4057213913451534e-01 4.9061723967338651e+00 -2.6145747014413372e+00 + 464 2.1164541985652274e+00 -4.0729732248045536e-01 4.5537682682393479e+00 + 465 4.4954272557720998e+00 3.4922366648720518e+00 -2.2646334656811744e+00 + 466 -3.5506395759279834e+00 1.1009362664654998e+00 2.2848749119148426e+00 + 467 -1.0456337863135143e+00 -2.9724235443270688e+00 -3.1554579860708670e-01 + 468 -3.3313433991320420e+00 3.2426197185600270e+00 4.6572151933457713e+00 + 469 -1.6604128078446627e+00 -5.0401667704395514e-01 -4.3340028890968130e+00 + 470 -5.1780999254441911e+00 3.7656370977861737e+00 -3.8736456354977373e+00 + 471 2.5810691560850989e+00 3.9129419455686594e+00 1.0071952222896923e+00 + 472 1.2189893770300682e+00 1.2902271765990110e+00 -2.1816564738551838e+00 + 473 5.1717608355198452e-01 -2.2766313967224341e-01 4.0357834558791552e+00 + 474 5.5837971079085232e-02 -6.3312910436397274e-01 1.1338376610212360e+00 + 475 2.3776569282084941e+00 -1.3713335058517889e-01 1.8320253886114970e+00 + 476 -7.4605155753861430e-01 6.2639691169761458e-01 7.0950844496934895e+00 + 477 -2.7959006485060907e+00 2.6518449844717762e+00 -4.9418005822869873e+00 + 478 -1.9284812027028182e+00 3.6728996905807305e+00 -1.8903320575690257e+00 + 479 2.7501847555635774e+00 1.1800402620831949e+00 1.0386547735831646e+00 + 480 2.8874286555415751e-01 -8.4184451809624661e-01 -4.5827458970088686e-01 + 481 2.4177527590723020e+00 -4.1799340496126378e+00 4.2734972725104132e+00 + 482 2.9163123188810545e+00 1.1372045084902734e-01 2.4063982964447497e-01 + 483 1.1211713580663913e+00 -4.1852692109665437e+00 2.7055107929805589e+00 + 484 -3.3366806196509163e-01 -2.8592865937323566e+00 -3.6174665813778917e-01 + 485 -4.0598737192925771e+00 1.4790701200934606e+00 -2.0390573716466096e+00 + 486 -1.3972933493773290e+00 -1.5890688842927849e+00 1.2229127903290600e+00 + 487 1.7226829337464831e+00 4.6041363206314256e-01 1.6231271754939769e+00 + 488 4.7487429565043335e+00 -2.0032508711705099e+00 -2.3351656873698663e+00 + 489 -3.0211988899795733e-01 -3.1647229185550767e+00 -3.4484252242802543e-01 + 490 -4.3757968924704000e+00 -1.4988492973802796e+00 3.4848185514124658e-01 + 491 -2.3376048805871998e-02 -5.2171266030795600e+00 1.0422526834227526e+00 + 492 3.5686225189826155e+00 -3.5083544149656434e+00 1.5296762770586498e+00 + 493 -2.2429190678755497e+00 1.2762137613260978e+00 -3.4561335371333484e+00 + 494 -2.5249858397821118e-01 -1.6311993993014249e+00 5.6327007942433198e+00 + 495 2.3600434001454902e+00 2.5432001280053025e+00 3.1710184050148209e+00 + 496 2.2569424883932276e+00 3.6974145225970889e-01 -3.5079037684108527e-01 + 497 -5.0373146177377635e+00 -3.5792639981390502e+00 -4.2214396499889375e+00 + 498 -3.5333518619269140e+00 1.0268969392471858e+00 8.7615872588374821e-01 + 499 -1.7772253346151548e+00 2.1897240981816428e+00 4.0771383097941429e+00 + 500 4.2488265275528976e+00 -4.3879293775874126e+00 3.7692331388491165e+00 + 501 2.7105634024928711e+00 3.1321616846329334e+00 1.7466641233895854e+00 + 502 8.7345045914395414e-01 7.6780961728569797e-01 -3.2428866998030276e-01 + 503 8.1222707163569130e-01 -3.1415725783563553e+00 -3.3658388474833130e+00 + 504 -1.4293980095456063e+00 4.0300936576662059e+00 -2.0006489138694903e+00 + 505 8.6574115149004913e-02 -1.1025347346522696e+00 -3.3832826272724970e-01 + 506 3.5829961754216701e+00 -5.6274174997292259e-01 1.4127528025966396e+00 + 507 3.0632055304618988e+00 1.7103486318850267e+00 -2.8047593712682906e+00 + 508 -1.3875136436688860e+00 -4.4223159472758544e+00 -2.5405244604650981e+00 + 509 -1.6911573920575413e+00 1.8495318348477698e+00 -1.3750758436991610e+00 + 510 -2.2677591075288315e+00 3.3580212813415331e+00 -2.2471871608771616e+00 + 511 5.5289268843360286e+00 -1.7453255640697798e+00 -2.0435451118904946e+00 + 512 4.5908794739249092e+00 4.8343851592710569e+00 3.9665064357693121e+00 ... diff --git a/unittest/formats/CMakeLists.txt b/unittest/formats/CMakeLists.txt index 8a198d4c64..5b5dd056c9 100644 --- a/unittest/formats/CMakeLists.txt +++ b/unittest/formats/CMakeLists.txt @@ -46,9 +46,8 @@ target_link_libraries(test_dump_atom PRIVATE lammps GTest::GMock) add_test(NAME DumpAtom COMMAND test_dump_atom) set_tests_properties(DumpAtom PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR}") -if(PKG_COMPRESS) - find_program(GZIP_BINARY NAMES gzip REQUIRED) - +find_program(GZIP_EXECUTABLE NAMES gzip) +if(PKG_COMPRESS AND GZIP_FOUND) add_executable(test_dump_atom_compressed test_dump_atom_compressed.cpp compressed_dump_test_main.cpp) target_link_libraries(test_dump_atom_compressed PRIVATE lammps GTest::GMock) @@ -65,39 +64,39 @@ if(PKG_COMPRESS) target_link_libraries(test_dump_xyz_compressed PRIVATE lammps GTest::GMock) add_test(NAME DumpAtomGZ COMMAND test_dump_atom_compressed gz) - set_tests_properties(DumpAtomGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${GZIP_BINARY}") + set_tests_properties(DumpAtomGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${GZIP_EXECUTABLE}") add_test(NAME DumpCustomGZ COMMAND test_dump_custom_compressed gz) - set_tests_properties(DumpCustomGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${GZIP_BINARY}") + set_tests_properties(DumpCustomGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${GZIP_EXECUTABLE}") add_test(NAME DumpCfgGZ COMMAND test_dump_cfg_compressed gz) - set_tests_properties(DumpCfgGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${GZIP_BINARY}") + set_tests_properties(DumpCfgGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${GZIP_EXECUTABLE}") add_test(NAME DumpLocalGZ COMMAND test_dump_local_compressed gz) - set_tests_properties(DumpLocalGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${GZIP_BINARY}") + set_tests_properties(DumpLocalGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${GZIP_EXECUTABLE}") add_test(NAME DumpXYZGZ COMMAND test_dump_xyz_compressed gz) - set_tests_properties(DumpXYZGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${GZIP_BINARY}") + set_tests_properties(DumpXYZGZ PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${GZIP_EXECUTABLE}") - find_package(PkgConfig REQUIRED) + find_package(PkgConfig) pkg_check_modules(Zstd IMPORTED_TARGET libzstd>=1.4) - find_program(ZSTD_BINARY NAMES zstd) + find_program(ZSTD_EXECUTABLE NAMES zstd) - if(Zstd_FOUND AND ZSTD_BINARY) + if(Zstd_FOUND AND ZSTD_EXECUTABLE) add_test(NAME DumpAtomZstd COMMAND test_dump_atom_compressed zstd) - set_tests_properties(DumpAtomZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${ZSTD_BINARY}") + set_tests_properties(DumpAtomZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${ZSTD_EXECUTABLE}") add_test(NAME DumpCustomZstd COMMAND test_dump_custom_compressed zstd) - set_tests_properties(DumpCustomZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${ZSTD_BINARY}") + set_tests_properties(DumpCustomZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${ZSTD_EXECUTABLE}") add_test(NAME DumpCfgZstd COMMAND test_dump_cfg_compressed zstd) - set_tests_properties(DumpCfgZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${ZSTD_BINARY}") + set_tests_properties(DumpCfgZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${ZSTD_EXECUTABLE}") add_test(NAME DumpLocalZstd COMMAND test_dump_local_compressed zstd) - set_tests_properties(DumpLocalZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${ZSTD_BINARY}") + set_tests_properties(DumpLocalZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${ZSTD_EXECUTABLE}") add_test(NAME DumpXYZZstd COMMAND test_dump_xyz_compressed zstd) - set_tests_properties(DumpXYZZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_BINARY=${ZSTD_BINARY}") + set_tests_properties(DumpXYZZstd PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};COMPRESS_EXECUTABLE=${ZSTD_EXECUTABLE}") endif() endif() @@ -122,11 +121,11 @@ if(PKG_NETCDF) target_link_libraries(test_dump_netcdf PRIVATE lammps GTest::GMock) add_test(NAME DumpNetCDF COMMAND test_dump_netcdf) if(NOT (NCDUMP STREQUAL "NCDUMP-NOTFOUND")) - set_tests_properties(DumpNetCDF PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};NCDUMP_BINARY=${NCDUMP}") + set_tests_properties(DumpNetCDF PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};NCDUMP_EXECUTABLE=${NCDUMP}") endif() endif() if(BUILD_TOOLS) - set_tests_properties(DumpAtom PROPERTIES ENVIRONMENT "BINARY2TXT_BINARY=$") - set_tests_properties(DumpCustom PROPERTIES ENVIRONMENT "BINARY2TXT_BINARY=$") + set_tests_properties(DumpAtom PROPERTIES ENVIRONMENT "BINARY2TXT_EXECUTABLE=$") + set_tests_properties(DumpCustom PROPERTIES ENVIRONMENT "BINARY2TXT_EXECUTABLE=$") endif() diff --git a/unittest/formats/compressed_dump_test.h b/unittest/formats/compressed_dump_test.h index 9b2dbc905b..b209097264 100644 --- a/unittest/formats/compressed_dump_test.h +++ b/unittest/formats/compressed_dump_test.h @@ -19,7 +19,7 @@ extern const char *COMPRESS_SUFFIX; extern const char *COMPRESS_EXTENSION; -extern char *COMPRESS_BINARY; +extern char *COMPRESS_EXECUTABLE; class CompressedDumpTest : public MeltTest { protected: @@ -102,7 +102,7 @@ public: BEGIN_HIDE_OUTPUT(); std::string converted_file = compressed_file.substr(0, compressed_file.find_last_of('.')); std::string cmdline = - fmt::format("{} -d -c {} > {}", COMPRESS_BINARY, compressed_file, converted_file); + fmt::format("\"{}\" -d -c {} > {}", COMPRESS_EXECUTABLE, compressed_file, converted_file); system(cmdline.c_str()); END_HIDE_OUTPUT(); return converted_file; diff --git a/unittest/formats/compressed_dump_test_main.cpp b/unittest/formats/compressed_dump_test_main.cpp index e85f616776..c96682d8b7 100644 --- a/unittest/formats/compressed_dump_test_main.cpp +++ b/unittest/formats/compressed_dump_test_main.cpp @@ -22,7 +22,7 @@ const char *COMPRESS_SUFFIX = nullptr; const char *COMPRESS_EXTENSION = nullptr; -char *COMPRESS_BINARY = nullptr; +char *COMPRESS_EXECUTABLE = nullptr; bool verbose = false; int main(int argc, char **argv) @@ -46,7 +46,7 @@ int main(int argc, char **argv) return 1; } - COMPRESS_BINARY = getenv("COMPRESS_BINARY"); + COMPRESS_EXECUTABLE = getenv("COMPRESS_EXECUTABLE"); // handle arguments passed via environment variable if (const char *var = getenv("TEST_ARGS")) { diff --git a/unittest/formats/test_atom_styles.cpp b/unittest/formats/test_atom_styles.cpp index c4c79238aa..c712ffd763 100644 --- a/unittest/formats/test_atom_styles.cpp +++ b/unittest/formats/test_atom_styles.cpp @@ -2123,7 +2123,7 @@ TEST_F(AtomStyleTest, body_nparticle) "12.0 0.0 12.0 0.0 0.0 0.0\n" "0.0 1.0 0.0\n" "0.0 -3.0 0.0\n"; - FILE *fp = fopen("input_atom_styles.data", "w"); + FILE *fp = fopen("input_atom_styles.data", "w"); fputs(data_file, fp); fclose(fp); BEGIN_HIDE_OUTPUT(); @@ -5159,7 +5159,7 @@ TEST_F(AtomStyleTest, oxdna) EXPECT_NEAR(bonus[9].shape[1], 0.5869922515711705, EPSILON); EXPECT_NEAR(bonus[9].shape[2], 0.5869922515711705, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.9890278201757743, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.9890278201757743, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.01779228232037064, EPSILON); EXPECT_NEAR(bonus[0].quat[2], -0.14337734159225404, EPSILON); EXPECT_NEAR(bonus[0].quat[3], 0.030827642240801516, EPSILON); @@ -5246,7 +5246,6 @@ TEST_F(AtomStyleTest, oxdna) ASSERT_EQ(id5p[GETIDX(10)], -1); END_HIDE_OUTPUT(); - } } // namespace LAMMPS_NS diff --git a/unittest/formats/test_dump_atom.cpp b/unittest/formats/test_dump_atom.cpp index 6303d2c019..d1b22d7827 100644 --- a/unittest/formats/test_dump_atom.cpp +++ b/unittest/formats/test_dump_atom.cpp @@ -25,8 +25,8 @@ using ::testing::Eq; -char *BINARY2TXT_BINARY = nullptr; -bool verbose = false; +char *BINARY2TXT_EXECUTABLE = nullptr; +bool verbose = false; class DumpAtomTest : public MeltTest { std::string dump_style = "atom"; @@ -100,7 +100,7 @@ public: std::string convert_binary_to_text(std::string binary_file) { BEGIN_HIDE_OUTPUT(); - std::string cmdline = fmt::format("{} {}", BINARY2TXT_BINARY, binary_file); + std::string cmdline = fmt::format("\"{}\" {}", BINARY2TXT_EXECUTABLE, binary_file); system(cmdline.c_str()); END_HIDE_OUTPUT(); return fmt::format("{}.txt", binary_file); @@ -328,7 +328,7 @@ TEST_F(DumpAtomTest, triclinic_with_image_run0) TEST_F(DumpAtomTest, binary_run0) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("run0"); auto binary_file = binary_dump_filename("run0"); @@ -349,7 +349,7 @@ TEST_F(DumpAtomTest, binary_run0) TEST_F(DumpAtomTest, binary_with_units_run0) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("with_units_run0"); auto binary_file = binary_dump_filename("with_units_run0"); @@ -370,7 +370,7 @@ TEST_F(DumpAtomTest, binary_with_units_run0) TEST_F(DumpAtomTest, binary_with_time_run0) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("with_time_run0"); auto binary_file = binary_dump_filename("with_time_run0"); @@ -391,7 +391,7 @@ TEST_F(DumpAtomTest, binary_with_time_run0) TEST_F(DumpAtomTest, binary_triclinic_run0) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("tri_run0"); auto binary_file = binary_dump_filename("tri_run0"); @@ -413,7 +413,7 @@ TEST_F(DumpAtomTest, binary_triclinic_run0) TEST_F(DumpAtomTest, binary_triclinic_with_units_run0) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("tri_with_units_run0"); auto binary_file = binary_dump_filename("tri_with_units_run0"); @@ -435,7 +435,7 @@ TEST_F(DumpAtomTest, binary_triclinic_with_units_run0) TEST_F(DumpAtomTest, binary_triclinic_with_time_run0) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("tri_with_time_run0"); auto binary_file = binary_dump_filename("tri_with_time_run0"); @@ -457,7 +457,7 @@ TEST_F(DumpAtomTest, binary_triclinic_with_time_run0) TEST_F(DumpAtomTest, binary_triclinic_with_image_run0) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("tri_with_image_run0"); auto binary_file = binary_dump_filename("tri_with_image_run0"); @@ -649,7 +649,7 @@ TEST_F(DumpAtomTest, write_dump) TEST_F(DumpAtomTest, binary_write_dump) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto reference = binary_dump_filename("write_run0_ref"); auto dump_file = fmt::format("write_{}", binary_dump_filename("write_dump_atom_run*_p%")); @@ -693,7 +693,7 @@ int main(int argc, char **argv) } } - BINARY2TXT_BINARY = getenv("BINARY2TXT_BINARY"); + BINARY2TXT_EXECUTABLE = getenv("BINARY2TXT_EXECUTABLE"); if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; diff --git a/unittest/formats/test_dump_atom_compressed.cpp b/unittest/formats/test_dump_atom_compressed.cpp index dcc3d49d6e..419ad0eb81 100644 --- a/unittest/formats/test_dump_atom_compressed.cpp +++ b/unittest/formats/test_dump_atom_compressed.cpp @@ -33,7 +33,7 @@ public: TEST_F(DumpAtomCompressTest, compressed_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("run0.melt"); auto compressed_file = compressed_dump_filename("run0.melt"); @@ -62,7 +62,7 @@ TEST_F(DumpAtomCompressTest, compressed_run0) TEST_F(DumpAtomCompressTest, compressed_no_buffer_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("no_buffer_run0.melt"); auto compressed_file = compressed_dump_filename("no_buffer_run0.melt"); @@ -91,7 +91,7 @@ TEST_F(DumpAtomCompressTest, compressed_no_buffer_run0) TEST_F(DumpAtomCompressTest, compressed_multi_file_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_run1_*.melt"; auto base_name_0 = "multi_file_run1_0.melt"; @@ -131,7 +131,7 @@ TEST_F(DumpAtomCompressTest, compressed_multi_file_run1) TEST_F(DumpAtomCompressTest, compressed_multi_file_with_pad_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_pad_run1_*.melt"; auto base_name_0 = "multi_file_pad_run1_000.melt"; @@ -172,7 +172,7 @@ TEST_F(DumpAtomCompressTest, compressed_multi_file_with_pad_run1) TEST_F(DumpAtomCompressTest, compressed_multi_file_with_maxfiles_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_maxfiles_run1_*.melt"; auto base_name_0 = "multi_file_maxfiles_run1_0.melt"; @@ -218,7 +218,7 @@ TEST_F(DumpAtomCompressTest, compressed_multi_file_with_maxfiles_run1) TEST_F(DumpAtomCompressTest, compressed_with_units_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "with_units_run0.melt"; auto text_file = text_dump_filename(base_name); @@ -242,7 +242,7 @@ TEST_F(DumpAtomCompressTest, compressed_with_units_run0) TEST_F(DumpAtomCompressTest, compressed_with_time_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "with_time_run0.melt"; auto text_file = text_dump_filename(base_name); @@ -266,7 +266,7 @@ TEST_F(DumpAtomCompressTest, compressed_with_time_run0) TEST_F(DumpAtomCompressTest, compressed_triclinic_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "tri_run0.melt"; auto text_file = text_dump_filename(base_name); @@ -291,7 +291,7 @@ TEST_F(DumpAtomCompressTest, compressed_triclinic_run0) TEST_F(DumpAtomCompressTest, compressed_triclinic_with_units_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "tri_with_units_run0.melt"; auto text_file = text_dump_filename(base_name); @@ -316,7 +316,7 @@ TEST_F(DumpAtomCompressTest, compressed_triclinic_with_units_run0) TEST_F(DumpAtomCompressTest, compressed_triclinic_with_time_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "tri_with_time_run0.melt"; auto text_file = text_dump_filename(base_name); @@ -341,7 +341,7 @@ TEST_F(DumpAtomCompressTest, compressed_triclinic_with_time_run0) TEST_F(DumpAtomCompressTest, compressed_triclinic_with_image_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "tri_with_image_run0.melt"; auto text_file = text_dump_filename(base_name); @@ -394,7 +394,7 @@ TEST_F(DumpAtomCompressTest, compressed_modify_multi_bad_param) TEST_F(DumpAtomCompressTest, compressed_modify_clevel_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "modify_clevel_run0.melt"; auto text_file = text_dump_filename(base_name); diff --git a/unittest/formats/test_dump_cfg_compressed.cpp b/unittest/formats/test_dump_cfg_compressed.cpp index 67d7084ab9..29afec06ce 100644 --- a/unittest/formats/test_dump_cfg_compressed.cpp +++ b/unittest/formats/test_dump_cfg_compressed.cpp @@ -33,7 +33,7 @@ public: TEST_F(DumpCfgCompressTest, compressed_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "run*.melt.cfg"; auto text_files = text_dump_filename(base_name); @@ -67,7 +67,7 @@ TEST_F(DumpCfgCompressTest, compressed_run0) TEST_F(DumpCfgCompressTest, compressed_no_buffer_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "no_buffer_run*.melt.cfg"; auto text_files = text_dump_filename(base_name); @@ -101,7 +101,7 @@ TEST_F(DumpCfgCompressTest, compressed_no_buffer_run0) TEST_F(DumpCfgCompressTest, compressed_unwrap_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "unwrap_run*.melt.cfg"; auto text_files = text_dump_filename(base_name); @@ -130,7 +130,7 @@ TEST_F(DumpCfgCompressTest, compressed_unwrap_run0) TEST_F(DumpCfgCompressTest, compressed_multi_file_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_run1_*.melt.cfg"; auto base_name_0 = "multi_file_run1_0.melt.cfg"; @@ -172,7 +172,7 @@ TEST_F(DumpCfgCompressTest, compressed_multi_file_run1) TEST_F(DumpCfgCompressTest, compressed_multi_file_with_pad_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_pad_run1_*.melt.cfg"; auto base_name_0 = "multi_file_pad_run1_000.melt.cfg"; @@ -214,7 +214,7 @@ TEST_F(DumpCfgCompressTest, compressed_multi_file_with_pad_run1) TEST_F(DumpCfgCompressTest, compressed_multi_file_with_maxfiles_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_maxfiles_run1_*.melt.cfg"; auto base_name_0 = "multi_file_maxfiles_run1_0.melt.cfg"; @@ -292,7 +292,7 @@ TEST_F(DumpCfgCompressTest, compressed_modify_multi_bad_param) TEST_F(DumpCfgCompressTest, compressed_modify_clevel_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "modify_clevel_run*.melt.cfg"; auto base_name_0 = "modify_clevel_run0.melt.cfg"; diff --git a/unittest/formats/test_dump_custom.cpp b/unittest/formats/test_dump_custom.cpp index 40e22f5a11..39cb4ffd27 100644 --- a/unittest/formats/test_dump_custom.cpp +++ b/unittest/formats/test_dump_custom.cpp @@ -23,8 +23,8 @@ using ::testing::Eq; -char *BINARY2TXT_BINARY = nullptr; -bool verbose = false; +char *BINARY2TXT_EXECUTABLE = nullptr; +bool verbose = false; class DumpCustomTest : public MeltTest { std::string dump_style = "custom"; @@ -100,7 +100,7 @@ public: std::string convert_binary_to_text(std::string binary_file) { BEGIN_HIDE_OUTPUT(); - std::string cmdline = fmt::format("{} {}", BINARY2TXT_BINARY, binary_file); + std::string cmdline = fmt::format("\"{}\" {}", BINARY2TXT_EXECUTABLE, binary_file); system(cmdline.c_str()); END_HIDE_OUTPUT(); return fmt::format("{}.txt", binary_file); @@ -210,7 +210,7 @@ TEST_F(DumpCustomTest, custom_run0) TEST_F(DumpCustomTest, binary_run1) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("run1"); auto binary_file = binary_dump_filename("run1"); @@ -251,7 +251,7 @@ TEST_F(DumpCustomTest, triclinic_run1) TEST_F(DumpCustomTest, binary_triclinic_run1) { - if (!BINARY2TXT_BINARY) GTEST_SKIP(); + if (!BINARY2TXT_EXECUTABLE) GTEST_SKIP(); auto text_file = text_dump_filename("tri_run1"); auto binary_file = binary_dump_filename("tri_run1"); @@ -399,7 +399,7 @@ int main(int argc, char **argv) } } - BINARY2TXT_BINARY = getenv("BINARY2TXT_BINARY"); + BINARY2TXT_EXECUTABLE = getenv("BINARY2TXT_EXECUTABLE"); if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; diff --git a/unittest/formats/test_dump_custom_compressed.cpp b/unittest/formats/test_dump_custom_compressed.cpp index a69fd98c41..fec751b358 100644 --- a/unittest/formats/test_dump_custom_compressed.cpp +++ b/unittest/formats/test_dump_custom_compressed.cpp @@ -29,7 +29,7 @@ public: TEST_F(DumpCustomCompressTest, compressed_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "custom_run1.melt"; auto text_file = text_dump_filename(base_name); @@ -59,7 +59,7 @@ TEST_F(DumpCustomCompressTest, compressed_run1) TEST_F(DumpCustomCompressTest, compressed_with_time_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "with_time_custom_run1.melt"; auto text_file = text_dump_filename(base_name); @@ -89,7 +89,7 @@ TEST_F(DumpCustomCompressTest, compressed_with_time_run1) TEST_F(DumpCustomCompressTest, compressed_no_buffer_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "no_buffer_custom_run1.melt"; auto text_file = text_dump_filename(base_name); @@ -119,7 +119,7 @@ TEST_F(DumpCustomCompressTest, compressed_no_buffer_run1) TEST_F(DumpCustomCompressTest, compressed_triclinic_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "custom_tri_run1.melt"; auto text_file = text_dump_filename(base_name); @@ -146,7 +146,7 @@ TEST_F(DumpCustomCompressTest, compressed_triclinic_run1) TEST_F(DumpCustomCompressTest, compressed_multi_file_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_run1_*.melt.custom"; auto base_name_0 = "multi_file_run1_0.melt.custom"; @@ -188,7 +188,7 @@ TEST_F(DumpCustomCompressTest, compressed_multi_file_run1) TEST_F(DumpCustomCompressTest, compressed_multi_file_with_pad_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_pad_run1_*.melt.custom"; auto base_name_0 = "multi_file_pad_run1_000.melt.custom"; @@ -230,7 +230,7 @@ TEST_F(DumpCustomCompressTest, compressed_multi_file_with_pad_run1) TEST_F(DumpCustomCompressTest, compressed_multi_file_with_maxfiles_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_maxfiles_run1_*.melt.custom"; auto base_name_0 = "multi_file_maxfiles_run1_0.melt.custom"; @@ -304,7 +304,7 @@ TEST_F(DumpCustomCompressTest, compressed_modify_multi_bad_param) TEST_F(DumpCustomCompressTest, compressed_modify_clevel_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "modify_clevel_run0.melt.custom"; auto text_file = text_dump_filename(base_name); diff --git a/unittest/formats/test_dump_local.cpp b/unittest/formats/test_dump_local.cpp index 3b8b36f06f..5471145309 100644 --- a/unittest/formats/test_dump_local.cpp +++ b/unittest/formats/test_dump_local.cpp @@ -25,8 +25,8 @@ using ::testing::Eq; -char *BINARY2TXT_BINARY = nullptr; -bool verbose = false; +char *BINARY2TXT_EXECUTABLE = nullptr; +bool verbose = false; class DumpLocalTest : public MeltTest { std::string dump_style = "local"; @@ -253,7 +253,7 @@ int main(int argc, char **argv) } } - BINARY2TXT_BINARY = getenv("BINARY2TXT_BINARY"); + BINARY2TXT_EXECUTABLE = getenv("BINARY2TXT_EXECUTABLE"); if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; diff --git a/unittest/formats/test_dump_local_compressed.cpp b/unittest/formats/test_dump_local_compressed.cpp index 2f4c6086c2..b1161927c6 100644 --- a/unittest/formats/test_dump_local_compressed.cpp +++ b/unittest/formats/test_dump_local_compressed.cpp @@ -38,7 +38,7 @@ public: TEST_F(DumpLocalCompressTest, compressed_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "run*.melt.local"; auto base_name_0 = "run0.melt.local"; @@ -71,7 +71,7 @@ TEST_F(DumpLocalCompressTest, compressed_run0) TEST_F(DumpLocalCompressTest, compressed_no_buffer_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "no_buffer_run*.melt.local"; auto base_name_0 = "no_buffer_run0.melt.local"; @@ -104,7 +104,7 @@ TEST_F(DumpLocalCompressTest, compressed_no_buffer_run0) TEST_F(DumpLocalCompressTest, compressed_with_time_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "with_time_run*.melt.local"; auto base_name_0 = "with_time_run0.melt.local"; @@ -137,7 +137,7 @@ TEST_F(DumpLocalCompressTest, compressed_with_time_run0) TEST_F(DumpLocalCompressTest, compressed_with_units_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "with_units_run*.melt.local"; auto base_name_0 = "with_units_run0.melt.local"; @@ -170,7 +170,7 @@ TEST_F(DumpLocalCompressTest, compressed_with_units_run0) TEST_F(DumpLocalCompressTest, compressed_triclinic_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); enable_triclinic(); auto base_name = "triclinic_run*.melt.local"; @@ -204,7 +204,7 @@ TEST_F(DumpLocalCompressTest, compressed_triclinic_run0) TEST_F(DumpLocalCompressTest, compressed_multi_file_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_run1_*.melt.local"; auto base_name_0 = "multi_file_run1_0.melt.local"; @@ -246,7 +246,7 @@ TEST_F(DumpLocalCompressTest, compressed_multi_file_run1) TEST_F(DumpLocalCompressTest, compressed_multi_file_with_pad_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_pad_run1_*.melt.local"; auto base_name_0 = "multi_file_pad_run1_000.melt.local"; @@ -288,7 +288,7 @@ TEST_F(DumpLocalCompressTest, compressed_multi_file_with_pad_run1) TEST_F(DumpLocalCompressTest, compressed_multi_file_with_maxfiles_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_maxfiles_run1_*.melt.local"; auto base_name_0 = "multi_file_maxfiles_run1_0.melt.local"; @@ -368,7 +368,7 @@ TEST_F(DumpLocalCompressTest, compressed_modify_multi_bad_param) TEST_F(DumpLocalCompressTest, compressed_modify_clevel_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "modify_clevel_run0.melt.local"; auto text_file = text_dump_filename(base_name); diff --git a/unittest/formats/test_dump_netcdf.cpp b/unittest/formats/test_dump_netcdf.cpp index 8b4110b352..6d377369ee 100644 --- a/unittest/formats/test_dump_netcdf.cpp +++ b/unittest/formats/test_dump_netcdf.cpp @@ -28,8 +28,8 @@ using ::testing::Eq; -char *NCDUMP_BINARY = nullptr; -bool verbose = false; +char *NCDUMP_EXECUTABLE = nullptr; +bool verbose = false; class DumpNetCDFTest : public MeltTest { std::string dump_style = "netcdf"; @@ -80,7 +80,7 @@ public: std::string convert_binary_to_text(std::string binary_file) { BEGIN_HIDE_OUTPUT(); - std::string cmdline = fmt::format("{0} {1} > {1}.txt", NCDUMP_BINARY, binary_file); + std::string cmdline = fmt::format("{0} {1} > {1}.txt", NCDUMP_EXECUTABLE, binary_file); system(cmdline.c_str()); END_HIDE_OUTPUT(); return fmt::format("{}.txt", binary_file); @@ -96,7 +96,7 @@ TEST_F(DumpNetCDFTest, run0_plain) generate_dump(dump_file, fields, "", 0); ASSERT_FILE_EXISTS(dump_file); - if (NCDUMP_BINARY) { + if (NCDUMP_EXECUTABLE) { auto converted_file = convert_binary_to_text(dump_file); auto lines = read_lines(converted_file); auto header = utils::split_words(lines[0]); @@ -246,7 +246,7 @@ TEST_F(DumpNetCDFTest, run0_mpi) generate_dump(dump_file, fields, "", 0); ASSERT_FILE_EXISTS(dump_file); - if (NCDUMP_BINARY) { + if (NCDUMP_EXECUTABLE) { auto converted_file = convert_binary_to_text(dump_file); auto lines = read_lines(converted_file); auto header = utils::split_words(lines[0]); @@ -402,7 +402,7 @@ int main(int argc, char **argv) } } - NCDUMP_BINARY = getenv("NCDUMP_BINARY"); + NCDUMP_EXECUTABLE = getenv("NCDUMP_EXECUTABLE"); if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; diff --git a/unittest/formats/test_dump_xyz_compressed.cpp b/unittest/formats/test_dump_xyz_compressed.cpp index a851129c6c..7c5b816639 100644 --- a/unittest/formats/test_dump_xyz_compressed.cpp +++ b/unittest/formats/test_dump_xyz_compressed.cpp @@ -29,7 +29,7 @@ public: TEST_F(DumpXYZCompressTest, compressed_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "run*.melt.xyz"; auto base_name_0 = "run0.melt.xyz"; @@ -61,7 +61,7 @@ TEST_F(DumpXYZCompressTest, compressed_run0) TEST_F(DumpXYZCompressTest, compressed_no_buffer_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "no_buffer_run*.melt.xyz"; auto base_name_0 = "no_buffer_run0.melt.xyz"; @@ -93,7 +93,7 @@ TEST_F(DumpXYZCompressTest, compressed_no_buffer_run0) TEST_F(DumpXYZCompressTest, compressed_multi_file_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_run1_*.melt.xyz"; auto base_name_0 = "multi_file_run1_0.melt.xyz"; @@ -133,7 +133,7 @@ TEST_F(DumpXYZCompressTest, compressed_multi_file_run1) TEST_F(DumpXYZCompressTest, compressed_multi_file_with_pad_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_pad_run1_*.melt.xyz"; auto base_name_0 = "multi_file_pad_run1_000.melt.xyz"; @@ -174,7 +174,7 @@ TEST_F(DumpXYZCompressTest, compressed_multi_file_with_pad_run1) TEST_F(DumpXYZCompressTest, compressed_multi_file_with_maxfiles_run1) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "multi_file_maxfiles_run1_*.melt.xyz"; auto base_name_0 = "multi_file_maxfiles_run1_0.melt.xyz"; @@ -248,7 +248,7 @@ TEST_F(DumpXYZCompressTest, compressed_modify_multi_bad_param) TEST_F(DumpXYZCompressTest, compressed_modify_clevel_run0) { - if (!COMPRESS_BINARY) GTEST_SKIP(); + if (!COMPRESS_EXECUTABLE) GTEST_SKIP(); auto base_name = "modify_clevel_run0.melt.xyz"; auto text_file = text_dump_filename(base_name); diff --git a/unittest/formats/test_text_file_reader.cpp b/unittest/formats/test_text_file_reader.cpp index 4965daab5d..325166a2b4 100644 --- a/unittest/formats/test_text_file_reader.cpp +++ b/unittest/formats/test_text_file_reader.cpp @@ -111,7 +111,7 @@ TEST_F(TextFileReaderTest, usefp) delete reader; // check that we reached EOF and the destructor didn't close the file. - ASSERT_EQ(feof(fp), 1); + ASSERT_NE(feof(fp), 0); ASSERT_EQ(fclose(fp), 0); } diff --git a/unittest/python/python-capabilities.py b/unittest/python/python-capabilities.py index 4c14cac37d..3ac66ebdc6 100644 --- a/unittest/python/python-capabilities.py +++ b/unittest/python/python-capabilities.py @@ -38,6 +38,7 @@ class PythonCapabilities(unittest.TestCase): system = platform.system() osinfo = self.lmp.get_os_info() + print("System: %s LAMMPS OS Info: %s" % (system, osinfo)) self.assertEqual(osinfo.find(system),0) def test_has_gzip_support(self):