add isl_obj_pw_multi_aff

We want to change isl_vertex_get_expr to return an isl_multi_aff
rather than a (rational) isl_basic_set.  Since barvinok's iscc provides
a vertices operation that prints out the result of this function,
it needs to be able to represent isl_multi_aff (or isl_pw_multi_aff)
objects.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_multi_aff_floor

We will need this function in the next commit.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_pw_multi_aff_from_map: delay computation of floor

We want to reuse extract_isl_multi_aff_from_basic_map in a context
where the floor should not be applied.  We therefore lift the floor
computation out of this function.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
privately export isl_multi_aff_from_basic_set_equalities

This function will be useful when we change isl_vertex_get_expr
to return an isl_multi_aff.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_vertices.c: move isl_basic_set_set_integral before isl_vertex_get_domain

We will call isl_basic_set_set_integral from isl_vertex_get_domain
in the next commit.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
change isl_vertex inspectors to return proper isl objects

When these functions were introduced back in 5f0f628 (add parametric
vertex enumeration, Mon Jun 7 14:27:13 2010 +0200), isl did not
have any support for multiple affine expressions, which were only
added in 3d0da01 (add isl_multi_aff, Thu Sep 1 11:49:19 2011 +0200).
We therefore exposed the internal representation of the vertices
as rational sets, but rational sets are not really supported by isl and
required special attention by the user.
Now that we have isl_multi_aff objects, we can change the interface
to return proper isl objects.  This change breaks users, but there
should be fairly few users given the awkward nature of the original
interface.  The new result type should be easier to handle than
the original.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_test.c: test_vertices: check that the expected set of vertices are computed

The original test would only check that the computation itself did not fail.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>