external/smhasher.git
7 months agoPatch City.h to fix compile errors in Chromium (see issue 27) master
aappleby@google.com [Tue, 22 Apr 2014 21:40:50 +0000 (21:40 +0000)]
Patch City.h to fix compile errors in Chromium (see issue 27)

git-svn-id: http://smhasher.googlecode.com/svn/trunk@152 77a7d1d3-4c08-bdc2-d393-d5859734b01a

10 months agoMerge patch to fix build under VS2010
aappleby@google.com [Mon, 30 Dec 2013 21:23:01 +0000 (21:23 +0000)]
Merge patch to fix build under VS2010

git-svn-id: http://smhasher.googlecode.com/svn/trunk@151 77a7d1d3-4c08-bdc2-d393-d5859734b01a

18 months agoMerge patch from benswick@ to make Murmur3 compile as plain C code.
aappleby@google.com [Fri, 10 May 2013 19:30:25 +0000 (19:30 +0000)]
Merge patch from benswick@ to make Murmur3 compile as plain C code.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@150 77a7d1d3-4c08-bdc2-d393-d5859734b01a

18 months agoAdd required 'inline' keyword to FORCE_INLINE macros.
tanjent@gmail.com [Fri, 10 May 2013 18:34:06 +0000 (18:34 +0000)]
Add required 'inline' keyword to FORCE_INLINE macros.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@149 77a7d1d3-4c08-bdc2-d393-d5859734b01a

19 months agoCity.cpp/h was using the _mm_crc32_u64 intrinsic, which is only supported on x64...
tanjent@gmail.com [Fri, 19 Apr 2013 19:57:16 +0000 (19:57 +0000)]
City.cpp/h was using the _mm_crc32_u64 intrinsic, which is only supported on x64 platforms - see https://bugs.gentoo.org/show_bug.cgi?id=459126 for details.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@148 77a7d1d3-4c08-bdc2-d393-d5859734b01a

2 years agoMinor fixes & tweaks.
tanjent@gmail.com [Fri, 11 May 2012 06:19:58 +0000 (06:19 +0000)]
Minor fixes & tweaks.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@147 77a7d1d3-4c08-bdc2-d393-d5859734b01a

2 years agoMerge in PMurHash by Shane Day, a MurmurHash3_x86_32 implementation that should work...
tanjent@gmail.com [Fri, 11 May 2012 04:59:07 +0000 (04:59 +0000)]
Merge in PMurHash by Shane Day, a MurmurHash3_x86_32 implementation that should work on virtually all platforms regardless of endian-ness or alignment issues.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@146 77a7d1d3-4c08-bdc2-d393-d5859734b01a

2 years agoAdd #include "Platform.h" to fix Windows build git-svn
tanjent@gmail.com [Thu, 1 Mar 2012 06:06:01 +0000 (06:06 +0000)]
Add #include "Platform.h" to fix Windows build
remove CXX_FLAGS, which make Visual Studio complain
Widen sanity test out of paranoia.
Fix typo in g_hashes reference to SpookyHash
Remove Visual Studio-specific .sln & .vcproj files

git-svn-id: http://smhasher.googlecode.com/svn/trunk@145 77a7d1d3-4c08-bdc2-d393-d5859734b01a

2 years agoMerge branch chandlerc_dev
tanjent@gmail.com [Thu, 1 Mar 2012 03:38:55 +0000 (03:38 +0000)]
Merge branch chandlerc_dev

git-svn-id: http://smhasher.googlecode.com/svn/trunk@144 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoFix typo in rotation constant for Murmur3_x86_32's tail, update verification value.
tanjent@gmail.com [Fri, 20 May 2011 23:00:53 +0000 (23:00 +0000)]
Fix typo in rotation constant for Murmur3_x86_32's tail, update verification value.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@136 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agomore size_t warnings
tanjent@gmail.com [Wed, 13 Apr 2011 23:36:49 +0000 (23:36 +0000)]
more size_t warnings

git-svn-id: http://smhasher.googlecode.com/svn/trunk@135 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoand fix corresponding build breakages under Windows
tanjent@gmail.com [Wed, 13 Apr 2011 23:29:37 +0000 (23:29 +0000)]
and fix corresponding build breakages under Windows

git-svn-id: http://smhasher.googlecode.com/svn/trunk@134 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoEnable all gcc warnings except strict aliasing, fix build issues
aappleby@google.com [Wed, 13 Apr 2011 23:23:14 +0000 (23:23 +0000)]
Enable all gcc warnings except strict aliasing, fix build issues

git-svn-id: http://smhasher.googlecode.com/svn/trunk@133 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd Google's open-source CityHash
tanjent@gmail.com [Tue, 12 Apr 2011 15:36:18 +0000 (15:36 +0000)]
Add Google's open-source CityHash
Fix build breakage on Cygwin

git-svn-id: http://smhasher.googlecode.com/svn/trunk@132 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoMake verification failure print the hash names
tanjent@gmail.com [Mon, 11 Apr 2011 20:45:44 +0000 (20:45 +0000)]
Make verification failure print the hash names
Fix typo in murmur3f (rotl values didn't match)

git-svn-id: http://smhasher.googlecode.com/svn/trunk@131 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoFix typos
aappleby@google.com [Fri, 8 Apr 2011 21:13:25 +0000 (21:13 +0000)]
Fix typos

git-svn-id: http://smhasher.googlecode.com/svn/trunk@130 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoRemove dead files, make Murmur1/2/3 all have explicit public domain licensing & no...
aappleby@google.com [Fri, 8 Apr 2011 21:07:48 +0000 (21:07 +0000)]
Remove dead files, make Murmur1/2/3 all have explicit public domain licensing & no external dependencies

git-svn-id: http://smhasher.googlecode.com/svn/trunk@129 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoBuild fixes for clang, etc
aappleby@google.com [Fri, 8 Apr 2011 20:49:43 +0000 (20:49 +0000)]
Build fixes for clang, etc

git-svn-id: http://smhasher.googlecode.com/svn/trunk@128 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agogcc complains about multiply defined symbols, move rotl macros back to source file
aappleby@google.com [Fri, 8 Apr 2011 19:46:54 +0000 (19:46 +0000)]
gcc complains about multiply defined symbols, move rotl macros back to source file

git-svn-id: http://smhasher.googlecode.com/svn/trunk@127 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoRemove platform.h dependency from MurmurHash3.h, move platform #ifdefs to header
tanjent@gmail.com [Fri, 8 Apr 2011 19:39:16 +0000 (19:39 +0000)]
Remove platform.h dependency from MurmurHash3.h, move platform #ifdefs to header

git-svn-id: http://smhasher.googlecode.com/svn/trunk@126 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agomake murmurhash3 compile standalone on Visual Studio
tanjent@gmail.com [Tue, 5 Apr 2011 00:18:44 +0000 (00:18 +0000)]
make murmurhash3 compile standalone on Visual Studio
make speedtest allocate 256-byte aligned blocks

git-svn-id: http://smhasher.googlecode.com/svn/trunk@125 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoMake MurmurHash3.cpp compile standalone on GCC
aappleby@google.com [Tue, 5 Apr 2011 00:15:28 +0000 (00:15 +0000)]
Make MurmurHash3.cpp compile standalone on GCC

git-svn-id: http://smhasher.googlecode.com/svn/trunk@124 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd CPU affinity to gcc build
aappleby@google.com [Mon, 4 Apr 2011 23:38:12 +0000 (23:38 +0000)]
Add CPU affinity to gcc build

git-svn-id: http://smhasher.googlecode.com/svn/trunk@123 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agofix cpu affinity mask
tanjent@gmail.com [Mon, 4 Apr 2011 23:29:25 +0000 (23:29 +0000)]
fix cpu affinity mask

git-svn-id: http://smhasher.googlecode.com/svn/trunk@122 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoand of course gcc complains about missing "typename" specifier and missing typecasts
aappleby@google.com [Mon, 4 Apr 2011 23:07:18 +0000 (23:07 +0000)]
and of course gcc complains about missing "typename" specifier and missing typecasts

git-svn-id: http://smhasher.googlecode.com/svn/trunk@121 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agosome test code for collision reporting
tanjent@gmail.com [Mon, 4 Apr 2011 23:05:26 +0000 (23:05 +0000)]
some test code for collision reporting
cleanup murmur3, fix len-collision issue
make main thread high priority on windows
fix missing typecast in SpeedTest.cpp, increase bulk speed test reps
remove reference to old file

git-svn-id: http://smhasher.googlecode.com/svn/trunk@120 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd improved timing code that attempts to filter out spurious timing results
aappleby@google.com [Mon, 4 Apr 2011 22:42:08 +0000 (22:42 +0000)]
Add improved timing code that attempts to filter out spurious timing results

git-svn-id: http://smhasher.googlecode.com/svn/trunk@119 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd #include <stdio.h> to Types.cpp
aappleby@google.com [Mon, 4 Apr 2011 19:18:44 +0000 (19:18 +0000)]
Add #include <stdio.h> to Types.cpp

git-svn-id: http://smhasher.googlecode.com/svn/trunk@118 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoFinal final final Murmur3, all variants. I am tired of working on it. :)
tanjent@gmail.com [Sun, 3 Apr 2011 06:30:51 +0000 (06:30 +0000)]
Final final final Murmur3, all variants. I am tired of working on it. :)

Unified, simplified, optimized implementation that works well on all platforms and is easy to extend to larger/smaller hash sizes and streaming implementations if needed.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@107 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agofaster bmix64, 7.5 gigs/sec, passes all tests
tanjent@gmail.com [Sat, 2 Apr 2011 00:50:27 +0000 (00:50 +0000)]
faster bmix64, 7.5 gigs/sec, passes all tests

make speed test do more reps

git-svn-id: http://smhasher.googlecode.com/svn/trunk@106 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoFix self-test values
tanjent@gmail.com [Fri, 1 Apr 2011 21:41:17 +0000 (21:41 +0000)]
Fix self-test values
Remove reference to experiments.cpp

git-svn-id: http://smhasher.googlecode.com/svn/trunk@105 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agosimpler block mix for murmur3c
tanjent@gmail.com [Fri, 1 Apr 2011 21:34:37 +0000 (21:34 +0000)]
simpler block mix for murmur3c
add mix-constant-generator code
tweak constants for 3c and 3f

git-svn-id: http://smhasher.googlecode.com/svn/trunk@104 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd missing <memory.h> to fix gcc builds
tanjent@gmail.com [Fri, 1 Apr 2011 19:11:35 +0000 (19:11 +0000)]
Add missing <memory.h> to fix gcc builds

git-svn-id: http://smhasher.googlecode.com/svn/trunk@103 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoTweak to Murmur3a (yeah, even though I said it was finalized...)
tanjent@gmail.com [Fri, 1 Apr 2011 08:50:06 +0000 (08:50 +0000)]
Tweak to Murmur3a (yeah, even though I said it was finalized...)
Added key-processing callback experiments, may move all keyset tests to use it

git-svn-id: http://smhasher.googlecode.com/svn/trunk@102 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd TwoBytes test (not on by default)
tanjent@gmail.com [Thu, 31 Mar 2011 02:41:29 +0000 (02:41 +0000)]
Add TwoBytes test (not on by default)
Remove hash list duplication from collision test so we don't use so much RAM

git-svn-id: http://smhasher.googlecode.com/svn/trunk@101 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd faster BICTest variants
tanjent@gmail.com [Mon, 28 Mar 2011 18:19:31 +0000 (18:19 +0000)]
Add faster BICTest variants
Add simpler differential distribution test
Add Crap8 hash for testing
Include seed value in verification test
Test Murmur3_x86_32 by default

git-svn-id: http://smhasher.googlecode.com/svn/trunk@100 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoverification code work
aappleby@google.com [Mon, 21 Mar 2011 20:55:06 +0000 (20:55 +0000)]
verification code work

git-svn-id: http://smhasher.googlecode.com/svn/trunk@96 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoStart work on verification codes
tanjent@gmail.com [Mon, 21 Mar 2011 19:33:01 +0000 (19:33 +0000)]
Start work on verification codes

git-svn-id: http://smhasher.googlecode.com/svn/trunk@95 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoRemove stub file
tanjent@gmail.com [Sun, 20 Mar 2011 20:27:33 +0000 (20:27 +0000)]
Remove stub file

git-svn-id: http://smhasher.googlecode.com/svn/trunk@94 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAnd add stdio.h so SuperFastHash has a reference to NULL
tanjent@gmail.com [Sun, 20 Mar 2011 04:29:19 +0000 (04:29 +0000)]
And add stdio.h so SuperFastHash has a reference to NULL

git-svn-id: http://smhasher.googlecode.com/svn/trunk@93 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoRemove leftover references to pstdint.h that break Ubuntu build
tanjent@gmail.com [Sun, 20 Mar 2011 04:25:41 +0000 (04:25 +0000)]
Remove leftover references to pstdint.h that break Ubuntu build

git-svn-id: http://smhasher.googlecode.com/svn/trunk@92 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoFix rdtsc errors from core hopping causing bad timing results
tanjent@gmail.com [Sun, 20 Mar 2011 03:18:20 +0000 (03:18 +0000)]
Fix rdtsc errors from core hopping causing bad timing results

git-svn-id: http://smhasher.googlecode.com/svn/trunk@91 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd startup self-test
tanjent@gmail.com [Sat, 19 Mar 2011 21:28:26 +0000 (21:28 +0000)]
Add startup self-test
Remove randhash (will fail self-test)
Remove QuickBrownFox (replaced by VerificationTest)
De-tabulate all files

git-svn-id: http://smhasher.googlecode.com/svn/trunk@90 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoFix x86_64 gcc 4.4.1 build errors:
McKay.Davis@gmail.com [Sat, 19 Mar 2011 17:52:18 +0000 (17:52 +0000)]
Fix x86_64 gcc 4.4.1 build errors:

/smhasher/MurmurHash1.cpp: In function ‘unsigned int MurmurHash1Aligned(const void*, int, unsigned int)’:
/smhasher/MurmurHash1.cpp:82: error: cast from ‘const unsigned char*’ to ‘int’ loses precision

/smhasher/MurmurHash2.cpp: In function ‘uint32_t MurmurHashAligned2(const void*, int, uint32_t)’:
/smhasher/MurmurHash2.cpp:382: error: cast from ‘const unsigned char*’ to ‘int’ loses precision

git-svn-id: http://smhasher.googlecode.com/svn/trunk@89 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoInitial commit of CMake file. Builds SMHasherSupport lib and SMHasher executable.
McKay.Davis@gmail.com [Sat, 19 Mar 2011 17:48:10 +0000 (17:48 +0000)]
Initial commit of CMake file.  Builds SMHasherSupport lib and SMHasher executable.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@88 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoCross-platform compliation fixes. Everything should compile under GCC now, but no...
tanjent@gmail.com [Sat, 19 Mar 2011 08:53:53 +0000 (08:53 +0000)]
Cross-platform compliation fixes. Everything should compile under GCC now, but no guarantees that it runs correctly yet...

Thanks to McKay Davis for help with the cross-platform testing.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@87 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoAdd beginnings of bitslice test
tanjent@gmail.com [Mon, 14 Mar 2011 09:11:18 +0000 (09:11 +0000)]
Add beginnings of bitslice test
Add initial cross-platform support header
De-tabulate MurmurHash3, and make it compile under GCC w/ Platform.h

git-svn-id: http://smhasher.googlecode.com/svn/trunk@86 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoRemove a few bits of commented-out code.
tanjent@gmail.com [Mon, 28 Feb 2011 06:40:16 +0000 (06:40 +0000)]
Remove a few bits of commented-out code.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@78 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agotest murmur3a by default
tanjent@gmail.com [Mon, 28 Feb 2011 06:06:41 +0000 (06:06 +0000)]
test murmur3a by default

git-svn-id: http://smhasher.googlecode.com/svn/trunk@77 77a7d1d3-4c08-bdc2-d393-d5859734b01a

3 years agoTweak Murmur3, new more rigorous sanity test, combinatorial block test
tanjent@gmail.com [Mon, 28 Feb 2011 06:03:12 +0000 (06:03 +0000)]
Tweak Murmur3, new more rigorous sanity test, combinatorial block test

git-svn-id: http://smhasher.googlecode.com/svn/trunk@76 77a7d1d3-4c08-bdc2-d393-d5859734b01a

4 years agoremove swap() and use std::swap instead, make alignment test a bit more robust
tanjent@gmail.com [Wed, 17 Nov 2010 04:07:51 +0000 (04:07 +0000)]
remove swap() and use std::swap instead, make alignment test a bit more robust

git-svn-id: http://smhasher.googlecode.com/svn/trunk@69 77a7d1d3-4c08-bdc2-d393-d5859734b01a

4 years agoMurmurHash3_x86_128 was missing a rotate instruction
tanjent@gmail.com [Tue, 9 Nov 2010 20:29:19 +0000 (20:29 +0000)]
MurmurHash3_x86_128 was missing a rotate instruction

git-svn-id: http://smhasher.googlecode.com/svn/trunk@58 77a7d1d3-4c08-bdc2-d393-d5859734b01a

4 years agoMurmurHash3 is released to beta
tanjent@gmail.com [Fri, 5 Nov 2010 01:20:58 +0000 (01:20 +0000)]
MurmurHash3 is released to beta

(potentially some constant-tweaking yet to be done, but it is quite usable and all variants pass all tests)

git-svn-id: http://smhasher.googlecode.com/svn/trunk@5 77a7d1d3-4c08-bdc2-d393-d5859734b01a

4 years agoRemove code that's not part of this library
tanjent@gmail.com [Tue, 2 Nov 2010 01:00:16 +0000 (01:00 +0000)]
Remove code that's not part of this library

git-svn-id: http://smhasher.googlecode.com/svn/trunk@4 77a7d1d3-4c08-bdc2-d393-d5859734b01a

4 years agoAdd project files
tanjent@gmail.com [Tue, 2 Nov 2010 00:53:07 +0000 (00:53 +0000)]
Add project files

git-svn-id: http://smhasher.googlecode.com/svn/trunk@3 77a7d1d3-4c08-bdc2-d393-d5859734b01a

4 years agoInitial source checkin
tanjent@gmail.com [Tue, 2 Nov 2010 00:50:04 +0000 (00:50 +0000)]
Initial source checkin

git-svn-id: http://smhasher.googlecode.com/svn/trunk@2 77a7d1d3-4c08-bdc2-d393-d5859734b01a

4 years agoInitial directory structure.
(no author) [Tue, 2 Nov 2010 00:40:11 +0000 (00:40 +0000)]
Initial directory structure.

git-svn-id: http://smhasher.googlecode.com/svn/trunk@1 77a7d1d3-4c08-bdc2-d393-d5859734b01a