evalue.c: evalue_split_periods: make sure selected fractional is removed
commit72668f2365f44b960e504f4fe2d026a20fe11cc2
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 12 Jun 2007 19:30:34 +0000 (12 21:30 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 12 Jun 2007 19:45:23 +0000 (12 21:45 +0200)
treeda90e968074f4a6e2e281d4038128e9a2aa5fd09
parent33c78d477ffa9818c8a5d2f445cbe13e49215cfd
evalue.c: evalue_split_periods: make sure selected fractional is removed

After selecting a fractional to split, we would simply call
evalue_range_reduction_in_domain to remove the fractional
in each subdomain.
However, evalue_range_reduction_in_domain tries to be smart
and may transform the argument of the fractional before checking
if the offset is constant over the domain.  It could therefore
miss the opportunity for dropping the fract, resulting in an infinite
loop in evalue_split_periods.
(Reported by Harald Devos.)

We could simply remove the heuristic in evalue_range_reduction_in_domain,
since it is not guaranteed to work well, but this patch instead makes
sure that the selected fractional is removed by keeping track of it
explicitly.
evalue.c