Lines Matching refs:UNION

16 struct UNION {
26 __isl_give UNION *FN(UNION,cow)(__isl_take UNION *u);
28 isl_ctx *FN(UNION,get_ctx)(__isl_keep UNION *u)
33 __isl_give isl_space *FN(UNION,get_space)(__isl_keep UNION *u)
41 static __isl_give UNION *FN(UNION,alloc)(__isl_take isl_space *dim,
44 static __isl_give UNION *FN(UNION,alloc)(__isl_take isl_space *dim, int size)
47 UNION *u;
53 u = isl_calloc_type(dim->ctx, UNION);
68 FN(UNION,free)(u);
73 __isl_give UNION *FN(UNION,ZERO)(__isl_take isl_space *dim, enum isl_fold type)
75 return FN(UNION,alloc)(dim, type, 16);
78 __isl_give UNION *FN(UNION,ZERO)(__isl_take isl_space *dim)
80 return FN(UNION,alloc)(dim, 16);
84 __isl_give UNION *FN(UNION,copy)(__isl_keep UNION *u)
93 S(UNION,foreach_data)
102 S(UNION,foreach_data) *data = (S(UNION,foreach_data) *)user;
107 int FN(FN(UNION,foreach),PARTS)(__isl_keep UNION *u,
110 S(UNION,foreach_data) data = { fn, user };
127 __isl_give PART *FN(FN(UNION,extract),PARTS)(__isl_keep UNION *u,
152 __isl_give UNION *FN(FN(UNION,add),PARTS)(__isl_take UNION *u,
166 u = FN(UNION,cow)(u);
196 FN(UNION,free)(u);
202 UNION **u = (UNION **)user;
204 *u = FN(FN(UNION,add),PARTS)(*u, part);
209 __isl_give UNION *FN(UNION,dup)(__isl_keep UNION *u)
211 UNION *dup;
217 dup = FN(UNION,ZERO)(isl_space_copy(u->dim), u->type);
219 dup = FN(UNION,ZERO)(isl_space_copy(u->dim));
221 if (FN(FN(UNION,foreach),PARTS)(u, &add_part, &dup) < 0)
225 FN(UNION,free)(dup);
229 __isl_give UNION *FN(UNION,cow)(__isl_take UNION *u)
237 return FN(UNION,dup)(u);
247 void *FN(UNION,free)(__isl_take UNION *u)
262 S(UNION,align) {
264 UNION *res;
271 S(UNION,align) *data = user;
276 data->res = FN(FN(UNION,add),PARTS)(data->res,
285 S(UNION,align) *data = user;
290 data->res = FN(FN(UNION,add),PARTS)(data->res,
297 __isl_give UNION *FN(UNION,align_params)(__isl_take UNION *u,
300 S(UNION,align) data = { NULL, NULL };
316 data.res = FN(UNION,alloc)(isl_space_copy(data.exp->dim),
319 data.res = FN(UNION,alloc)(isl_space_copy(data.exp->dim), u->table.n);
321 if (FN(FN(UNION,foreach),PARTS)(u, &align_entry, &data) < 0)
325 FN(UNION,free)(u);
330 FN(UNION,free)(u);
331 FN(UNION,free)(data.res);
336 __isl_give UNION *FN(UNION,add)(__isl_take UNION *u1, __isl_take UNION *u2)
338 u1 = FN(UNION,align_params)(u1, FN(UNION,get_space)(u2));
339 u2 = FN(UNION,align_params)(u2, FN(UNION,get_space)(u1));
341 u1 = FN(UNION,cow)(u1);
346 if (FN(FN(UNION,foreach),PARTS)(u2, &add_part, &u1) < 0)
349 FN(UNION,free)(u2);
353 FN(UNION,free)(u1);
354 FN(UNION,free)(u2);
358 __isl_give UNION *FN(FN(UNION,from),PARTS)(__isl_take PART *part)
361 UNION *u;
370 u = FN(UNION,ZERO)(dim, part->type);
372 u = FN(UNION,ZERO)(dim);
374 u = FN(FN(UNION,add),PARTS)(u, part);
379 S(UNION,match_bin_data) {
380 UNION *u2;
381 UNION *res;
391 S(UNION,match_bin_data) *data = user;
422 data->res = FN(FN(UNION,add),PARTS)(data->res, part);
430 static __isl_give UNION *match_bin_op(__isl_take UNION *u1,
431 __isl_take UNION *u2,
437 static __isl_give UNION *match_bin_op(__isl_take UNION *u1,
438 __isl_take UNION *u2,
441 S(UNION,match_bin_data) data = { NULL, NULL, fn };
443 u1 = FN(UNION,align_params)(u1, FN(UNION,get_space)(u2));
444 u2 = FN(UNION,align_params)(u2, FN(UNION,get_space)(u1));
451 data.res = FN(UNION,alloc)(isl_space_copy(u1->dim), u1->type, u1->table.n);
453 data.res = FN(UNION,alloc)(isl_space_copy(u1->dim), u1->table.n);
459 FN(UNION,free)(u1);
460 FN(UNION,free)(u2);
463 FN(UNION,free)(u1);
464 FN(UNION,free)(u2);
465 FN(UNION,free)(data.res);
472 __isl_give UNION *FN(UNION,sub)(__isl_take UNION *u1, __isl_take UNION *u2)
478 S(UNION,any_set_data) {
480 UNION *res;
486 S(UNION,any_set_data) *data = user;
506 data->res = FN(FN(UNION,add),PARTS)(data->res, pw);
513 static __isl_give UNION *any_set_op(__isl_take UNION *u,
517 S(UNION,any_set_data) data = { NULL, NULL, fn };
519 u = FN(UNION,align_params)(u, isl_set_get_space(set));
520 set = isl_set_align_params(set, FN(UNION,get_space)(u));
527 data.res = FN(UNION,alloc)(isl_space_copy(u->dim), u->type, u->table.n);
529 data.res = FN(UNION,alloc)(isl_space_copy(u->dim), u->table.n);
535 FN(UNION,free)(u);
539 FN(UNION,free)(u);
541 FN(UNION,free)(data.res);
547 __isl_give UNION *FN(UNION,intersect_params)(__isl_take UNION *u,
556 __isl_give UNION *FN(UNION,gist_params)(__isl_take UNION *u,
562 S(UNION,match_domain_data) {
564 UNION *res;
582 S(UNION,match_domain_data) *data = user;
613 data->res = FN(FN(UNION,add),PARTS)(data->res, pw);
622 static __isl_give UNION *match_domain_op(__isl_take UNION *u,
626 S(UNION,match_domain_data) data = { NULL, NULL, fn };
628 u = FN(UNION,align_params)(u, isl_union_set_get_space(uset));
629 uset = isl_union_set_align_params(uset, FN(UNION,get_space)(u));
636 data.res = FN(UNION,alloc)(isl_space_copy(u->dim), u->type, u->table.n);
638 data.res = FN(UNION,alloc)(isl_space_copy(u->dim), u->table.n);
644 FN(UNION,free)(u);
648 FN(UNION,free)(u);
650 FN(UNION,free)(data.res);
658 __isl_give UNION *FN(UNION,intersect_domain)(__isl_take UNION *u,
662 return FN(UNION,intersect_params)(u,
667 __isl_give UNION *FN(UNION,gist)(__isl_take UNION *u,
671 return FN(UNION,gist_params)(u, isl_set_from_union_set(uset));
676 __isl_give isl_qpolynomial *FN(UNION,eval)(__isl_take UNION *u,
702 FN(UNION,free)(u);
705 FN(UNION,free)(u);
722 __isl_give UNION *FN(UNION,coalesce)(__isl_take UNION *u)
733 FN(UNION,free)(u);
746 __isl_give isl_union_set *FN(UNION,domain)(__isl_take UNION *u)
750 uset = isl_union_set_empty(FN(UNION,get_space)(u));
751 if (FN(FN(UNION,foreach),PARTS)(u, &domain, &uset) < 0)
754 FN(UNION,free)(u);
759 FN(UNION,free)(u);
775 __isl_give UNION *FN(UNION,mul_isl_int)(__isl_take UNION *u, isl_int v)
781 UNION *zero;
782 isl_space *dim = FN(UNION,get_space)(u);
784 zero = FN(UNION,ZERO)(dim, u->type);
786 zero = FN(UNION,ZERO)(dim);
788 FN(UNION,free)(u);
792 u = FN(UNION,cow)(u);
806 FN(UNION,free)(u);
828 __isl_give UNION *FN(UNION,scale_val)(__isl_take UNION *u,
839 UNION *zero;
840 isl_space *space = FN(UNION,get_space)(u);
842 zero = FN(UNION,ZERO)(space, u->type);
844 zero = FN(UNION,ZERO)(space);
846 FN(UNION,free)(u);
855 u = FN(UNION,cow)(u);
870 FN(UNION,free)(u);
874 S(UNION,plain_is_equal_data)
876 UNION *u2;
882 S(UNION,plain_is_equal_data) *data = user;
902 int FN(UNION,plain_is_equal)(__isl_keep UNION *u1, __isl_keep UNION *u2)
904 S(UNION,plain_is_equal_data) data = { NULL, 1 };
913 u1 = FN(UNION,copy)(u1);
914 u2 = FN(UNION,copy)(u2);
915 u1 = FN(UNION,align_params)(u1, FN(UNION,get_space)(u2));
916 u2 = FN(UNION,align_params)(u2, FN(UNION,get_space)(u1));
926 FN(UNION,free)(u1);
927 FN(UNION,free)(u2);
931 FN(UNION,free)(u1);
932 FN(UNION,free)(u2);