28 lines · 563 B · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0-only */#ifndef HASH_H#define HASH_H static inline unsigned int hash_str(const char *s){	/* fnv32 hash */	unsigned int hash = 2166136261U; 	for (; *s; s++)		hash = (hash ^ *s) * 0x01000193;	return hash;} /* simplified version of functions from include/linux/hash.h */#define GOLDEN_RATIO_32 0x61C88647 static inline unsigned int hash_32(unsigned int val){	return 0x61C88647 * val;} static inline unsigned int hash_ptr(const void *ptr){	return hash_32((unsigned int)(unsigned long)ptr);} #endif /* HASH_H */