1 #ifndef CLOOG_UNION_DOMAIN_H
2 #define CLOOG_UNION_DOMAIN_H
4 #if defined(__cplusplus)
11 * CloogNamedDomainList structure:
12 * this structure reprensents a node of a linked list of CloogDomain structures.
14 struct cloognameddomainlist
{
15 CloogDomain
*domain
; /**< An element of the list. */
16 CloogScattering
*scattering
; /**< Scattering function for domain. */
17 char *name
; /**< Name of the domain. */
18 void *usr
; /**< A pointer for library user's convenience. */
19 struct cloognameddomainlist
*next
;/**< Pointer to the next element of the list.*/
21 typedef struct cloognameddomainlist CloogNamedDomainList
;
24 * A structure representing the input domains and scattering functions.
26 struct clooguniondomain
{
29 CloogNamedDomainList
*domain
;
30 CloogNamedDomainList
**next_domain
;
32 typedef struct clooguniondomain CloogUnionDomain
;
34 enum cloog_dim_type
{ CLOOG_PARAM
, CLOOG_ITER
, CLOOG_SCAT
};
36 CloogUnionDomain
*cloog_union_domain_read(FILE *file
, int nb_par
,
37 CloogOptions
*options
);
38 CloogUnionDomain
*cloog_union_domain_alloc(int nb_par
);
39 CloogUnionDomain
*cloog_union_domain_add_domain(CloogUnionDomain
*ud
,
40 const char *name
, CloogDomain
*domain
, CloogScattering
*scattering
,
42 CloogUnionDomain
*cloog_union_domain_set_name(CloogUnionDomain
*ud
,
43 enum cloog_dim_type type
, int index
, const char *name
);
44 void cloog_union_domain_free(CloogUnionDomain
*ud
);
45 CloogUnionDomain
*cloog_union_domain_from_osl_scop(CloogState
*,
48 #if defined(__cplusplus)