27 if (pw->n + n <= pw->
size)
29 ctx =
FN(
PW,get_ctx)(pw);
33 sizeof(
struct PW) + (
n - 1) *
sizeof(
S(
PW,piece)));
35 return FN(
PW,free)(pw);
41 return FN(
PW,free)(pw);
42 for (i = 0; i < pw->n; ++i)
44 FN(
EL,copy)(pw->p[i].FIELD));
54 if (
FN(
PW,align_params_bin)(&pw1, &pw2) < 0)
57 if (pw1->size < pw1->n + pw2->n && pw1->n < pw2->n)
58 return FN(
PW,add_disjoint)(pw2, pw1);
63 "fold types don't match",
goto error);
64 if (
FN(
PW,check_equal_space)(pw1, pw2) < 0)
77 pw1 =
FN(
PW,grow)(pw1, pw2->n);
81 for (i = 0; i < pw2->n; ++i)
82 pw1 =
FN(
PW,add_piece)(pw1,
84 FN(
EL,copy)(pw2->p[i].FIELD));
#define isl_die(ctx, errno, msg, code)
#define isl_realloc(ctx, ptr, type, size)
#define OPT_TYPE_ARG(loc)
#define OPT_EQUAL_TYPES(loc1, loc2)
__isl_give isl_set * isl_set_copy(__isl_keep isl_set *set)
isl_ctx * isl_space_get_ctx(__isl_keep isl_space *space)
__isl_give isl_space * isl_space_copy(__isl_keep isl_space *space)