This source file includes following definitions.
- ompi_datatype_create_contiguous
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include "ompi_config.h"
23 #include "ompi/datatype/ompi_datatype.h"
24 #include "ompi/datatype/ompi_datatype_internal.h"
25 #include "mpi.h"
26
27 int32_t ompi_datatype_create_contiguous( int count, const ompi_datatype_t* oldType,
28 ompi_datatype_t** newType )
29 {
30 ompi_datatype_t* pdt;
31
32 if( (0 == count) || (0 == oldType->super.size) ) {
33 return ompi_datatype_duplicate( &ompi_mpi_datatype_null.dt, newType);
34 }
35
36 pdt = ompi_datatype_create( oldType->super.desc.used + 2 );
37 opal_datatype_add( &(pdt->super), &(oldType->super), count, 0, (oldType->super.ub - oldType->super.lb) );
38 *newType = pdt;
39 return OMPI_SUCCESS;
40 }