#include "simgrid/modelchecker.h"
#include "src/smpi/private.h"
+#include "src/smpi/private.hpp"
#include "src/smpi/smpi_datatype_derived.hpp"
#include "src/smpi/smpi_op.hpp"
#include "src/smpi/smpi_process.hpp"
*ret = MPI_SUCCESS;
if(datatype->name_)
name_ = xbt_strdup(datatype->name_);
-
- if(!(datatype->attributes()->empty())){
+
+ if (not datatype->attributes()->empty()) {
int flag;
void* value_out;
for(auto it = datatype->attributes()->begin(); it != datatype->attributes()->end(); it++){
smpi_key_elem elem = keyvals_.at((*it).first);
-
+
if (elem != nullptr && elem->copy_fn.type_copy_fn != MPI_NULL_COPY_FN) {
*ret = elem->copy_fn.type_copy_fn(datatype, (*it).first, nullptr, (*it).second, &value_out, &flag);
if (*ret != MPI_SUCCESS) {
if (datatype->refcount_ > 0)
datatype->refcount_--;
- if (datatype->refcount_ == 0 && !(datatype->flags_ & DT_FLAG_PREDEFINED))
+ if (datatype->refcount_ == 0 && not(datatype->flags_ & DT_FLAG_PREDEFINED))
delete datatype;
#if SIMGRID_HAVE_MC
int Datatype::copy(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype){
- int count;
// FIXME Handle the case of a partial shared malloc.
if (recvcount > 0 && recvbuf != sendbuf) {
sendcount *= sendtype->size();
recvcount *= recvtype->size();
- count = sendcount < recvcount ? sendcount : recvcount;
+ int count = sendcount < recvcount ? sendcount : recvcount;
- if(!(sendtype->flags() & DT_FLAG_DERIVED) && !(recvtype->flags() & DT_FLAG_DERIVED)) {
- if(!smpi_process()->replaying())
+ if (not(sendtype->flags() & DT_FLAG_DERIVED) && not(recvtype->flags() & DT_FLAG_DERIVED)) {
+ if (not smpi_process()->replaying())
memcpy(recvbuf, sendbuf, count);
- }
- else if (!(sendtype->flags() & DT_FLAG_DERIVED))
- {
+ } else if (not(sendtype->flags() & DT_FLAG_DERIVED)) {
recvtype->unserialize( sendbuf, recvbuf, recvcount/recvtype->size(), MPI_REPLACE);
- }
- else if (!(recvtype->flags() & DT_FLAG_DERIVED))
- {
+ } else if (not(recvtype->flags() & DT_FLAG_DERIVED)) {
sendtype->serialize(sendbuf, recvbuf, sendcount/sendtype->size());
}else{
int Datatype::create_vector(int count, int block_length, int stride, MPI_Datatype old_type, MPI_Datatype* new_type)
{
int retval;
- if (block_length<0)
+ if (block_length<0)
return MPI_ERR_ARG;
MPI_Aint lb = 0;
MPI_Aint ub = 0;
int Datatype::create_hvector(int count, int block_length, MPI_Aint stride, MPI_Datatype old_type, MPI_Datatype* new_type)
{
int retval;
- if (block_length<0)
+ if (block_length<0)
return MPI_ERR_ARG;
MPI_Aint lb = 0;
MPI_Aint ub = 0;
if(old_type->flags_ & DT_FLAG_DERIVED)
contiguous=false;
- if(!contiguous){
+ if (not contiguous) {
*new_type = new Type_Indexed(size * old_type->size(),lb,ub,
DT_FLAG_DERIVED|DT_FLAG_DATA, count, block_lengths, indices, old_type);
}else{
return MPI_ERR_ARG;
size += block_lengths[i];
- if(indices[i]+old_type->lb()<lb)
+ if(indices[i]+old_type->lb()<lb)
lb = indices[i]+old_type->lb();
- if(indices[i]+block_lengths[i]*old_type->ub()>ub)
+ if(indices[i]+block_lengths[i]*old_type->ub()>ub)
ub = indices[i]+block_lengths[i]*old_type->ub();
if ( (i< count -1) && (indices[i]+block_lengths[i]*(static_cast<int>(old_type->size())) != indices[i+1]) )
if (old_type->flags_ & DT_FLAG_DERIVED || lb!=0)
contiguous=false;
- if(!contiguous){
+ if (not contiguous) {
*new_type = new Type_Hindexed(size * old_type->size(),lb,ub,
DT_FLAG_DERIVED|DT_FLAG_DATA, count, block_lengths, indices, old_type);
}else{
forced_ub=true;
}
- if(!forced_lb && indices[i]+old_types[i]->lb()<lb)
+ if (not forced_lb && indices[i] + old_types[i]->lb() < lb)
lb = indices[i];
- if(!forced_ub && indices[i]+block_lengths[i]*old_types[i]->ub()>ub)
+ if (not forced_ub && indices[i] + block_lengths[i] * old_types[i]->ub() > ub)
ub = indices[i]+block_lengths[i]*old_types[i]->ub();
if ( (i< count -1) && (indices[i]+block_lengths[i]*static_cast<int>(old_types[i]->size()) != indices[i+1]) )
contiguous=false;
}
- if(!contiguous){
- *new_type = new Type_Struct(size, lb,ub, DT_FLAG_DERIVED|DT_FLAG_DATA,
+ if (not contiguous) {
+ *new_type = new Type_Struct(size, lb,ub, DT_FLAG_DERIVED|DT_FLAG_DATA,
count, block_lengths, indices, old_types);
}else{
Datatype::create_contiguous(size, MPI_CHAR, lb, new_type);