forked from KolibriOS/kolibrios
add hash function
git-svn-id: svn://kolibrios.org@7916 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
9f5cc70596
commit
a77ff41f5a
27
programs/cmm/lib/hash.h
Executable file
27
programs/cmm/lib/hash.h
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
/* 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;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user