Commit e77b8ad7 authored by John Biddiscombe's avatar John Biddiscombe
Browse files

Fix MPI datatype using FORTRAN complex types instead of CXX types

parent 351d7233
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -92,14 +92,14 @@ struct MPITypeMap<double> {
template <>
struct MPITypeMap<std::complex<float>> {
  static MPI_Datatype value() {
    return MPI_COMPLEX;
    return MPI_CXX_FLOAT_COMPLEX;
  }
};

template <>
struct MPITypeMap<std::complex<double>> {
  static MPI_Datatype value() {
    return MPI_DOUBLE_COMPLEX;
    return MPI_CXX_DOUBLE_COMPLEX;
  }
};

+2 −2
Original line number Diff line number Diff line
@@ -31,9 +31,9 @@ TEST(MPITypeMapTest, All) {

  EXPECT_EQ(MPI_DOUBLE, MPITypeMap<double>::value());

  EXPECT_EQ(MPI_COMPLEX, MPITypeMap<std::complex<float>>::value());
  EXPECT_EQ(MPI_CXX_FLOAT_COMPLEX, MPITypeMap<std::complex<float>>::value());

  EXPECT_EQ(MPI_DOUBLE_COMPLEX, MPITypeMap<std::complex<double>>::value());
  EXPECT_EQ(MPI_CXX_DOUBLE_COMPLEX, MPITypeMap<std::complex<double>>::value());
}

TEST(MPITypeMapTest, Enums) {