OpenMPI  0.1.1
vt_user_count.h
1 /**
2  * VampirTrace
3  * http://www.tu-dresden.de/zih/vampirtrace
4  *
5  * Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
6  *
7  * Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
8  * Centre, Federal Republic of Germany
9  *
10  * See the file COPYING in the package base directory for details
11  **/
12 
13 #ifndef _VT_USER_H
14 # error "vt_user_count.h should only be included from vt_user.h"
15 #endif /* _VT_USER_H */
16 
17 #ifndef _VT_USER_COUNT_H
18 #define _VT_USER_COUNT_H
19 
20 #define VT_COUNT_DEFGROUP -1
21 
22 /* C/C++ types */
23 #define VT_COUNT_TYPE_SIGNED 1
24 #define VT_COUNT_TYPE_UNSIGNED 2
25 #define VT_COUNT_TYPE_FLOAT 3
26 #define VT_COUNT_TYPE_DOUBLE 4
27 /* Fortran types */
28 #define VT_COUNT_TYPE_INTEGER 11
29 #define VT_COUNT_TYPE_INTEGER8 12
30 #define VT_COUNT_TYPE_REAL 13
31 
32 #if (defined(VTRACE)) && !(defined(VTRACE_NO_COUNT))
33 
34  __VT_EXTERN_DECL unsigned int VT_User_count_group_def__(const char* gname);
35  __VT_EXTERN_DECL unsigned int VT_User_count_def__(const char* cname,
36  const char* cunit,
37  int ctype,
38  unsigned int gid);
39  __VT_EXTERN_DECL void VT_User_count_signed_val__(unsigned int cid,
40  long long val);
41  __VT_EXTERN_DECL void VT_User_count_unsigned_val__(unsigned int cid,
42  unsigned long long val);
43  __VT_EXTERN_DECL void VT_User_count_float_val__(unsigned int cid, float val);
44  __VT_EXTERN_DECL void VT_User_count_double_val__(unsigned int cid,
45  double val);
46 
47 # define VT_COUNT_GROUP_DEF(n) VT_User_count_group_def__((n))
48 # define VT_COUNT_DEF(n, u, t, gi) VT_User_count_def__((n), (u), (t), (gi))
49 # define VT_COUNT_SIGNED_VAL(i, v) VT_User_count_signed_val__((i), (v))
50 # define VT_COUNT_UNSIGNED_VAL(i, v) VT_User_count_unsigned_val__((i), (v))
51 # define VT_COUNT_FLOAT_VAL(i, v) VT_User_count_float_val__((i), (v))
52 # define VT_COUNT_DOUBLE_VAL(i, v) VT_User_count_double_val__((i), (v))
53 
54 #else /* VTRACE && !VTRACE_NO_COUNT */
55 
56 # define VT_COUNT_GROUP_DEF(n) 0
57 # define VT_COUNT_DEF(n, u, t, gi) 0
58 # define VT_COUNT_SIGNED_VAL(i, v)
59 # define VT_COUNT_UNSIGNED_VAL(i, v)
60 # define VT_COUNT_FLOAT_VAL(i, v)
61 # define VT_COUNT_DOUBLE_VAL(i, v)
62 
63 #endif /* VTRACE && !VTRACE_NO_COUNT */
64 
65 #endif /* _VT_USER_COUNT_H */