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
0ab3aa3a
Commit
0ab3aa3a
authored
Apr 20, 2014
by
Robert McGibbon
Browse files
Merge branch 'magic-bytes' of github.com:rmcgibbo/openmm into magic-bytes
parents
c4877bec
af2b6da0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
0 deletions
+9
-0
openmmapi/src/ContextImpl.cpp
openmmapi/src/ContextImpl.cpp
+9
-0
No files found.
openmmapi/src/ContextImpl.cpp
View file @
0ab3aa3a
...
@@ -44,9 +44,12 @@
...
@@ -44,9 +44,12 @@
#include <map>
#include <map>
#include <utility>
#include <utility>
#include <vector>
#include <vector>
#include <string.h>
using
namespace
OpenMM
;
using
namespace
OpenMM
;
using
namespace
std
;
using
namespace
std
;
const
static
char
CHECKPOINT_MAGIC_BYTES
[]
=
"
\x1C\xEB\x00\xDA
"
;
ContextImpl
::
ContextImpl
(
Context
&
owner
,
const
System
&
system
,
Integrator
&
integrator
,
Platform
*
platform
,
const
map
<
string
,
string
>&
properties
)
:
ContextImpl
::
ContextImpl
(
Context
&
owner
,
const
System
&
system
,
Integrator
&
integrator
,
Platform
*
platform
,
const
map
<
string
,
string
>&
properties
)
:
owner
(
owner
),
system
(
system
),
integrator
(
integrator
),
hasInitializedForces
(
false
),
hasSetPositions
(
false
),
integratorIsDeleted
(
false
),
owner
(
owner
),
system
(
system
),
integrator
(
integrator
),
hasInitializedForces
(
false
),
hasSetPositions
(
false
),
integratorIsDeleted
(
false
),
...
@@ -398,6 +401,7 @@ static string readString(istream& stream) {
...
@@ -398,6 +401,7 @@ static string readString(istream& stream) {
}
}
void
ContextImpl
::
createCheckpoint
(
ostream
&
stream
)
{
void
ContextImpl
::
createCheckpoint
(
ostream
&
stream
)
{
stream
.
write
(
CHECKPOINT_MAGIC_BYTES
,
4
);
writeString
(
stream
,
getPlatform
().
getName
());
writeString
(
stream
,
getPlatform
().
getName
());
int
numParticles
=
getSystem
().
getNumParticles
();
int
numParticles
=
getSystem
().
getNumParticles
();
stream
.
write
((
char
*
)
&
numParticles
,
sizeof
(
int
));
stream
.
write
((
char
*
)
&
numParticles
,
sizeof
(
int
));
...
@@ -412,6 +416,11 @@ void ContextImpl::createCheckpoint(ostream& stream) {
...
@@ -412,6 +416,11 @@ void ContextImpl::createCheckpoint(ostream& stream) {
}
}
void
ContextImpl
::
loadCheckpoint
(
istream
&
stream
)
{
void
ContextImpl
::
loadCheckpoint
(
istream
&
stream
)
{
char
magicbytes
[
4
];
stream
.
read
(
magicbytes
,
4
);
if
(
memcmp
(
magicbytes
,
CHECKPOINT_MAGIC_BYTES
,
4
*
sizeof
(
char
))
!=
0
)
throw
OpenMMException
(
"loadCheckpoint: Checkpoint header was not correct"
);
string
platformName
=
readString
(
stream
);
string
platformName
=
readString
(
stream
);
if
(
platformName
!=
getPlatform
().
getName
())
if
(
platformName
!=
getPlatform
().
getName
())
throw
OpenMMException
(
"loadCheckpoint: Checkpoint was created with a different Platform: "
+
platformName
);
throw
OpenMMException
(
"loadCheckpoint: Checkpoint was created with a different Platform: "
+
platformName
);
...
...
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