evalue.c: evalue_sum: better handling of negative values
commitd4be620cd382581a86a5728504b4e921c134ba9d
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 16 Jun 2007 13:29:52 +0000 (16 15:29 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 16 Jun 2007 13:29:52 +0000 (16 15:29 +0200)
tree4a391e6e32eb6dadbb1de3f3a1f4a887c500748b
parentf3d7ae2df4c269137ead00a4b4ddc8323c94d64e
evalue.c: evalue_sum: better handling of negative values

Commit a431c6642a113acd141f4297e9832962657b0d91 moved the splitting
into orthants into evalue_sum and made some provisions for handling
the result of summing over a negative variable.  However, the summing
itself still assumed that the variables were all non-negative.
This patch fixes this assumption by counting over v <= t <= -1
instead of over 1 <= t <= v for negative v's.

This patch also moves the conversion to floors and the shifting
of the arguments of floor into evalue_sum.
This shifting is, however, moved out of the conversion.
It may be more efficient to do the shifting while doing the conversion,
but the evalue may have been converted to floors already and
we still need to make sure the floor arguments are non-negative.
Since shifting is remove from frac2floor,
evalue_frac2floor2 and evalue_frac2floor_in_domain3 are now
redundant, but are left in because they appeared in a released version.
barvinok.cc
barvinok_ehrhart.cc
evalue.c
evalue_convert.cc
lexmin.cc
tests/evalue/devos [new file with mode: 0644]