Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / teshsuite / smpi / mpich3-test / include / mtest_datatype.h
1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2 /*
3  *
4  *  (C) 2014 by Argonne National Laboratory.
5  *      See COPYRIGHT in top-level directory.
6  */
7
8 #ifndef MTEST_DATATYPE_H_
9 #define MTEST_DATATYPE_H_
10
11 #include "mpi.h"
12 #include "mpitestconf.h"
13 #include "mpitest.h"
14
15 /* Provide backward portability to MPI 1 */
16 #ifndef MPI_VERSION
17 #define MPI_VERSION 1
18 #endif
19
20 enum MTEST_BASIC_DT {
21     MTEST_BDT_INT,
22     MTEST_BDT_DOUBLE,
23     MTEST_BDT_FLOAT_INT,
24     MTEST_BDT_SHORT,
25     MTEST_BDT_LONG,
26     MTEST_BDT_CHAR,
27     MTEST_BDT_UINT64_T,
28     MTEST_BDT_FLOAT,
29     MTEST_BDT_BYTE,
30     MTEST_BDT_MAX
31 };
32
33 enum MTEST_DERIVED_DT {
34     MTEST_DDT_CONTIGUOUS,
35     MTEST_DDT_VECTOR,
36     MTEST_DDT_HVECTOR,
37     MTEST_DDT_INDEXED,
38     MTEST_DDT_HINDEXED,
39     MTEST_DDT_INDEXED_BLOCK,
40     MTEST_DDT_HINDEXED_BLOCK,
41     MTEST_DDT_STRUCT,
42 /*    MTEST_DDT_SUBARRAY_ORDER_C,*/
43 /*    MTEST_DDT_SUBARRAY_ORDER_FORTRAN,*/
44     MTEST_DDT_MAX
45 };
46
47 enum MTEST_MIN_DERIVED_DT {
48     MTEST_MIN_DDT_VECTOR,
49     MTEST_MIN_DDT_INDEXED,
50     MTEST_MIN_DDT_MAX
51 };
52
53 typedef int (*MTestDdtCreator) (MPI_Aint, MPI_Aint, MPI_Aint, MPI_Aint, MPI_Datatype, const char *, MTestDatatype *);
54
55 extern void MTestTypeCreatorInit(MTestDdtCreator * creators);
56 extern void MTestTypeMinCreatorInit(MTestDdtCreator * creators);
57 extern void *MTestTypeInitRecv(MTestDatatype * mtype);
58
59 extern int MTestTypeBasicCreate(MPI_Datatype oldtype, MTestDatatype * mtype);
60 extern int MTestTypeDupCreate(MPI_Datatype oldtype, MTestDatatype * mtype);
61
62 #endif /* MTEST_DATATYPE_H_ */