Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement ContainerHash: a simple hashing structure for containers #324

Merged
merged 46 commits into from
Jul 21, 2020
Merged
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
32996a7
Added initial implementation for ContainerHash.
rodsan0 Jul 2, 2020
b8da482
Updated hash_utils header.
rodsan0 Jul 2, 2020
56b3053
Included standard types to stop errors in certain platforms.
rodsan0 Jul 2, 2020
eee9133
Changed hash_combine's implementation according to Boost's.
rodsan0 Jul 2, 2020
e8e55fb
Implement basic support for murmur3 hash.
rodsan0 Jul 6, 2020
78f4320
Fixed murmur3 hash implementation.
rodsan0 Jul 6, 2020
f75af09
Moved internal hash functions into internal namespace.
rodsan0 Jul 6, 2020
7796005
Implemented review changes.
rodsan0 Jul 6, 2020
ed897d4
Add span submodule.
rodsan0 Jul 6, 2020
407df7a
Added tests for murmur hash
rodsan0 Jul 8, 2020
1476a85
Implemented GetBytes method that returns a span of const field_t
rodsan0 Jul 8, 2020
4d358c9
Add header guards to QueueCache
rodsan0 Jul 8, 2020
10922ee
Implement rest of murmurhash and take in a span instead of a pointer
rodsan0 Jul 8, 2020
111445f
Change implementastion of HashMetric to use murmur hash
rodsan0 Jul 8, 2020
1035355
Changed submodule to use https.
rodsan0 Jul 8, 2020
2dcd214
Made murmur_hash constexpr
rodsan0 Jul 8, 2020
b29d9d1
Made types concurr with known-good implementation.
rodsan0 Jul 9, 2020
8c10f5b
🐛 Fixed bug when hashing 16 bytes or more.
rodsan0 Jul 10, 2020
3173285
🐛 Fixed incorrect behaviour in HashMetric tests.
rodsan0 Jul 10, 2020
414c497
✨ Changed HashMetric to use murmur_hash.
rodsan0 Jul 10, 2020
419ae40
🎨 Murmur_hash tests will now be more clear on failure.
rodsan0 Jul 10, 2020
b825f42
🐛 Made GetBytes actually return a span of bytes. Oops.
rodsan0 Jul 10, 2020
903e4f8
⚡️ Improved std::hash of BitSets to use murmur_hash instead.
rodsan0 Jul 10, 2020
40faa05
✅ Added test for GetBytes
rodsan0 Jul 11, 2020
2be6c12
💡 Added comments in murmur_hash algorithm and tests
rodsan0 Jul 11, 2020
2863503
🎨 Improved readability of murmur_hash's algorithm
rodsan0 Jul 11, 2020
2b31a82
Merge branch 'master' into containerhash
rodsan0 Jul 11, 2020
6ff77cc
Merge branch 'master' into containerhash
rodsan0 Jul 14, 2020
fee5b68
💡 Added and fixed docstrings
rodsan0 Jul 15, 2020
c0ef055
🚚 Move nonstd namespace renaming onto polyfill dir
rodsan0 Jul 15, 2020
102ecde
Merge branch 'containerhash' of github.com:devosoft/Empirical into co…
rodsan0 Jul 15, 2020
194c54a
Merge branch 'master' into containerhash
mmore500 Jul 16, 2020
949a4a0
✅ Added tests for ContainerHash
rodsan0 Jul 20, 2020
b6df5cc
🎨 Fixed whitespace error
rodsan0 Jul 20, 2020
1c7ed5a
⚡️ Use std::accumulate instead of for loop.
rodsan0 Jul 20, 2020
d36cec6
🎨 Indented function calls with two spaces.
rodsan0 Jul 20, 2020
e7bddb8
🎨 Deleted extra parens
rodsan0 Jul 20, 2020
02e80ba
💡 Remove old comment
rodsan0 Jul 20, 2020
a053c8d
💡 Add TODO: consider using murmur_hash in ContainerHash
rodsan0 Jul 20, 2020
5d46bc7
🎨 Made all tabs into two spaces.
rodsan0 Jul 20, 2020
2bbf2a7
⚡️ Make span const
rodsan0 Jul 20, 2020
2ee6613
🎨 Fix whitespace error
rodsan0 Jul 20, 2020
6a0a992
💡 Add note about returning 64-bit int instead of 128
rodsan0 Jul 20, 2020
5ac42ef
💡 Remove needless variable
rodsan0 Jul 20, 2020
3b2eccd
🐛 Include correct header
rodsan0 Jul 21, 2020
208f898
Merge branch 'master' into containerhash
mmore500 Jul 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
💡 Add TODO: consider using murmur_hash in ContainerHash
  • Loading branch information
rodsan0 committed Jul 20, 2020
commit a053c8dd06db066d26ac19c5e5c9be2514bc4278
1 change: 1 addition & 0 deletions source/tools/hash_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ namespace emp {
v.end(),
data,
[&hasher](size_t accumulator, const auto& item){
// TODO: profile and consider using murmur_hash instead
return hash_combine(accumulator, hasher(item));
}
);
Expand Down