Polly 19.0.0git
isl_test_list_templ.c
Go to the documentation of this file.
1#define xCAT(A,B) A ## B
2#define CAT(A,B) xCAT(A,B)
3#define xFN(TYPE,NAME) TYPE ## _ ## NAME
4#define FN(TYPE,NAME) xFN(TYPE,NAME)
5#define xLIST(EL) EL ## _list
6#define LIST(EL) xLIST(EL)
7
8#undef SET
9#define SET CAT(isl_,SET_BASE)
10#undef EL
11#define EL CAT(isl_,EL_BASE)
12
13/* Check that the conversion from SET to list of EL works as expected,
14 * using input described by "str".
15 */
17 const char *str)
18{
19 int i;
20 isl_size n;
22 SET *set, *set2;
23 LIST(EL) *list;
24
25 set = FN(SET,read_from_str)(ctx, str);
26 list = FN(FN(SET,get),LIST(EL_BASE))(set);
27
28 set2 = FN(SET,empty)(FN(SET,get_space)(set));
29
30 n = FN(LIST(EL),size)(list);
31 for (i = 0; i < n; i++) {
32 EL *el;
33 el = FN(LIST(EL),get_at)(list, i);
34 set2 = FN(SET,union)(set2, FN(FN(SET,from),EL_BASE)(el));
35 }
36
38
39 FN(SET,free)(set);
40 FN(SET,free)(set2);
41 FN(LIST(EL),free)(list);
42
43 if (n < 0 || equal < 0)
44 return isl_stat_error;
45
46 if (!equal)
47 isl_die(ctx, isl_error_unknown, "collections are not equal",
48 return isl_stat_error);
49
50 return isl_stat_ok;
51}
isl_stat
Definition: ctx.h:84
@ isl_stat_error
Definition: ctx.h:85
@ isl_stat_ok
Definition: ctx.h:86
#define isl_die(ctx, errno, msg, code)
Definition: ctx.h:137
@ isl_error_unknown
Definition: ctx.h:78
int isl_size
Definition: ctx.h:96
isl_bool
Definition: ctx.h:89
#define EL_BASE
Definition: isl_aff.c:64
static bool is_equal(const T &a, const T &b)
Definition: isl_test2.cc:99
const char * set
Definition: isl_test.c:1356
#define SET_BASE
Definition: isl_test.c:4125
int equal
Definition: isl_test.c:7868
static int test_get_list(isl_ctx *ctx)
Definition: isl_test.c:4130
const char * set2
Definition: isl_test.c:4204
const char * size
Definition: isl_test.c:1570
const char * str
Definition: isl_test.c:2095
#define LIST(EL)
#define SET
#define EL
#define FN(TYPE, NAME)
n
Definition: youcefn.c:8