|
|
|
@ -195,10 +195,10 @@ uint32_t initval) /* the previous hash, or an arbitrary value */
|
|
|
|
|
/*------------------------------------------- handle the last 3 uint32_t's */
|
|
|
|
|
switch(length) /* all the case statements fall through */
|
|
|
|
|
{
|
|
|
|
|
case 3 : c+=k[2];
|
|
|
|
|
case 2 : b+=k[1];
|
|
|
|
|
case 3 : c+=k[2]; /* fall through */
|
|
|
|
|
case 2 : b+=k[1]; /* fall through */
|
|
|
|
|
case 1 : a+=k[0];
|
|
|
|
|
final(a,b,c);
|
|
|
|
|
final(a,b,c); /* fall through */
|
|
|
|
|
case 0: /* case 0: nothing left to add */
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -241,10 +241,10 @@ uint32_t *pb) /* IN: more seed OUT: secondary hash value */
|
|
|
|
|
/*------------------------------------------- handle the last 3 uint32_t's */
|
|
|
|
|
switch(length) /* all the case statements fall through */
|
|
|
|
|
{
|
|
|
|
|
case 3 : c+=k[2];
|
|
|
|
|
case 2 : b+=k[1];
|
|
|
|
|
case 3 : c+=k[2]; /* fall through */
|
|
|
|
|
case 2 : b+=k[1]; /* fall through */
|
|
|
|
|
case 1 : a+=k[0];
|
|
|
|
|
final(a,b,c);
|
|
|
|
|
final(a,b,c); /* fall through */
|
|
|
|
|
case 0: /* case 0: nothing left to add */
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -428,17 +428,17 @@ uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
|
|
|
|
|
/*-------------------------------- last block: affect all 32 bits of (c) */
|
|
|
|
|
switch(length) /* all the case statements fall through */
|
|
|
|
|
{
|
|
|
|
|
case 12: c+=((uint32_t)k[11])<<24;
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<16;
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<8;
|
|
|
|
|
case 9 : c+=k[8];
|
|
|
|
|
case 8 : b+=((uint32_t)k[7])<<24;
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<16;
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<8;
|
|
|
|
|
case 5 : b+=k[4];
|
|
|
|
|
case 4 : a+=((uint32_t)k[3])<<24;
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<16;
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<8;
|
|
|
|
|
case 12: c+=((uint32_t)k[11])<<24; /* fall through */
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<16; /* fall through */
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<8; /* fall through */
|
|
|
|
|
case 9 : c+=k[8]; /* fall through */
|
|
|
|
|
case 8 : b+=((uint32_t)k[7])<<24; /* fall through */
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<16; /* fall through */
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<8; /* fall through */
|
|
|
|
|
case 5 : b+=k[4]; /* fall through */
|
|
|
|
|
case 4 : a+=((uint32_t)k[3])<<24; /* fall through */
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<16; /* fall through */
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<8; /* fall through */
|
|
|
|
|
case 1 : a+=k[0];
|
|
|
|
|
break;
|
|
|
|
|
case 0 : return c;
|
|
|
|
@ -602,17 +602,17 @@ uint32_t hashlittle_safe(const void *key, size_t length, uint32_t initval)
|
|
|
|
|
/*-------------------------------- last block: affect all 32 bits of (c) */
|
|
|
|
|
switch(length) /* all the case statements fall through */
|
|
|
|
|
{
|
|
|
|
|
case 12: c+=((uint32_t)k[11])<<24;
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<16;
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<8;
|
|
|
|
|
case 9 : c+=k[8];
|
|
|
|
|
case 8 : b+=((uint32_t)k[7])<<24;
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<16;
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<8;
|
|
|
|
|
case 5 : b+=k[4];
|
|
|
|
|
case 4 : a+=((uint32_t)k[3])<<24;
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<16;
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<8;
|
|
|
|
|
case 12: c+=((uint32_t)k[11])<<24; /* fall through */
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<16; /* fall through */
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<8; /* fall through */
|
|
|
|
|
case 9 : c+=k[8]; /* fall through */
|
|
|
|
|
case 8 : b+=((uint32_t)k[7])<<24; /* fall through */
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<16; /* fall through */
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<8; /* fall through */
|
|
|
|
|
case 5 : b+=k[4]; /* fall through */
|
|
|
|
|
case 4 : a+=((uint32_t)k[3])<<24; /* fall through */
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<16; /* fall through */
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<8; /* fall through */
|
|
|
|
|
case 1 : a+=k[0];
|
|
|
|
|
break;
|
|
|
|
|
case 0 : return c;
|
|
|
|
@ -786,17 +786,17 @@ void hashlittle2(
|
|
|
|
|
/*-------------------------------- last block: affect all 32 bits of (c) */
|
|
|
|
|
switch(length) /* all the case statements fall through */
|
|
|
|
|
{
|
|
|
|
|
case 12: c+=((uint32_t)k[11])<<24;
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<16;
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<8;
|
|
|
|
|
case 9 : c+=k[8];
|
|
|
|
|
case 8 : b+=((uint32_t)k[7])<<24;
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<16;
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<8;
|
|
|
|
|
case 5 : b+=k[4];
|
|
|
|
|
case 4 : a+=((uint32_t)k[3])<<24;
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<16;
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<8;
|
|
|
|
|
case 12: c+=((uint32_t)k[11])<<24; /* fall through */
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<16; /* fall through */
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<8; /* fall through */
|
|
|
|
|
case 9 : c+=k[8]; /* fall through */
|
|
|
|
|
case 8 : b+=((uint32_t)k[7])<<24; /* fall through */
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<16; /* fall through */
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<8; /* fall through */
|
|
|
|
|
case 5 : b+=k[4]; /* fall through */
|
|
|
|
|
case 4 : a+=((uint32_t)k[3])<<24; /* fall through */
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<16; /* fall through */
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<8; /* fall through */
|
|
|
|
|
case 1 : a+=k[0];
|
|
|
|
|
break;
|
|
|
|
|
case 0 : *pc=c; *pb=b; return; /* zero length strings require no mixing */
|
|
|
|
@ -915,17 +915,17 @@ uint32_t hashbig( const void *key, size_t length, uint32_t initval)
|
|
|
|
|
/*-------------------------------- last block: affect all 32 bits of (c) */
|
|
|
|
|
switch(length) /* all the case statements fall through */
|
|
|
|
|
{
|
|
|
|
|
case 12: c+=k[11];
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<8;
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<16;
|
|
|
|
|
case 9 : c+=((uint32_t)k[8])<<24;
|
|
|
|
|
case 8 : b+=k[7];
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<8;
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<16;
|
|
|
|
|
case 5 : b+=((uint32_t)k[4])<<24;
|
|
|
|
|
case 4 : a+=k[3];
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<8;
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<16;
|
|
|
|
|
case 12: c+=k[11]; /* fall through */
|
|
|
|
|
case 11: c+=((uint32_t)k[10])<<8; /* fall through */
|
|
|
|
|
case 10: c+=((uint32_t)k[9])<<16; /* fall through */
|
|
|
|
|
case 9 : c+=((uint32_t)k[8])<<24; /* fall through */
|
|
|
|
|
case 8 : b+=k[7]; /* fall through */
|
|
|
|
|
case 7 : b+=((uint32_t)k[6])<<8; /* fall through */
|
|
|
|
|
case 6 : b+=((uint32_t)k[5])<<16; /* fall through */
|
|
|
|
|
case 5 : b+=((uint32_t)k[4])<<24; /* fall through */
|
|
|
|
|
case 4 : a+=k[3]; /* fall through */
|
|
|
|
|
case 3 : a+=((uint32_t)k[2])<<8; /* fall through */
|
|
|
|
|
case 2 : a+=((uint32_t)k[1])<<16; /* fall through */
|
|
|
|
|
case 1 : a+=((uint32_t)k[0])<<24;
|
|
|
|
|
break;
|
|
|
|
|
case 0 : return c;
|
|
|
|
|