Skip to content

Commit

Permalink
Pass all
Browse files Browse the repository at this point in the history
  • Loading branch information
zhenkas committed Jul 31, 2024
1 parent f8f3989 commit 544f4f1
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 12 deletions.
21 changes: 13 additions & 8 deletions MurmurHash1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,29 +21,34 @@ static inline uint32_t _wyr4(const uint32_t *p, uint32_t l) { uint32_t v = 0; me
uint32_t
MurmurHash11 (const void *key, int len, MURMUR11_CTX *seed)
{
const uint64_t c1 = 0x9AD11405;
const uint64_t c2 = 0x94688D47;
const uint64_t c3 = 0xE0B2F8B1;
const uint64_t c1 = 0xA263ACD3;
const uint64_t c2 = 0xCD5233A5;

const uint32_t *data = (const uint32_t *)key;
while (len >= 4)
int len2 = len;
seed->Seed.val = ((c1 ^ seed->Seed.lo) * (c2 ^ len2 ^ seed->Seed.hi));
while (len >= 8)
{

seed->Seed.val = ((c1 ^ seed->Seed.lo) * (c2 ^ data[0] ^ seed->Seed.hi));
seed->Seed.val = ((c1 ^ data[0]^ seed->Seed.lo) * (c2 ^ data[1] ^ seed->Seed.hi));

data += 2;
len -= 8;
}
if (len >= 4)
{
seed->Seed.val = ((c1 ^ seed->Seed.lo) * (c2 ^ data[0]^ seed->Seed.hi));
data ++;
len -= 4;
}

//----------
if (len != 0)
{
uint32_t k = _wyr4(data, len);
//----------
seed->Seed.val = ((c1 ^ seed->Seed.lo) * (c2 ^ k ^ seed->Seed.hi));
}

seed->Seed.val = ((c1 ^ seed->Seed.lo) * (c2 ^ len ^ seed->Seed.hi)) ^ c3;
seed->Seed.val = ((c1 ^ seed->Seed.lo) * (c2 ^ len2 ^ seed->Seed.hi));

return seed->Seed.hi ^ seed->Seed.lo;
}
Expand Down
2 changes: 1 addition & 1 deletion MurmurHash1.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ struct MURMUR11_CTX
};
uint64_t val;
} Seed;
MURMUR11_CTX (uint32_t seed) : Seed{ seed } {}
MURMUR11_CTX (uint32_t seed) : Seed{ seed, seed } {}
};

uint32_t MurmurHash1 ( const void * key, int len, uint32_t seed );
Expand Down
4 changes: 2 additions & 2 deletions SLN/SMHasher.vcxproj.user
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerCommandArguments>--test=Avalanche,MomentChi2 Murmur11</LocalDebuggerCommandArguments>
<LocalDebuggerCommandArguments>--test=PerlinNoise,MomentChi2,Avalanche,Permutations Murmur11</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerCommandArguments>--test=MomentChi2 Murmur11</LocalDebuggerCommandArguments>
<LocalDebuggerCommandArguments>--test=PerlinNoise Murmur11</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>
2 changes: 1 addition & 1 deletion main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ HashInfo g_hashes[] =
{ Crap8_test, 32, 0x743E97A1, "Crap8", "Crap8", POOR, {/*0x83d2e73b, 0x97e1cc59*/} },
{ xxHash32_test, 32, 0xBA88B743, "xxHash32", "xxHash, 32-bit for x86", POOR, {} },
{ MurmurHash1_test, 32, 0x9EA7D056, "Murmur1", "MurmurHash1", POOR, {0xc6a4a793} /* !! */ },
{ MurmurHash11_test, 32, 0xC93D726B, "Murmur11", "MurmurHash11", POOR, {0xc6a4a793} /* !! */ },
{ MurmurHash11_test, 32, 0x51D22835, "Murmur11", "MurmurHash11", POOR, {0xc6a4a793} /* !! */ },
{ MurmurHash2_test, 32, 0x27864C1E, "Murmur2", "MurmurHash2 for x86, 32-bit", POOR,
{0x10} /* !! */ },
{ MurmurHash2A_test, 32, 0x7FBD4396, "Murmur2A", "MurmurHash2A for x86, 32-bit", POOR,
Expand Down

0 comments on commit 544f4f1

Please sign in to comment.