/* Copyright (c) 2013 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Author: Leonardo de Moura */ #pragma once #include "runtime/debug.h" #include "runtime/int64.h" namespace lean { uint64 hash_str(size_t len, unsigned char const * str, uint64 init_value); inline uint64 hash(uint64 h, uint64 k) { uint64 m = 0xc6a4a7935bd1e995; uint64 r = 47; k *= m; k ^= k >> r; k ^= m; h ^= k; h *= m; return h; } }