mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-31 11:57:15 +02:00
Remove hard-coded length of prime numbers.
[SVN r42101]
This commit is contained in:
@@ -82,17 +82,21 @@ namespace boost {
|
|||||||
|
|
||||||
// no throw
|
// no throw
|
||||||
inline std::size_t next_prime(std::size_t n) {
|
inline std::size_t next_prime(std::size_t n) {
|
||||||
|
std::size_t const* const prime_list_end = prime_list +
|
||||||
|
sizeof(prime_list) / sizeof(*prime_list);
|
||||||
std::size_t const* bound =
|
std::size_t const* bound =
|
||||||
std::lower_bound(prime_list,prime_list + 28, n);
|
std::lower_bound(prime_list,prime_list_end, n);
|
||||||
if(bound == prime_list + 28)
|
if(bound == prime_list_end)
|
||||||
bound--;
|
bound--;
|
||||||
return *bound;
|
return *bound;
|
||||||
}
|
}
|
||||||
|
|
||||||
// no throw
|
// no throw
|
||||||
inline std::size_t prev_prime(std::size_t n) {
|
inline std::size_t prev_prime(std::size_t n) {
|
||||||
|
std::size_t const* const prime_list_end = prime_list +
|
||||||
|
sizeof(prime_list) / sizeof(*prime_list);
|
||||||
std::size_t const* bound =
|
std::size_t const* bound =
|
||||||
std::upper_bound(prime_list,prime_list + 28, n);
|
std::upper_bound(prime_list,prime_list_end, n);
|
||||||
if(bound != prime_list)
|
if(bound != prime_list)
|
||||||
bound--;
|
bound--;
|
||||||
return *bound;
|
return *bound;
|
||||||
|
Reference in New Issue
Block a user