#pragma once
#include <cuda_runtime.h>

constexpr uint32_t seed = 0X12fb73ac;

__device__ void MurmurHash3_x86_32 ( const void * key, int len,
                                     uint32_t seed, void * out );
template<typename KeyType>
__device__ size_t getHash(const KeyType obj){
    size_t hash;
    MurmurHash3_x86_32(reinterpret_cast<const void*>(&obj),sizeof(KeyType),seed,reinterpret_cast<void*>(&hash));
    return hash;
}
