if (!is_datatype_valid(datatype) || op == MPI_OP_NULL) {
retval = MPI_ERR_ARG;
} else {
- if(op!=MPI_OP_NULL) op->apply( inbuf, inoutbuf, &count, &datatype);
+ if(op!=MPI_OP_NULL) op->apply( inbuf, inoutbuf, &count, datatype);
retval = MPI_SUCCESS;
}
smpi_bench_begin();
MPI_Datatype types[3] = {MPI_LB, oldtype, MPI_UB};
s_smpi_mpi_struct_t* subtype = smpi_datatype_struct_create(blocks, disps, 3, types);
- smpi_datatype_create(newtype, oldtype->size, lb, lb + extent, sizeof(s_smpi_mpi_struct_t), subtype, DT_FLAG_VECTOR);
+ smpi_datatype_create(newtype, oldtype->size(), lb, lb + extent, sizeof(s_smpi_mpi_struct_t), subtype, DT_FLAG_VECTOR);
- (*newtype)->flags &= ~DT_FLAG_COMMITED;
+ (*newtype)->addflag(~DT_FLAG_COMMITED);
return MPI_SUCCESS;
}