Allow zero count contiguous data-types. And be user friendly, set the ub, lb, true_lb
and true_ub to zero. This commit was SVN r10212.
Этот коммит содержится в:
родитель
9e6e7575b9
Коммит
edc2fa9141
@ -63,8 +63,15 @@ int32_t ompi_ddt_duplicate( const ompi_datatype_t* oldType, ompi_datatype_t** ne
|
|||||||
int32_t ompi_ddt_create_contiguous( int count, const ompi_datatype_t* oldType,
|
int32_t ompi_ddt_create_contiguous( int count, const ompi_datatype_t* oldType,
|
||||||
ompi_datatype_t** newType )
|
ompi_datatype_t** newType )
|
||||||
{
|
{
|
||||||
ompi_datatype_t* pdt = ompi_ddt_create( oldType->desc.used + 2 );
|
ompi_datatype_t* pdt;
|
||||||
|
|
||||||
|
if( 0 == count ) {
|
||||||
|
pdt = ompi_ddt_create( 0 );
|
||||||
|
ompi_ddt_add( pdt, &ompi_mpi_datatype_null, 0, 0, 0 );
|
||||||
|
} else {
|
||||||
|
pdt = ompi_ddt_create( oldType->desc.used + 2 );
|
||||||
ompi_ddt_add( pdt, oldType, count, 0, (oldType->ub - oldType->lb) );
|
ompi_ddt_add( pdt, oldType, count, 0, (oldType->ub - oldType->lb) );
|
||||||
|
}
|
||||||
*newType = pdt;
|
*newType = pdt;
|
||||||
return OMPI_SUCCESS;
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user