-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtype.h
More file actions
107 lines (88 loc) · 2.32 KB
/
Copy pathtype.h
File metadata and controls
107 lines (88 loc) · 2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// Copyright © 2014-2015 Inria, Written by Lénaïc Bagnères, lenaic.bagneres@inria.fr
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef GHO_TYPE_H
#define GHO_TYPE_H
/**
* \defgroup gho_type gho_type
* \brief Dynamic type
*/
/**
* \brief (Dynamic) types known
* @ingroup gho_type
*/
typedef enum {
// NULL
GHO_TYPE_NULL,
// C
GHO_TYPE_CHAR,
GHO_TYPE_INT,
GHO_TYPE_LINT,
GHO_TYPE_LLINT,
GHO_TYPE_SIZE_T,
GHO_TYPE_UINT,
GHO_TYPE_ULINT,
GHO_TYPE_ULLINT,
GHO_TYPE_C_STR,
// gho
GHO_TYPE_GHO_START_AND_SIZE,
GHO_TYPE_GHO_STRING,
// gho int
GHO_TYPE_GHO_MPZ_T,
// gho matrix
GHO_TYPE_MATRIX_ANY_T,
GHO_TYPE_MATRIX_CHAR,
GHO_TYPE_MATRIX_INT,
GHO_TYPE_MATRIX_LINT,
GHO_TYPE_MATRIX_LLINT,
GHO_TYPE_MATRIX_MPZ_T,
GHO_TYPE_MATRIX_SIZE_T,
GHO_TYPE_MATRIX_STRING_T,
GHO_TYPE_MATRIX_UINT,
GHO_TYPE_MATRIX_ULINT,
GHO_TYPE_MATRIX_ULLINT,
// gho vector
GHO_TYPE_VECTOR_ANY,
GHO_TYPE_VECTOR_CHAR,
GHO_TYPE_VECTOR_INT,
GHO_TYPE_VECTOR_LINT,
GHO_TYPE_VECTOR_LLINT,
GHO_TYPE_VECTOR_SIZE_T,
GHO_TYPE_VECTOR_START_AND_SIZE,
GHO_TYPE_VECTOR_STRING,
GHO_TYPE_VECTOR_UINT,
GHO_TYPE_VECTOR_ULINT,
GHO_TYPE_VECTOR_ULLINT,
// OpenScop
GHO_TYPE_OSL_BETA,
GHO_TYPE_OSL_CONVEX_RELATION,
GHO_TYPE_OSL_DIMENSION_TYPE,
GHO_TYPE_OSL_RELATION,
GHO_TYPE_OSL_SCOP,
GHO_TYPE_OSL_STATEMENT,
GHO_TYPE_OSL_VECTOR_BETA,
GHO_TYPE_OSL_VECTOR_DIMENSION_TYPE,
GHO_TYPE_OSL_VECTOR_RELATION,
GHO_TYPE_OSL_VECTOR_SCOP,
GHO_TYPE_OSL_VECTOR_STATEMENT,
// OpenScop extensions
GHO_TYPE_OSL_EXTENSION_BODY,
GHO_TYPE_OSL_EXTENSION_COMMENTS,
GHO_TYPE_OSL_EXTENSION_COORDINATES,
GHO_TYPE_OSL_EXTENSION_SCATNAMES,
GHO_TYPE_OSL_EXTENSION_UNKNOWN
} gho_type_t;
// Create
static inline
gho_type_t gho_type(const void* const p);
#include "implementation/type.h"
#endif