Merge pull request #6159 from kawashima-fj/pr/fix-type-create-f90
mpi/c: Fix MPI_TYPE_CREATE_F90_{REAL,COMPLEX}
Этот коммит содержится в:
Коммит
4be5a6cdc8
@ -18,6 +18,7 @@
|
|||||||
* and Technology (RIST). All rights reserved.
|
* and Technology (RIST). All rights reserved.
|
||||||
* Copyright (c) 2017 IBM Corporation. All rights reserved.
|
* Copyright (c) 2017 IBM Corporation. All rights reserved.
|
||||||
* Copyright (c) 2018 Amazon.com, Inc. or its affiliates. All Rights reserved.
|
* Copyright (c) 2018 Amazon.com, Inc. or its affiliates. All Rights reserved.
|
||||||
|
* Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -83,10 +84,10 @@ int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype)
|
|||||||
* cache.
|
* cache.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if( (LDBL_DIG < p) || (LDBL_MAX_10_EXP < r) ) *newtype = &ompi_mpi_datatype_null.dt;
|
if ( (LDBL_DIG < p) || (LDBL_MAX_10_EXP < r) || (-LDBL_MIN_10_EXP < r) ) *newtype = &ompi_mpi_datatype_null.dt;
|
||||||
else if( (DBL_DIG < p) || (DBL_MAX_10_EXP < r) ) *newtype = &ompi_mpi_ldblcplex.dt;
|
else if( (DBL_DIG < p) || (DBL_MAX_10_EXP < r) || (-DBL_MIN_10_EXP < r) ) *newtype = &ompi_mpi_ldblcplex.dt;
|
||||||
else if( (FLT_DIG < p) || (FLT_MAX_10_EXP < r) ) *newtype = &ompi_mpi_dblcplex.dt;
|
else if( (FLT_DIG < p) || (FLT_MAX_10_EXP < r) || (-FLT_MIN_10_EXP < r) ) *newtype = &ompi_mpi_dblcplex.dt;
|
||||||
else *newtype = &ompi_mpi_cplex.dt;
|
else *newtype = &ompi_mpi_cplex.dt;
|
||||||
|
|
||||||
if( *newtype != &ompi_mpi_datatype_null.dt ) {
|
if( *newtype != &ompi_mpi_datatype_null.dt ) {
|
||||||
ompi_datatype_t* datatype;
|
ompi_datatype_t* datatype;
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
* and Technology (RIST). All rights reserved.
|
* and Technology (RIST). All rights reserved.
|
||||||
* Copyright (c) 2017 IBM Corporation. All rights reserved.
|
* Copyright (c) 2017 IBM Corporation. All rights reserved.
|
||||||
* Copyright (c) 2018 Amazon.com, Inc. or its affiliates. All Rights reserved.
|
* Copyright (c) 2018 Amazon.com, Inc. or its affiliates. All Rights reserved.
|
||||||
|
* Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -83,10 +84,10 @@ int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype)
|
|||||||
* cache.
|
* cache.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if( (LDBL_DIG < p) || (LDBL_MAX_10_EXP < r) ) *newtype = &ompi_mpi_datatype_null.dt;
|
if ( (LDBL_DIG < p) || (LDBL_MAX_10_EXP < r) || (-LDBL_MIN_10_EXP < r) ) *newtype = &ompi_mpi_datatype_null.dt;
|
||||||
else if( (DBL_DIG < p) || (DBL_MAX_10_EXP < r) ) *newtype = &ompi_mpi_long_double.dt;
|
else if( (DBL_DIG < p) || (DBL_MAX_10_EXP < r) || (-DBL_MIN_10_EXP < r) ) *newtype = &ompi_mpi_long_double.dt;
|
||||||
else if( (FLT_DIG < p) || (FLT_MAX_10_EXP < r) ) *newtype = &ompi_mpi_double.dt;
|
else if( (FLT_DIG < p) || (FLT_MAX_10_EXP < r) || (-FLT_MIN_10_EXP < r) ) *newtype = &ompi_mpi_double.dt;
|
||||||
else *newtype = &ompi_mpi_float.dt;
|
else *newtype = &ompi_mpi_float.dt;
|
||||||
|
|
||||||
if( *newtype != &ompi_mpi_datatype_null.dt ) {
|
if( *newtype != &ompi_mpi_datatype_null.dt ) {
|
||||||
ompi_datatype_t* datatype;
|
ompi_datatype_t* datatype;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user