diff options
Diffstat (limited to 'attic')
-rw-r--r-- | attic/hash.hpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/attic/hash.hpp b/attic/hash.hpp new file mode 100644 index 00000000..75eea7a9 --- /dev/null +++ b/attic/hash.hpp @@ -0,0 +1,25 @@ +#pragma once +#include <cstddef> +#include <cstdint> + +namespace Magnum::Examples { + +template<unsigned N = sizeof(std::size_t)*8> struct hash; + +template<> +struct hash<32> final { + [[maybe_unused]] + constexpr std::uint32_t operator()(std::uint32_t x) const noexcept { + return (std::uint32_t)x*0x9e3779b1u; + } +}; + +template<> +struct hash<64> final { + [[maybe_unused]] + constexpr std::uint64_t operator()(std::uint64_t x) const noexcept { + return x*0x9e3779b97f4a7c15ull; + } +}; + +} // namespace Magnum::Examples |