ORB5  v4.9.4
generic_array.h
Go to the documentation of this file.
1! For routines which are generic..
2#ifdef ARRAY_DIM
3#undef ARRAY_DIM
4#endif
5#ifdef ARRAY_DIM_1
6#undef ARRAY_DIM_1
7#define ARRAY_DIM 1
8#endif
9#ifdef ARRAY_DIM_2
10#undef ARRAY_DIM_2
11#define ARRAY_DIM 2
12#endif
13#ifdef ARRAY_DIM_3
14#undef ARRAY_DIM_3
15#define ARRAY_DIM 3
16#endif
17! Array declarations
18#ifdef ARRAY_STR
19#undef ARRAY_STR
20#endif
21#if ARRAY_DIM==1
22#define ARRAY_STR :
23#elif ARRAY_DIM==2
24#define ARRAY_STR :,:
25#elif ARRAY_DIM==3
26#define ARRAY_STR :,:,:
27#endif
28! array dimension = (ARRAY_DIM)
29! Type names
30#ifdef TYPE_STRING
31#undef TYPE_STRING
32#undef TYPE_NAME
33#endif
34#ifdef REAL_TYPE
35#undef REAL_TYPE
36#define TYPE_STRING r
37#define TYPE_NAME REAL
38#define MPIT_NAME MPI_DOUBLE_PRECISION
39#endif
40#ifdef INTEGER_TYPE
41#undef INTEGER_TYPE
42#define TYPE_STRING i
43#define TYPE_NAME INTEGER
44#define MPIT_NAME MPI_INTEGER
45#endif
46#ifdef COMPLEX_TYPE
47#undef COMPLEX_TYPE
48#define TYPE_STRING c
49#define TYPE_NAME COMPLEX
50#define MPIT_NAME MPI_DOUBLE_COMPLEX
51#endif
52! Subroutine names produced by concatenation
53#ifndef GENERIC_ARRAY_H
54#define GENERIC_ARRAY_H
55#define NOEXP_CONCATENATE(_A,_B) _A##_B
56#define CONCATENATE(_A,_B) NOEXP_CONCATENATE(_A,_B)
57#define NOEXP_CONCAT3(_A,_B,_C) _A##_B##_C
58#define CONCAT3(_A,_B,_C) NOEXP_CONCAT3(_A,_B,_C)
59#endif
#define NOEXP_CONCATENATE(_A, _B)
#define GENERIC_ARRAY_H