Compile time hash function