Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
35041ae1
Commit
35041ae1
authored
Jul 23, 2014
by
peastman
Browse files
Preliminary support for Chrome portable native client
parent
c0194484
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
71 additions
and
54 deletions
+71
-54
CMakeLists.txt
CMakeLists.txt
+25
-17
examples/CMakeLists.txt
examples/CMakeLists.txt
+8
-14
libraries/csha1/include/SHA1.h
libraries/csha1/include/SHA1.h
+0
-1
libraries/lbfgs/src/arithmetic_ansi.h
libraries/lbfgs/src/arithmetic_ansi.h
+1
-1
olla/src/Platform.cpp
olla/src/Platform.cpp
+9
-1
openmmapi/include/openmm/internal/hardware.h
openmmapi/include/openmm/internal/hardware.h
+1
-2
platforms/reference/tests/CMakeLists.txt
platforms/reference/tests/CMakeLists.txt
+5
-2
platforms/reference/tests/TestReferenceVirtualSites.cpp
platforms/reference/tests/TestReferenceVirtualSites.cpp
+2
-2
serialization/tests/CMakeLists.txt
serialization/tests/CMakeLists.txt
+5
-2
serialization/tests/TestSerializeCustomTorsionForce.cpp
serialization/tests/TestSerializeCustomTorsionForce.cpp
+1
-1
serialization/tests/TestSerializeIntegrator.cpp
serialization/tests/TestSerializeIntegrator.cpp
+3
-3
serialization/tests/TestSerializeState.cpp
serialization/tests/TestSerializeState.cpp
+6
-6
tests/CMakeLists.txt
tests/CMakeLists.txt
+5
-2
No files found.
CMakeLists.txt
View file @
35041ae1
...
@@ -128,11 +128,11 @@ IF (APPLE)
...
@@ -128,11 +128,11 @@ IF (APPLE)
SET
(
CMAKE_INSTALL_NAME_DIR
"@rpath"
)
SET
(
CMAKE_INSTALL_NAME_DIR
"@rpath"
)
SET
(
EXTRA_COMPILE_FLAGS
"-msse2 -stdlib=libc++"
)
SET
(
EXTRA_COMPILE_FLAGS
"-msse2 -stdlib=libc++"
)
ELSE
(
APPLE
)
ELSE
(
APPLE
)
IF
(
MSVC OR ANDROID
)
IF
(
MSVC OR ANDROID
OR PNACL
)
SET
(
EXTRA_COMPILE_FLAGS
)
SET
(
EXTRA_COMPILE_FLAGS
)
ELSE
(
MSVC OR ANDROID
)
ELSE
(
MSVC OR ANDROID
OR PNACL
)
SET
(
EXTRA_COMPILE_FLAGS
"-msse2"
)
SET
(
EXTRA_COMPILE_FLAGS
"-msse2"
)
ENDIF
(
MSVC OR ANDROID
)
ENDIF
(
MSVC OR ANDROID
OR PNACL
)
ENDIF
(
APPLE
)
ENDIF
(
APPLE
)
IF
(
UNIX AND NOT CMAKE_BUILD_TYPE
)
IF
(
UNIX AND NOT CMAKE_BUILD_TYPE
)
...
@@ -264,11 +264,11 @@ FOREACH(subdir ${OPENMM_SOURCE_SUBDIRS})
...
@@ -264,11 +264,11 @@ FOREACH(subdir ${OPENMM_SOURCE_SUBDIRS})
## OpenMM was previously installed there.
## OpenMM was previously installed there.
INCLUDE_DIRECTORIES
(
BEFORE
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
subdir
}
/include
)
INCLUDE_DIRECTORIES
(
BEFORE
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
subdir
}
/include
)
ENDFOREACH
(
subdir
)
ENDFOREACH
(
subdir
)
IF
(
ANDROID
)
IF
(
ANDROID
OR PNACL
)
SET_SOURCE_FILES_PROPERTIES
(
${
CMAKE_SOURCE_DIR
}
/libraries/sfmt/src/SFMT.cpp PROPERTIES COMPILE_FLAGS
"-UHAVE_SSE2"
)
SET_SOURCE_FILES_PROPERTIES
(
${
CMAKE_SOURCE_DIR
}
/libraries/sfmt/src/SFMT.cpp PROPERTIES COMPILE_FLAGS
"-UHAVE_SSE2"
)
ELSE
(
ANDROID
)
ELSE
(
ANDROID
OR PNACL
)
SET_SOURCE_FILES_PROPERTIES
(
${
CMAKE_SOURCE_DIR
}
/libraries/sfmt/src/SFMT.cpp PROPERTIES COMPILE_FLAGS
"-DHAVE_SSE2=1"
)
SET_SOURCE_FILES_PROPERTIES
(
${
CMAKE_SOURCE_DIR
}
/libraries/sfmt/src/SFMT.cpp PROPERTIES COMPILE_FLAGS
"-DHAVE_SSE2=1"
)
ENDIF
(
ANDROID
)
ENDIF
(
ANDROID
OR PNACL
)
# If API wrappers are being generated, and add them to the build.
# If API wrappers are being generated, and add them to the build.
SET
(
OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS ON CACHE BOOL
"Build wrappers for C and Fortran"
)
SET
(
OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS ON CACHE BOOL
"Build wrappers for C and Fortran"
)
...
@@ -280,11 +280,15 @@ ENDIF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
...
@@ -280,11 +280,15 @@ ENDIF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
INCLUDE_DIRECTORIES
(
BEFORE
${
CMAKE_CURRENT_SOURCE_DIR
}
/src
)
INCLUDE_DIRECTORIES
(
BEFORE
${
CMAKE_CURRENT_SOURCE_DIR
}
/src
)
ADD_LIBRARY
(
${
SHARED_TARGET
}
SHARED
${
SOURCE_FILES
}
${
SOURCE_INCLUDE_FILES
}
${
API_ABS_INCLUDE_FILES
}
)
SET
(
OPENMM_BUILD_SHARED_LIB ON CACHE BOOL
"Whether to build shared OpenMM libraries"
)
SET_TARGET_PROPERTIES
(
${
SHARED_TARGET
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
-DOPENMM_BUILDING_SHARED_LIBRARY -DLEPTON_BUILDING_SHARED_LIBRARY -DOPENMM_VALIDATE_BUILDING_SHARED_LIBRARY"
)
IF
(
WIN32
)
IF
(
OPENMM_BUILD_SHARED_LIB
)
ADD_DEPENDENCIES
(
${
SHARED_TARGET
}
PthreadsLibraries
)
ADD_LIBRARY
(
${
SHARED_TARGET
}
SHARED
${
SOURCE_FILES
}
${
SOURCE_INCLUDE_FILES
}
${
API_ABS_INCLUDE_FILES
}
)
ENDIF
(
WIN32
)
SET_TARGET_PROPERTIES
(
${
SHARED_TARGET
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
-DOPENMM_BUILDING_SHARED_LIBRARY -DLEPTON_BUILDING_SHARED_LIBRARY -DOPENMM_VALIDATE_BUILDING_SHARED_LIBRARY"
)
IF
(
WIN32
)
ADD_DEPENDENCIES
(
${
SHARED_TARGET
}
PthreadsLibraries
)
ENDIF
(
WIN32
)
ENDIF
(
OPENMM_BUILD_SHARED_LIB
)
SET
(
OPENMM_BUILD_STATIC_LIB OFF CACHE BOOL
"Whether to build static OpenMM libraries"
)
SET
(
OPENMM_BUILD_STATIC_LIB OFF CACHE BOOL
"Whether to build static OpenMM libraries"
)
IF
(
OPENMM_BUILD_STATIC_LIB
)
IF
(
OPENMM_BUILD_STATIC_LIB
)
...
@@ -309,11 +313,13 @@ IF(DL_LIBRARY)
...
@@ -309,11 +313,13 @@ IF(DL_LIBRARY)
ENDIF
(
OPENMM_BUILD_STATIC_LIB
)
ENDIF
(
OPENMM_BUILD_STATIC_LIB
)
MARK_AS_ADVANCED
(
DL_LIBRARY
)
MARK_AS_ADVANCED
(
DL_LIBRARY
)
ELSE
(
DL_LIBRARY
)
ELSE
(
DL_LIBRARY
)
IF
(
ANDROID
)
IF
(
OPENMM_BUILD_SHARED_LIB
)
TARGET_LINK_LIBRARIES
(
${
SHARED_TARGET
}
${
PTHREADS_LIB
}
cpufeatures
)
IF
(
ANDROID
)
ELSE
(
ANDROID
)
TARGET_LINK_LIBRARIES
(
${
SHARED_TARGET
}
${
PTHREADS_LIB
}
cpufeatures
)
TARGET_LINK_LIBRARIES
(
${
SHARED_TARGET
}
${
PTHREADS_LIB
}
)
ELSE
(
ANDROID
)
ENDIF
(
ANDROID
)
TARGET_LINK_LIBRARIES
(
${
SHARED_TARGET
}
${
PTHREADS_LIB
}
)
ENDIF
(
ANDROID
)
ENDIF
(
OPENMM_BUILD_SHARED_LIB
)
ENDIF
(
DL_LIBRARY
)
ENDIF
(
DL_LIBRARY
)
ADD_SUBDIRECTORY
(
platforms/reference/tests
)
ADD_SUBDIRECTORY
(
platforms/reference/tests
)
...
@@ -434,7 +440,9 @@ IF(OPENMM_BUILD_PME_PLUGIN)
...
@@ -434,7 +440,9 @@ IF(OPENMM_BUILD_PME_PLUGIN)
ADD_SUBDIRECTORY
(
plugins/cpupme
)
ADD_SUBDIRECTORY
(
plugins/cpupme
)
ENDIF
(
OPENMM_BUILD_PME_PLUGIN
)
ENDIF
(
OPENMM_BUILD_PME_PLUGIN
)
INSTALL_TARGETS
(
/lib RUNTIME_DIRECTORY /lib
${
SHARED_TARGET
}
)
IF
(
OPENMM_BUILD_SHARED_LIB
)
INSTALL_TARGETS
(
/lib RUNTIME_DIRECTORY /lib
${
SHARED_TARGET
}
)
ENDIF
(
OPENMM_BUILD_SHARED_LIB
)
IF
(
OPENMM_BUILD_STATIC_LIB
)
IF
(
OPENMM_BUILD_STATIC_LIB
)
INSTALL_TARGETS
(
/lib RUNTIME_DIRECTORY /lib
${
STATIC_TARGET
}
)
INSTALL_TARGETS
(
/lib RUNTIME_DIRECTORY /lib
${
STATIC_TARGET
}
)
ENDIF
(
OPENMM_BUILD_STATIC_LIB
)
ENDIF
(
OPENMM_BUILD_STATIC_LIB
)
...
...
examples/CMakeLists.txt
View file @
35041ae1
...
@@ -21,14 +21,8 @@ SET(CPP_EXAMPLES HelloArgon HelloSodiumChloride HelloEthane HelloWaterBox)
...
@@ -21,14 +21,8 @@ SET(CPP_EXAMPLES HelloArgon HelloSodiumChloride HelloEthane HelloWaterBox)
SET
(
C_EXAMPLES HelloArgonInC HelloSodiumChlorideInC
)
SET
(
C_EXAMPLES HelloArgonInC HelloSodiumChlorideInC
)
SET
(
F_EXAMPLES HelloArgonInFortran HelloSodiumChlorideInFortran
)
SET
(
F_EXAMPLES HelloArgonInFortran HelloSodiumChlorideInFortran
)
SET
(
BUILD_TESTING_SHARED 1
)
SET
(
BUILD_TESTING_STATIC OFF
)
IF
(
OPENMM_BUILD_STATIC_LIB
)
SET
(
BUILD_TESTING_STATIC ON
)
ENDIF
(
OPENMM_BUILD_STATIC_LIB
)
FOREACH
(
EX_ROOT
${
CPP_EXAMPLES
}
)
FOREACH
(
EX_ROOT
${
CPP_EXAMPLES
}
)
IF
(
BUILD_TESTING
_SHARED
)
IF
(
OPENMM_BUILD
_SHARED
_LIB
)
# Link with shared library
# Link with shared library
ADD_EXECUTABLE
(
${
EX_ROOT
}
${
EX_ROOT
}
.cpp
)
ADD_EXECUTABLE
(
${
EX_ROOT
}
${
EX_ROOT
}
.cpp
)
SET_TARGET_PROPERTIES
(
${
EX_ROOT
}
SET_TARGET_PROPERTIES
(
${
EX_ROOT
}
...
@@ -37,9 +31,9 @@ FOREACH(EX_ROOT ${CPP_EXAMPLES})
...
@@ -37,9 +31,9 @@ FOREACH(EX_ROOT ${CPP_EXAMPLES})
LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
TARGET_LINK_LIBRARIES
(
${
EX_ROOT
}
${
SHARED_TARGET
}
)
TARGET_LINK_LIBRARIES
(
${
EX_ROOT
}
${
SHARED_TARGET
}
)
ENDIF
(
BUILD_TESTING
_SHARED
)
ENDIF
(
OPENMM_BUILD
_SHARED
_LIB
)
IF
(
BUILD_TESTING
_STATIC
)
IF
(
OPENMM_BUILD
_STATIC
_LIB
)
# Link with static library
# Link with static library
SET
(
EX_STATIC
${
EX_ROOT
}
Static
)
SET
(
EX_STATIC
${
EX_ROOT
}
Static
)
ADD_EXECUTABLE
(
${
EX_STATIC
}
${
EX_ROOT
}
.cpp
)
ADD_EXECUTABLE
(
${
EX_STATIC
}
${
EX_ROOT
}
.cpp
)
...
@@ -49,7 +43,7 @@ FOREACH(EX_ROOT ${CPP_EXAMPLES})
...
@@ -49,7 +43,7 @@ FOREACH(EX_ROOT ${CPP_EXAMPLES})
LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
-DOPENMM_USE_STATIC_LIBRARIES"
)
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
-DOPENMM_USE_STATIC_LIBRARIES"
)
TARGET_LINK_LIBRARIES
(
${
EX_STATIC
}
${
STATIC_TARGET
}
)
TARGET_LINK_LIBRARIES
(
${
EX_STATIC
}
${
STATIC_TARGET
}
)
ENDIF
(
BUILD_TESTING
_STATIC
)
ENDIF
(
OPENMM_BUILD
_STATIC
_LIB
)
INSTALL
(
FILES
${
EX_ROOT
}
.cpp DESTINATION examples
)
INSTALL
(
FILES
${
EX_ROOT
}
.cpp DESTINATION examples
)
...
@@ -60,7 +54,7 @@ IF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
...
@@ -60,7 +54,7 @@ IF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
INCLUDE_DIRECTORIES
(
BEFORE
${
PROJECT_BINARY_DIR
}
/wrappers
)
INCLUDE_DIRECTORIES
(
BEFORE
${
PROJECT_BINARY_DIR
}
/wrappers
)
FOREACH
(
EX_ROOT
${
C_EXAMPLES
}
)
FOREACH
(
EX_ROOT
${
C_EXAMPLES
}
)
IF
(
BUILD_TESTING
_SHARED
)
IF
(
OPENMM_BUILD
_SHARED
_LIB
)
# Link with shared library
# Link with shared library
# We need at least one .cpp here to get CMake to include
# We need at least one .cpp here to get CMake to include
# C++ libraries on the link line.
# C++ libraries on the link line.
...
@@ -72,9 +66,9 @@ IF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
...
@@ -72,9 +66,9 @@ IF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
TARGET_LINK_LIBRARIES
(
${
EX_ROOT
}
${
SHARED_TARGET
}
)
TARGET_LINK_LIBRARIES
(
${
EX_ROOT
}
${
SHARED_TARGET
}
)
ADD_DEPENDENCIES
(
${
EX_ROOT
}
ApiWrappers
)
ADD_DEPENDENCIES
(
${
EX_ROOT
}
ApiWrappers
)
ENDIF
(
BUILD_TESTING
_SHARED
)
ENDIF
(
OPENMM_BUILD
_SHARED
_LIB
)
IF
(
BUILD_TESTING
_STATIC
)
IF
(
OPENMM_BUILD
_STATIC
_LIB
)
# Link with static library
# Link with static library
SET
(
EX_STATIC
${
EX_ROOT
}
Static
)
SET
(
EX_STATIC
${
EX_ROOT
}
Static
)
# We need at least one .cpp here to get CMake to include
# We need at least one .cpp here to get CMake to include
...
@@ -87,7 +81,7 @@ IF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
...
@@ -87,7 +81,7 @@ IF(OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS)
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
-DOPENMM_USE_STATIC_LIBRARIES"
)
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
-DOPENMM_USE_STATIC_LIBRARIES"
)
TARGET_LINK_LIBRARIES
(
${
EX_STATIC
}
${
STATIC_TARGET
}
)
TARGET_LINK_LIBRARIES
(
${
EX_STATIC
}
${
STATIC_TARGET
}
)
ADD_DEPENDENCIES
(
${
EX_STATIC
}
ApiWrappers
)
ADD_DEPENDENCIES
(
${
EX_STATIC
}
ApiWrappers
)
ENDIF
(
BUILD_TESTING
_STATIC
)
ENDIF
(
OPENMM_BUILD
_STATIC
_LIB
)
ENDFOREACH
(
EX_ROOT
${
C_EXAMPLES
}
)
ENDFOREACH
(
EX_ROOT
${
C_EXAMPLES
}
)
ENDIF
(
OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS
)
ENDIF
(
OPENMM_BUILD_C_AND_FORTRAN_WRAPPERS
)
...
...
libraries/csha1/include/SHA1.h
View file @
35041ae1
...
@@ -116,7 +116,6 @@
...
@@ -116,7 +116,6 @@
#endif
#endif
#endif
#endif
#include <memory.h>
#include <limits.h>
#include <limits.h>
#ifdef SHA1_UTILITY_FUNCTIONS
#ifdef SHA1_UTILITY_FUNCTIONS
...
...
libraries/lbfgs/src/arithmetic_ansi.h
View file @
35041ae1
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
/* $Id: arithmetic_ansi.h 65 2010-01-29 12:19:16Z naoaki $ */
/* $Id: arithmetic_ansi.h 65 2010-01-29 12:19:16Z naoaki $ */
#include <stdlib.h>
#include <stdlib.h>
#include <
memory
.h>
#include <
string
.h>
#if LBFGS_FLOAT == 32 && LBFGS_IEEE_FLOAT
#if LBFGS_FLOAT == 32 && LBFGS_IEEE_FLOAT
#define fsigndiff(x, y) (((*(uint32_t*)(x)) ^ (*(uint32_t*)(y))) & 0x80000000U)
#define fsigndiff(x, y) (((*(uint32_t*)(x)) ^ (*(uint32_t*)(y))) & 0x80000000U)
...
...
olla/src/Platform.cpp
View file @
35041ae1
...
@@ -38,7 +38,9 @@
...
@@ -38,7 +38,9 @@
#include <windows.h>
#include <windows.h>
#include <sstream>
#include <sstream>
#else
#else
#include <dlfcn.h>
#ifndef __PNACL__
#include <dlfcn.h>
#endif
#include <dirent.h>
#include <dirent.h>
#include <cstdlib>
#include <cstdlib>
#endif
#endif
...
@@ -187,13 +189,18 @@ static void initializePlugins(vector<HMODULE>& plugins) {
...
@@ -187,13 +189,18 @@ static void initializePlugins(vector<HMODULE>& plugins) {
}
}
#else
#else
static
void
*
loadOneLibrary
(
const
string
&
file
)
{
static
void
*
loadOneLibrary
(
const
string
&
file
)
{
#ifdef __PNACL__
throw
OpenMMException
(
"Loading dynamic libraries is not supported on PNaCl"
);
#else
void
*
handle
=
dlopen
(
file
.
c_str
(),
RTLD_LAZY
|
RTLD_GLOBAL
);
void
*
handle
=
dlopen
(
file
.
c_str
(),
RTLD_LAZY
|
RTLD_GLOBAL
);
if
(
handle
==
NULL
)
if
(
handle
==
NULL
)
throw
OpenMMException
(
"Error loading library "
+
file
+
": "
+
dlerror
());
throw
OpenMMException
(
"Error loading library "
+
file
+
": "
+
dlerror
());
return
handle
;
return
handle
;
#endif
}
}
static
void
initializePlugins
(
vector
<
void
*>&
plugins
)
{
static
void
initializePlugins
(
vector
<
void
*>&
plugins
)
{
#ifndef __PNACL__
for
(
int
i
=
0
;
i
<
(
int
)
plugins
.
size
();
i
++
)
{
for
(
int
i
=
0
;
i
<
(
int
)
plugins
.
size
();
i
++
)
{
void
(
*
init
)();
void
(
*
init
)();
*
(
void
**
)(
&
init
)
=
dlsym
(
plugins
[
i
],
"registerPlatforms"
);
*
(
void
**
)(
&
init
)
=
dlsym
(
plugins
[
i
],
"registerPlatforms"
);
...
@@ -206,6 +213,7 @@ static void initializePlugins(vector<void*>& plugins) {
...
@@ -206,6 +213,7 @@ static void initializePlugins(vector<void*>& plugins) {
if
(
init
!=
NULL
)
if
(
init
!=
NULL
)
(
*
init
)();
(
*
init
)();
}
}
#endif
}
}
#endif
#endif
...
...
openmmapi/include/openmm/internal/hardware.h
View file @
35041ae1
...
@@ -50,7 +50,6 @@
...
@@ -50,7 +50,6 @@
#ifdef __ANDROID__
#ifdef __ANDROID__
#include <cpu-features.h>
#include <cpu-features.h>
#else
#else
#include <dlfcn.h>
#include <unistd.h>
#include <unistd.h>
#endif
#endif
#endif
#endif
...
@@ -93,7 +92,7 @@ static int getNumProcessors() {
...
@@ -93,7 +92,7 @@ static int getNumProcessors() {
#ifdef _WIN32
#ifdef _WIN32
#define cpuid __cpuid
#define cpuid __cpuid
#else
#else
#if
n
def
__ANDROID__
#if
!
def
ined(
__ANDROID__
) && !defined(__PNACL__)
static
void
cpuid
(
int
cpuInfo
[
4
],
int
infoType
){
static
void
cpuid
(
int
cpuInfo
[
4
],
int
infoType
){
#ifdef __LP64__
#ifdef __LP64__
__asm__
__volatile__
(
__asm__
__volatile__
(
...
...
platforms/reference/tests/CMakeLists.txt
View file @
35041ae1
...
@@ -9,9 +9,12 @@ FILE(GLOB TEST_PROGS "*Test*.cpp")
...
@@ -9,9 +9,12 @@ FILE(GLOB TEST_PROGS "*Test*.cpp")
FOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
FOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
GET_FILENAME_COMPONENT
(
TEST_ROOT
${
TEST_PROG
}
NAME_WE
)
GET_FILENAME_COMPONENT
(
TEST_ROOT
${
TEST_PROG
}
NAME_WE
)
# All tests use shared libraries
ADD_EXECUTABLE
(
${
TEST_ROOT
}
${
TEST_PROG
}
)
ADD_EXECUTABLE
(
${
TEST_ROOT
}
${
TEST_PROG
}
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
SHARED_TARGET
}
)
IF
(
OPENMM_BUILD_SHARED_LIB
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
SHARED_TARGET
}
)
ELSE
(
OPENMM_BUILD_SHARED_LIB
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
STATIC_TARGET
}
)
ENDIF
(
OPENMM_BUILD_SHARED_LIB
)
SET_TARGET_PROPERTIES
(
${
TEST_ROOT
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
SET_TARGET_PROPERTIES
(
${
TEST_ROOT
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
ADD_TEST
(
${
TEST_ROOT
}
${
EXECUTABLE_OUTPUT_PATH
}
/
${
TEST_ROOT
}
)
ADD_TEST
(
${
TEST_ROOT
}
${
EXECUTABLE_OUTPUT_PATH
}
/
${
TEST_ROOT
}
)
...
...
platforms/reference/tests/TestReferenceVirtualSites.cpp
View file @
35041ae1
...
@@ -79,8 +79,8 @@ void testMasslessParticle() {
...
@@ -79,8 +79,8 @@ void testMasslessParticle() {
for
(
int
i
=
0
;
i
<
1000
;
++
i
)
{
for
(
int
i
=
0
;
i
<
1000
;
++
i
)
{
State
state
=
context
.
getState
(
State
::
Positions
|
State
::
Velocities
|
State
::
Forces
);
State
state
=
context
.
getState
(
State
::
Positions
|
State
::
Velocities
|
State
::
Forces
);
double
time
=
state
.
getTime
();
double
time
=
state
.
getTime
();
ASSERT_EQUAL_VEC
(
Vec3
(),
state
.
getPositions
()[
0
],
0.0
);
ASSERT_EQUAL_VEC
(
Vec3
(
0
,
0
,
0
),
state
.
getPositions
()[
0
],
0.0
);
ASSERT_EQUAL_VEC
(
Vec3
(),
state
.
getVelocities
()[
0
],
0.0
);
ASSERT_EQUAL_VEC
(
Vec3
(
0
,
0
,
0
),
state
.
getVelocities
()[
0
],
0.0
);
ASSERT_EQUAL_VEC
(
Vec3
(
cos
(
time
),
sin
(
time
),
0
),
state
.
getPositions
()[
1
],
0.01
);
ASSERT_EQUAL_VEC
(
Vec3
(
cos
(
time
),
sin
(
time
),
0
),
state
.
getPositions
()[
1
],
0.01
);
ASSERT_EQUAL_VEC
(
Vec3
(
-
sin
(
time
),
cos
(
time
),
0
),
state
.
getVelocities
()[
1
],
0.01
);
ASSERT_EQUAL_VEC
(
Vec3
(
-
sin
(
time
),
cos
(
time
),
0
),
state
.
getVelocities
()[
1
],
0.01
);
integrator
.
step
(
1
);
integrator
.
step
(
1
);
...
...
serialization/tests/CMakeLists.txt
View file @
35041ae1
...
@@ -9,9 +9,12 @@ FILE(GLOB TEST_PROGS "*Test*.cpp")
...
@@ -9,9 +9,12 @@ FILE(GLOB TEST_PROGS "*Test*.cpp")
FOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
FOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
GET_FILENAME_COMPONENT
(
TEST_ROOT
${
TEST_PROG
}
NAME_WE
)
GET_FILENAME_COMPONENT
(
TEST_ROOT
${
TEST_PROG
}
NAME_WE
)
# All tests use shared libraries
ADD_EXECUTABLE
(
${
TEST_ROOT
}
${
TEST_PROG
}
)
ADD_EXECUTABLE
(
${
TEST_ROOT
}
${
TEST_PROG
}
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
SHARED_TARGET
}
)
IF
(
OPENMM_BUILD_SHARED_LIB
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
SHARED_TARGET
}
)
ELSE
(
OPENMM_BUILD_SHARED_LIB
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
STATIC_TARGET
}
)
ENDIF
(
OPENMM_BUILD_SHARED_LIB
)
SET_TARGET_PROPERTIES
(
${
TEST_ROOT
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
SET_TARGET_PROPERTIES
(
${
TEST_ROOT
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
ADD_TEST
(
${
TEST_ROOT
}
${
EXECUTABLE_OUTPUT_PATH
}
/
${
TEST_ROOT
}
)
ADD_TEST
(
${
TEST_ROOT
}
${
EXECUTABLE_OUTPUT_PATH
}
/
${
TEST_ROOT
}
)
...
...
serialization/tests/TestSerializeCustomTorsionForce.cpp
View file @
35041ae1
...
@@ -84,7 +84,7 @@ void testSerialization() {
...
@@ -84,7 +84,7 @@ void testSerialization() {
ASSERT_EQUAL
(
c2
,
c2
);
ASSERT_EQUAL
(
c2
,
c2
);
ASSERT_EQUAL
(
d2
,
d2
);
ASSERT_EQUAL
(
d2
,
d2
);
ASSERT_EQUAL
(
params1
.
size
(),
params2
.
size
());
ASSERT_EQUAL
(
params1
.
size
(),
params2
.
size
());
for
(
int
j
=
0
;
j
<
params1
.
size
();
j
++
)
for
(
int
j
=
0
;
j
<
(
int
)
params1
.
size
();
j
++
)
ASSERT_EQUAL
(
params1
[
j
],
params2
[
j
]);
ASSERT_EQUAL
(
params1
[
j
],
params2
[
j
]);
}
}
}
}
...
...
serialization/tests/TestSerializeIntegrator.cpp
View file @
35041ae1
...
@@ -151,16 +151,16 @@ void testSerializeCustomIntegrator() {
...
@@ -151,16 +151,16 @@ void testSerializeCustomIntegrator() {
XmlSerializer
::
serialize
<
Integrator
>
(
intg
,
"CustomIntegrator"
,
ss
);
XmlSerializer
::
serialize
<
Integrator
>
(
intg
,
"CustomIntegrator"
,
ss
);
CustomIntegrator
*
intg2
=
dynamic_cast
<
CustomIntegrator
*>
(
XmlSerializer
::
deserialize
<
Integrator
>
(
ss
));
CustomIntegrator
*
intg2
=
dynamic_cast
<
CustomIntegrator
*>
(
XmlSerializer
::
deserialize
<
Integrator
>
(
ss
));
ASSERT_EQUAL
(
intg
->
getNumGlobalVariables
(),
intg
->
getNumGlobalVariables
());
ASSERT_EQUAL
(
intg
->
getNumGlobalVariables
(),
intg
->
getNumGlobalVariables
());
for
(
int
i
=
0
;
i
<
intg
->
getNumGlobalVariables
();
i
++
)
{
for
(
int
i
=
0
;
i
<
intg
->
getNumGlobalVariables
();
i
++
)
{
ASSERT_EQUAL
(
intg
->
getGlobalVariable
(
i
),
intg2
->
getGlobalVariable
(
i
));
ASSERT_EQUAL
(
intg
->
getGlobalVariable
(
i
),
intg2
->
getGlobalVariable
(
i
));
ASSERT_EQUAL
(
intg
->
getGlobalVariableName
(
i
),
intg2
->
getGlobalVariableName
(
i
));
ASSERT_EQUAL
(
intg
->
getGlobalVariableName
(
i
),
intg2
->
getGlobalVariableName
(
i
));
}
}
ASSERT_EQUAL
(
intg
->
getNumPerDofVariables
(),
intg2
->
getNumPerDofVariables
());
ASSERT_EQUAL
(
intg
->
getNumPerDofVariables
(),
intg2
->
getNumPerDofVariables
());
for
(
int
i
=
0
;
i
<
intg
->
getNumPerDofVariables
();
i
++
)
{
for
(
int
i
=
0
;
i
<
intg
->
getNumPerDofVariables
();
i
++
)
{
vector
<
Vec3
>
vars1
;
intg
->
getPerDofVariable
(
i
,
vars1
);
vector
<
Vec3
>
vars1
;
intg
->
getPerDofVariable
(
i
,
vars1
);
vector
<
Vec3
>
vars2
;
intg2
->
getPerDofVariable
(
i
,
vars2
);
vector
<
Vec3
>
vars2
;
intg2
->
getPerDofVariable
(
i
,
vars2
);
ASSERT_EQUAL
(
vars1
.
size
(),
vars2
.
size
());
ASSERT_EQUAL
(
vars1
.
size
(),
vars2
.
size
());
for
(
int
j
=
0
;
j
<
vars1
.
size
();
j
++
)
{
for
(
int
j
=
0
;
j
<
(
int
)
vars1
.
size
();
j
++
)
{
ASSERT_EQUAL
(
vars1
[
j
][
0
],
vars2
[
j
][
0
]);
ASSERT_EQUAL
(
vars1
[
j
][
0
],
vars2
[
j
][
0
]);
ASSERT_EQUAL
(
vars1
[
j
][
1
],
vars2
[
j
][
1
]);
ASSERT_EQUAL
(
vars1
[
j
][
1
],
vars2
[
j
][
1
]);
ASSERT_EQUAL
(
vars1
[
j
][
2
],
vars2
[
j
][
2
]);
ASSERT_EQUAL
(
vars1
[
j
][
2
],
vars2
[
j
][
2
]);
...
...
serialization/tests/TestSerializeState.cpp
View file @
35041ae1
...
@@ -71,11 +71,11 @@ void testSerialization() {
...
@@ -71,11 +71,11 @@ void testSerialization() {
// Set positions, velocities, forces
// Set positions, velocities, forces
vector
<
Vec3
>
positions
;
vector
<
Vec3
>
positions
;
for
(
int
i
=
0
;
i
<
numParticles
;
i
++
)
{
for
(
int
i
=
0
;
i
<
numParticles
;
i
++
)
{
positions
.
push_back
(
Vec3
(
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
));
positions
.
push_back
(
Vec3
(
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
));
}
}
vector
<
Vec3
>
velocities
;
vector
<
Vec3
>
velocities
;
for
(
int
i
=
0
;
i
<
numParticles
;
i
++
)
{
for
(
int
i
=
0
;
i
<
numParticles
;
i
++
)
{
velocities
.
push_back
(
Vec3
(
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
));
velocities
.
push_back
(
Vec3
(
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
,
((
float
)
rand
()
/
(
float
)
RAND_MAX
)
*
6.2
));
}
}
...
@@ -95,19 +95,19 @@ void testSerialization() {
...
@@ -95,19 +95,19 @@ void testSerialization() {
vector
<
Vec3
>
pos2
=
s2
.
getPositions
();
vector
<
Vec3
>
pos2
=
s2
.
getPositions
();
ASSERT_EQUAL
(
pos1
.
size
(),
pos2
.
size
());
ASSERT_EQUAL
(
pos1
.
size
(),
pos2
.
size
());
ASSERT_EQUAL
(
pos1
.
size
(),
positions
.
size
());
ASSERT_EQUAL
(
pos1
.
size
(),
positions
.
size
());
for
(
int
i
=
0
;
i
<
pos1
.
size
();
i
++
)
{
for
(
int
i
=
0
;
i
<
(
int
)
pos1
.
size
();
i
++
)
{
ASSERT_EQUAL_VEC
(
pos1
[
i
],
pos2
[
i
],
0
);
ASSERT_EQUAL_VEC
(
pos1
[
i
],
pos2
[
i
],
0
);
}
}
vector
<
Vec3
>
vel1
=
s1
.
getVelocities
();
vector
<
Vec3
>
vel1
=
s1
.
getVelocities
();
vector
<
Vec3
>
vel2
=
s2
.
getVelocities
();
vector
<
Vec3
>
vel2
=
s2
.
getVelocities
();
ASSERT_EQUAL
(
vel1
.
size
(),
vel2
.
size
());
ASSERT_EQUAL
(
vel1
.
size
(),
vel2
.
size
());
for
(
int
i
=
0
;
i
<
pos1
.
size
();
i
++
)
{
for
(
int
i
=
0
;
i
<
(
int
)
pos1
.
size
();
i
++
)
{
ASSERT_EQUAL_VEC
(
vel1
[
i
],
vel2
[
i
],
0
);
ASSERT_EQUAL_VEC
(
vel1
[
i
],
vel2
[
i
],
0
);
}
}
vector
<
Vec3
>
forces1
=
s1
.
getForces
();
vector
<
Vec3
>
forces1
=
s1
.
getForces
();
vector
<
Vec3
>
forces2
=
s2
.
getForces
();
vector
<
Vec3
>
forces2
=
s2
.
getForces
();
ASSERT_EQUAL
(
forces1
.
size
(),
forces2
.
size
());
ASSERT_EQUAL
(
forces1
.
size
(),
forces2
.
size
());
for
(
int
i
=
0
;
i
<
pos1
.
size
();
i
++
)
{
for
(
int
i
=
0
;
i
<
(
int
)
pos1
.
size
();
i
++
)
{
ASSERT_EQUAL_VEC
(
forces1
[
i
],
forces2
[
i
],
0
);
ASSERT_EQUAL_VEC
(
forces1
[
i
],
forces2
[
i
],
0
);
}
}
Vec3
a1
,
a2
,
a3
,
b1
,
b2
,
b3
;
Vec3
a1
,
a2
,
a3
,
b1
,
b2
,
b3
;
...
@@ -128,7 +128,7 @@ void testSerialization() {
...
@@ -128,7 +128,7 @@ void testSerialization() {
map
<
string
,
double
>::
const_iterator
it1
=
p1
.
begin
();
map
<
string
,
double
>::
const_iterator
it1
=
p1
.
begin
();
map
<
string
,
double
>::
const_iterator
it2
=
p2
.
begin
();
map
<
string
,
double
>::
const_iterator
it2
=
p2
.
begin
();
//maps are ordered, so iterators should be in the same order.
//maps are ordered, so iterators should be in the same order.
for
(
it1
=
p1
.
begin
();
it1
!=
p1
.
end
();
it1
++
,
it2
++
)
{
for
(
it1
=
p1
.
begin
();
it1
!=
p1
.
end
();
it1
++
,
it2
++
)
{
assert
((
it1
->
first
).
compare
(
it2
->
first
)
==
0
);
assert
((
it1
->
first
).
compare
(
it2
->
first
)
==
0
);
ASSERT_EQUAL
(
it1
->
second
,
it2
->
second
);
ASSERT_EQUAL
(
it1
->
second
,
it2
->
second
);
}
}
...
...
tests/CMakeLists.txt
View file @
35041ae1
...
@@ -8,9 +8,12 @@ ENABLE_TESTING()
...
@@ -8,9 +8,12 @@ ENABLE_TESTING()
FILE
(
GLOB TEST_PROGS
"*Test*.cpp"
)
FILE
(
GLOB TEST_PROGS
"*Test*.cpp"
)
FOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
FOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
GET_FILENAME_COMPONENT
(
TEST_ROOT
${
TEST_PROG
}
NAME_WE
)
GET_FILENAME_COMPONENT
(
TEST_ROOT
${
TEST_PROG
}
NAME_WE
)
# All tests use shared library only
ADD_EXECUTABLE
(
${
TEST_ROOT
}
${
TEST_PROG
}
)
ADD_EXECUTABLE
(
${
TEST_ROOT
}
${
TEST_PROG
}
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
SHARED_TARGET
}
)
IF
(
OPENMM_BUILD_SHARED_LIB
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
SHARED_TARGET
}
)
ELSE
(
OPENMM_BUILD_SHARED_LIB
)
TARGET_LINK_LIBRARIES
(
${
TEST_ROOT
}
${
STATIC_TARGET
}
)
ENDIF
(
OPENMM_BUILD_SHARED_LIB
)
SET_TARGET_PROPERTIES
(
${
TEST_ROOT
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
SET_TARGET_PROPERTIES
(
${
TEST_ROOT
}
PROPERTIES LINK_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
COMPILE_FLAGS
"
${
EXTRA_COMPILE_FLAGS
}
"
)
ADD_TEST
(
${
TEST_ROOT
}
${
EXECUTABLE_OUTPUT_PATH
}
/
${
TEST_ROOT
}
)
ADD_TEST
(
${
TEST_ROOT
}
${
EXECUTABLE_OUTPUT_PATH
}
/
${
TEST_ROOT
}
)
ENDFOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
ENDFOREACH
(
TEST_PROG
${
TEST_PROGS
}
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment