Opened 13 years ago

Closed 12 years ago

#3849 closed Bugs (fixed)

intrusive::unordered_set::suggested_lower_bucket_count

Reported by: ef@… Owned by: Ion Gaztañaga
Milestone: Boost 1.45.0 Component: intrusive
Version: Boost 1.41.0 Severity: Problem
Keywords: Cc:

Description

The above static method crashes or doesn't return the correct value.

Code in boost 1.41 is:
static size_type suggested_lower_bucket_count(size_type n)
{

const std::size_t *primes = &detail::prime_list_holder<0>::prime_list[0];
const std::size_t *primes_end = primes + detail::prime_list_holder<0>::prime_list_size;
size_type const* bound = std::upper_bound(primes, primes_end, n);
if(bound != primes_end)

bound--;

return size_type(*bound);

}

I think it should be:
static size_type suggested_lower_bucket_count(size_type n)
{

const std::size_t *primes = &detail::prime_list_holder<0>::prime_list[0];
const std::size_t *primes_end = primes + detail::prime_list_holder<0>::prime_list_size;
size_type const* bound = std::upper_bound(primes, primes_end, n);
if(bound != primes)

bound--;

return size_type(*bound);

}

Thank you,
Etienne

Change History (2)

comment:1 by Etienne Frédéric <ef@…>, 13 years ago

The bug is still there in 1.42. Has somebody at least read this ticket ? Thanks.

comment:2 by Ion Gaztañaga, 12 years ago

Milestone: Boost 1.42.0Boost-1.45.0
Resolution: fixed
Status: newclosed

Fixed for Boost 1.45 in release branch

Note: See TracTickets for help on using tickets.