From 98623fbb704d77a633e9c6c317dcacebde8df231 Mon Sep 17 00:00:00 2001 From: Richard Lander Date: Mon, 19 Oct 2015 21:08:32 -0700 Subject: [PATCH] Add attribution for lookup3.c Commit migrated from https://github.com/dotnet/coreclr/commit/1349986987bdd23411bfaebb9f68d63eca6a8b39 --- src/coreclr/src/inc/utilcode.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/coreclr/src/inc/utilcode.h b/src/coreclr/src/inc/utilcode.h index e832441..981f900 100644 --- a/src/coreclr/src/inc/utilcode.h +++ b/src/coreclr/src/inc/utilcode.h @@ -3208,8 +3208,16 @@ inline DWORD HashThreeToOne(DWORD a, DWORD b, DWORD c) { LIMITED_METHOD_DAC_CONTRACT; - // Current implementation taken from lookup3.c, by Bob Jenkins, May 2006 - + /* + lookup3.c, by Bob Jenkins, May 2006, Public Domain. + + These are functions for producing 32-bit hashes for hash table lookup. + hashword(), hashlittle(), hashlittle2(), hashbig(), mix(), and final() + are externally useful functions. Routines to test the hash are included + if SELF_TEST is defined. You can use this free for any purpose. It's in + the public domain. It has no warranty. + */ + #define rot32(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) c ^= b; c -= rot32(b,14); a ^= c; a -= rot32(c,11); -- 2.7.4