X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2960278de1d9e6497a93e0f614530f78cf1075e3..3f923da7c4541ad0c883fb8a56bc542ef435f8ad:/src/smpi/mpi/smpi_datatype.cpp diff --git a/src/smpi/mpi/smpi_datatype.cpp b/src/smpi/mpi/smpi_datatype.cpp index de11260b77..d56464d4b5 100644 --- a/src/smpi/mpi/smpi_datatype.cpp +++ b/src/smpi/mpi/smpi_datatype.cpp @@ -74,8 +74,9 @@ CREATE_MPI_DATATYPE(MPI_2LONG, 37, long_long); CREATE_MPI_DATATYPE(MPI_REAL, 38, float); CREATE_MPI_DATATYPE(MPI_REAL4, 39, float); -CREATE_MPI_DATATYPE(MPI_REAL8, 40, float); -CREATE_MPI_DATATYPE(MPI_REAL16, 41, double); +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); @@ -205,9 +206,6 @@ bool Datatype::is_basic() const char* Datatype::encode(MPI_Datatype dt) { - if (dt == MPI_DATATYPE_NULL) - return "-1"; - return dt->id.c_str(); } @@ -294,7 +292,7 @@ int Datatype::copy(void *sendbuf, int sendcount, MPI_Datatype sendtype, // FIXME Handle the case of a partial shared malloc. - if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ + if (smpi_privatize_global_variables == SmpiPrivStrategies::MMAP) { smpi_switch_data_segment(simgrid::s4u::Actor::self()); } /* First check if we really have something to do */ @@ -530,7 +528,7 @@ int Datatype::create_subarray(int ndims, int* array_of_sizes, return MPI_ERR_ARG; } } - + MPI_Aint extent = oldtype->get_extent(); int i; @@ -545,7 +543,7 @@ int Datatype::create_subarray(int ndims, int* array_of_sizes, step = 1; end = ndims; } - + MPI_Aint size = (MPI_Aint)array_of_sizes[i] * (MPI_Aint)array_of_sizes[i+step]; MPI_Aint lb = (MPI_Aint)array_of_starts[i] + (MPI_Aint)array_of_starts[i+step] *(MPI_Aint)array_of_sizes[i]; @@ -568,7 +566,7 @@ int Datatype::create_subarray(int ndims, int* array_of_sizes, //handle LB and UB with a resized call create_hindexed( 1, sizes, lbs, tmp, newtype); unref(tmp); - + tmp = *newtype; create_resized(tmp, 0, extent, newtype);