CREATE_MPI_DATATYPE(MPI_REAL8, 40, double);
CREATE_MPI_DATATYPE(MPI_REAL16, 41, long double);
CREATE_MPI_DATATYPE_NULL(MPI_DATATYPE_NULL, -1);
-CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX8, 42);
-CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX16, 43);
-CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX32, 44);
+CREATE_MPI_DATATYPE(MPI_COMPLEX8, 42, float_float);
+CREATE_MPI_DATATYPE(MPI_COMPLEX16, 43, double_double);
+CREATE_MPI_DATATYPE(MPI_COMPLEX32, 44, double_double);
CREATE_MPI_DATATYPE(MPI_INTEGER1, 45, int);
CREATE_MPI_DATATYPE(MPI_INTEGER2, 46, int16_t);
CREATE_MPI_DATATYPE(MPI_INTEGER4, 47, int32_t);
{
flags_ &= ~DT_FLAG_PREDEFINED;
*ret = MPI_SUCCESS;
- if(datatype->name_)
- name_ = xbt_strdup(datatype->name_);
if (not datatype->attributes()->empty()) {
int flag=0;
}
void Datatype::get_name(char* name, int* length){
- *length = strlen(name_);
- strncpy(name, name_, *length+1);
+ if(name_!=nullptr){
+ *length = strlen(name_);
+ strncpy(name, name_, *length+1);
+ }else{
+ *length = 0;
+ }
}
void Datatype::set_name(const char* name){