2 * Copyright 2011 Sven Verdoolaege
4 * Use of this software is governed by the MIT license
6 * Written by Sven Verdoolaege
9 #define xFN(TYPE,NAME) TYPE ## _ ## NAME
10 #define FN(TYPE,NAME) xFN(TYPE,NAME)
12 /* Align the parameters of the two arguments of type ARG1 and ARG2
15 isl_stat
FN(FN(ARG1
,align_params
),SUFFIX
)(__isl_keep ARG1
**obj1
,
16 __isl_keep ARG2
**obj2
)
18 isl_space
*space1
, *space2
;
19 isl_bool equal_params
;
21 space1
= FN(ARG1
,peek_space
)(*obj1
);
22 space2
= FN(ARG2
,peek_space
)(*obj2
);
23 equal_params
= isl_space_has_equal_params(space1
, space2
);
28 if (FN(ARG1
,check_named_params
)(*obj1
) < 0 ||
29 FN(ARG2
,check_named_params
)(*obj2
) < 0)
31 *obj1
= FN(ARG1
,align_params
)(*obj1
, FN(ARG2
,get_space
)(*obj2
));
32 *obj2
= FN(ARG2
,align_params
)(*obj2
, FN(ARG1
,get_space
)(*obj1
));
37 *obj1
= FN(ARG1
,free
)(*obj1
);
38 *obj2
= FN(ARG2
,free
)(*obj2
);
39 return isl_stat_error
;