Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use the right types in fortran for some platforms (based on f2c matching, hopefully...
authorAugustin Degomme <augustin.degomme@imag.fr>
Mon, 7 Jul 2014 13:33:32 +0000 (15:33 +0200)
committerAugustin Degomme <augustin.degomme@imag.fr>
Mon, 7 Jul 2014 13:55:51 +0000 (15:55 +0200)
include/smpi/smpi.h
src/smpi/smpi_f77.c

index 3144250..5270ed3 100644 (file)
@@ -254,6 +254,8 @@ XBT_PUBLIC_DATA(MPI_Datatype) MPI_2DOUBLE;
 #define MPI_LOGICAL4 MPI_UINT32_T
 #define MPI_LOGICAL8 MPI_UINT64_T
 #define MPI_2REAL MPI_2FLOAT
+#define MPI_CHARACTER MPI_CHAR
+#define MPI_DOUBLE_PRECISION MPI_DOUBLE
 #define MPI_2DOUBLE_PRECISION MPI_2DOUBLE
 #define MPI_COMPLEX8 MPI_DATATYPE_NULL
 #define MPI_COMPLEX16 MPI_DATATYPE_NULL
index b83160f..32200bf 100644 (file)
@@ -180,8 +180,13 @@ void mpi_init_(int* ierr) {
      datatype_lookup = xbt_dict_new_homogeneous(NULL);
      new_datatype(MPI_BYTE);
      new_datatype(MPI_CHAR);
+     #if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
      new_datatype(MPI_INT);
      new_datatype(MPI_INT);
+     #else
+     new_datatype(MPI_LONG);
+     new_datatype(MPI_LONG);
+     #endif
      new_datatype(MPI_INT8_T);
      new_datatype(MPI_INT16_T);
      new_datatype(MPI_INT32_T);
@@ -192,7 +197,11 @@ void mpi_init_(int* ierr) {
      new_datatype(MPI_DOUBLE);
      new_datatype(MPI_C_FLOAT_COMPLEX);
      new_datatype(MPI_C_DOUBLE_COMPLEX);
+     #if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
      new_datatype(MPI_2INT);
+     #else
+     new_datatype(MPI_2LONG);
+     #endif
      new_datatype(MPI_UINT8_T);
      new_datatype(MPI_UINT16_T);
      new_datatype(MPI_UINT32_T);