forked from KolibriOS/kolibrios
a77ff41f5a
git-svn-id: svn://kolibrios.org@7916 a494cfbc-eb01-0410-851d-a64ba20cac60
28 lines
490 B
C
Executable File
28 lines
490 B
C
Executable File
/* hash function; Author PaulCodeman */
|
|
|
|
|
|
/*
|
|
String.prototype.hashCode = function() {
|
|
var hash = 0, i, chr;
|
|
if (this.length === 0) return hash;
|
|
for (i = 0; i < this.length; i++) {
|
|
chr = this.charCodeAt(i);
|
|
hash = ((hash << 5) - hash) + chr;
|
|
hash |= 0; // Convert to 32bit integer
|
|
}
|
|
return hash;
|
|
};
|
|
*/
|
|
|
|
inline dword hashCode(dword data, length)
|
|
{
|
|
dword hash = 0;
|
|
WHILE (length)
|
|
{
|
|
hash = hash << 5 - hash + DSBYTE[data];
|
|
data++;
|
|
length--;
|
|
}
|
|
RETURN hash;
|
|
}
|