@@ -35,11 +35,21 @@ namespace isl {
3535// the official ISL C++ bindings.
3636//
3737
38+ template <typename T>
39+ inline T operator +(T a, T b) {
40+ return a.add (b);
41+ }
42+
3843template <typename T>
3944inline T operator -(T a, T b) {
4045 return a.sub (b);
4146}
4247
48+ template <typename T>
49+ inline T operator &(T S1, T S2) {
50+ return S1.intersect (S2);
51+ }
52+
4353inline isl::val operator *(isl::val l, isl::val r) {
4454 return l.mul (r);
4555}
@@ -52,10 +62,6 @@ inline isl::val operator*(long i, isl::val v) {
5262 return v * i;
5363}
5464
55- inline isl::val operator +(isl::val l, isl::val r) {
56- return l.add (r);
57- }
58-
5965inline isl::val operator +(isl::val v, long i) {
6066 return v.add (isl::val (v.get_ctx (), i));
6167}
@@ -122,8 +128,6 @@ isl::aff operator*(isl::val V, isl::aff A);
122128
123129isl::aff operator /(isl::aff A, int i);
124130
125- isl::aff operator +(int i, isl::aff A);
126- isl::aff operator +(isl::aff A, isl::aff B);
127131isl::aff operator +(isl::aff A, int i);
128132isl::aff operator +(isl::aff A, isl::val v);
129133isl::aff operator +(isl::val v, isl::aff A);
@@ -184,10 +188,8 @@ isl::multi_aff operator/(isl::multi_aff left, isl::multi_val right);
184188// /////////////////////////////////////////////////////////////////////////////
185189// Operations on isl::set and isl::union_set
186190// /////////////////////////////////////////////////////////////////////////////
187- isl::set operator &(isl::set S1, isl::set S2);
188191isl::union_set operator &(isl::union_set S1, isl::set S2);
189192isl::union_set operator &(isl::set S1, isl::union_set S2);
190- isl::union_set operator &(isl::union_set S1, isl::union_set S2);
191193
192194// /////////////////////////////////////////////////////////////////////////////
193195// Operations on isl::set and isl::point
0 commit comments