implement isl_constraint on top of isl_vec
In
e2a2317 (reimplement isl_constraint in terms of isl_aff,
Fri Jul 1 17:20:52 2011 +0200), were reimplemented on top of isl_aff
because both objects share many features.
There are also some difference, however, and it is therefore better
to implement isl_constraint directly on top of isl_vec.
In particular, an isl_aff has a denominator, whereas an isl_constraint
does not. Although the denominator of an isl_aff is usually 1, it may
not always be and could therefore lead to subtle bugs.
Moreover, the space of an isl_constraint may be either that of
a set or a map, whereas, in principle, the domain of isl_aff is always
a set. We allowed the domain of an isl_aff to be a map when it was
used to implement an isl_constraint, but this was not very clean.
This would become even more dramatic when we change the space of an isl_aff
to be that of a map.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>