Mercurial > dovecot > original-hg > dovecot-1.2
changeset 44:e399e33d033d HEAD
Changed behaviour of primes_closest() to return given number back if it's a
prime itself.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 27 Aug 2002 05:28:16 +0300 |
parents | 526284657da7 |
children | d8ff9a34ed03 |
files | src/lib/hash.c src/lib/primes.c src/lib/primes.h |
diffstat | 3 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/hash.c Tue Aug 27 05:27:05 2002 +0300 +++ b/src/lib/hash.c Tue Aug 27 05:28:16 2002 +0300 @@ -314,7 +314,7 @@ (nodes_per_list < 3.0 || table->size >= HASH_TABLE_MAX_SIZE)) return FALSE; - new_size = CLAMP(primes_closest(table->nodes_count), + new_size = CLAMP(primes_closest(table->nodes_count+1), HASH_TABLE_MIN_SIZE, HASH_TABLE_MAX_SIZE);
--- a/src/lib/primes.c Tue Aug 27 05:27:05 2002 +0300 +++ b/src/lib/primes.c Tue Aug 27 05:28:16 2002 +0300 @@ -72,7 +72,7 @@ unsigned int i; for (i = 0; i < primes_count; i++) - if (primes[i] > num) + if (primes[i] >= num) return primes[i]; return primes[primes_count - 1];
--- a/src/lib/primes.h Tue Aug 27 05:27:05 2002 +0300 +++ b/src/lib/primes.h Tue Aug 27 05:28:16 2002 +0300 @@ -1,6 +1,8 @@ #ifndef __PRIMES_H #define __PRIMES_H +/* Returns a prime close to specified number, or the number itself if it's + a prime. Note that the returned value may be smaller than requested! */ unsigned int primes_closest(unsigned int num); #endif