Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
allred test needed unsigned char support, which was forgotten.
[simgrid.git] / src / smpi / smpi_pmpi.c
index c2aa98c..b278f07 100644 (file)
@@ -1004,7 +1004,7 @@ int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int src,
     *request = MPI_REQUEST_NULL;
     retval = MPI_SUCCESS;
   } else if (src!=MPI_ANY_SOURCE && (src >= smpi_group_size(smpi_comm_group(comm)) || src <0)){
-    retval = MPI_ERR_COMM;
+    retval = MPI_ERR_RANK;
   } else if (count < 0) {
     retval = MPI_ERR_COUNT;
   } else if (buf==NULL && count > 0) {
@@ -2848,7 +2848,34 @@ int PMPI_Free_mem(void *baseptr){
   return MPI_SUCCESS;
 }
 
+int PMPI_Type_set_name(MPI_Datatype  datatype, char * name)
+{
+  int retval = 0;
+  if (datatype == MPI_DATATYPE_NULL)  {
+    retval = MPI_ERR_TYPE;
+  } else if (name == NULL)  {
+    retval = MPI_ERR_ARG;
+  } else {
+    smpi_datatype_set_name(datatype, name);
+    retval = MPI_SUCCESS;
+  }
+  return retval;
+}
 
+int PMPI_Type_get_name(MPI_Datatype  datatype, char * name, int* len)
+{
+  int retval = 0;
+
+  if (datatype == MPI_DATATYPE_NULL)  {
+    retval = MPI_ERR_TYPE;
+  } else if (name == NULL)  {
+    retval = MPI_ERR_ARG;
+  } else {
+    smpi_datatype_get_name(datatype, name, len);
+    retval = MPI_SUCCESS;
+  }
+  return retval;
+}
 
 /* The following calls are not yet implemented and will fail at runtime. */
 /* Once implemented, please move them above this notice. */
@@ -2858,15 +2885,7 @@ int PMPI_Free_mem(void *baseptr){
     return MPI_SUCCESS;                                                 \
   }
 
-int PMPI_Type_set_name(MPI_Datatype  datatype, char * name)
-{
-  NOT_YET_IMPLEMENTED
-}
 
-int PMPI_Type_get_name(MPI_Datatype  datatype, char * name, int* len)
-{
-  NOT_YET_IMPLEMENTED
-}
 
 int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int* size) {
   NOT_YET_IMPLEMENTED