2 * Copyright 2010 INRIA Saclay
4 * Use of this software is governed by the MIT license
6 * Written by Sven Verdoolaege,
7 * INRIA Saclay - Ile-de-France, Parc Club Orsay Universite,
8 * ZAC des vignes, 4 rue Jacques Monod, 91893 Orsay, France
11 #include "isl_union_macro.h"
13 /* Subtract "u2" from "u1" and return the result.
15 * If the base expressions have a default zero value, then
16 * reuse isl_union_*_add to ensure the result
17 * is computed on the union of the domains of "u1" and "u2".
18 * Otherwise, compute the result directly on their shared domain.
20 __isl_give UNION
*FN(UNION
,sub
)(__isl_take UNION
*u1
, __isl_take UNION
*u2
)
23 return FN(UNION
,add
)(u1
, FN(UNION
,neg
)(u2
));
25 return FN(UNION
,match_bin_op
)(u1
, u2
, &FN(PART
,sub
));