------- Comment #3 from jkherciueh at gmx dot net  2007-10-19 10:13 -------
> Actually, the problem happens only for some specific values of the range, like
> eng.max() / 5.5, dividing by 2 or 10 is ok. Indeed, seems a binary arithmetic
> problem.

I conjecture that the problem happens if and only if the range size does not
divide evenly into eng.max(). In fact, the fractional part determines which
buckets get hit more often. If you do 4.3 instead of 5.5, the first 3 out of 10
or the first 6 ot out 20 buckets get the load. If this conjecture is correct,
it would be more accurate to say that the algorithm performs as promised only
for a small set of range sizes (the divisors of eng.max()) and is biased for
all other values.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33815

Reply via email to