GNU bug report logs -
#50093
djb2 correction
Previous Next
Reported by: Jim Meyering <jim <at> meyering.net>
Date: Tue, 17 Aug 2021 10:33:02 UTC
Severity: normal
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On Tue, Aug 17, 2021 at 11:04 PM Paul Eggert <eggert <at> cs.ucla.edu> wrote:
> On 8/17/21 3:32 AM, Jim Meyering wrote:
> > - size_t h = 0;
> > + size_t h = 5381;
>
> I expect DJB chose that number because of the primeth recurrence
> sequence <https://oeis.org/A007097>:
>
> 2 is 1st prime.
> 3 is 2nd prime.
> 5 is 3rd prime.
> 11 is 5th prime.
> 31 is 11th prime.
> 127 is 31st prime.
> 709 is 127th prime.
> 5381 is 709th prime.
> 52711 is 5381st prime.
> ...
>
> Although 5381 is the largest number in this sequence that can fit into
> 'int' in a portable C program, and that's probably why DJB chose 5381,
> we're not limited to such small values here.
>
> How about the attached patch instead?
I prefer that, indeed. Thanks.
This bug report was last modified 3 years and 281 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.