A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git]
/
src
/
smpi
/
mpi
/
smpi_datatype.cpp
diff --git
a/src/smpi/mpi/smpi_datatype.cpp
b/src/smpi/mpi/smpi_datatype.cpp
index
e23986d
..
4237217
100644
(file)
--- a/
src/smpi/mpi/smpi_datatype.cpp
+++ b/
src/smpi/mpi/smpi_datatype.cpp
@@
-189,11
+189,15
@@
void Datatype::commit()
flags_ |= DT_FLAG_COMMITED;
}
flags_ |= DT_FLAG_COMMITED;
}
-
bool Datatype::is_valid(){
return (flags_ & DT_FLAG_COMMITED);
}
bool Datatype::is_valid(){
return (flags_ & DT_FLAG_COMMITED);
}
+bool Datatype::is_basic()
+{
+ return (flags_ & DT_FLAG_BASIC);
+}
+
size_t Datatype::size(){
return size_;
}
size_t Datatype::size(){
return size_;
}
@@
-279,9
+283,9
@@
int Datatype::copy(void *sendbuf, int sendcount, MPI_Datatype sendtype,
if (not smpi_process()->replaying())
memcpy(recvbuf, sendbuf, count);
} else if (not(sendtype->flags() & DT_FLAG_DERIVED)) {
if (not smpi_process()->replaying())
memcpy(recvbuf, sendbuf, count);
} else if (not(sendtype->flags() & DT_FLAG_DERIVED)) {
- recvtype->unserialize(
sendbuf, recvbuf, recvcount/
recvtype->size(), MPI_REPLACE);
+ recvtype->unserialize(
sendbuf, recvbuf, count /
recvtype->size(), MPI_REPLACE);
} else if (not(recvtype->flags() & DT_FLAG_DERIVED)) {
} else if (not(recvtype->flags() & DT_FLAG_DERIVED)) {
- sendtype->serialize(sendbuf, recvbuf,
sendcount/
sendtype->size());
+ sendtype->serialize(sendbuf, recvbuf,
count /
sendtype->size());
}else{
void * buf_tmp = xbt_malloc(count);
}else{
void * buf_tmp = xbt_malloc(count);