#include "hash.h" std::uint64_t hash1(std::string const& s) { // viktad summa std::uint64_t result { }; std::uint64_t multiplier { 1 }; for (char c : s) { result += c * multiplier; multiplier = 2*multiplier; } return result; } std::uint64_t hash2(std::string const& s) { // djb2 std::uint64_t result { 5183 }; for (char c : s) result = 33*result + c; return result; } std::uint64_t hash3(std::string const& s) { // sdbm std::uint64_t result { }; for (char c : s) result = 65599*result + c; return result; }