[murmurhash] Re-enable ubsan for murmurhash.

Bug: 46777
Change-Id: I8a20774a27f9c63e3afc1aa53ee56faf25d3b90a
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/murmurhash.c/+/459034
Reviewed-by: Leonard Chan <leonardchan@google.com>
1 file changed
tree: 5764339477f86d78720f038cf53c67b71c9a99bc
  1. man/
  2. .gitignore
  3. BUILD.gn
  4. LICENSE
  5. main.c
  6. Makefile
  7. murmurhash.c
  8. murmurhash.h
  9. package.json
  10. README.fuchsia
  11. README.md
  12. test.c
README.md

murmurhash

MurmurHash3 general hash bashed lookup function implementation

about

MurmurHash is a non-cryptographic hash function suitable for general hash-based lookup. This implementation implements version 3 of MurmurHash.

install

clib:

$ clib install jwerle/murmurhash.c

source:

$ git clone git@github.com:jwerle/murmurhash.c.git
$ cd murmurhash.c
$ make
$ make install

example

#include <stdlib.h>
#include <string.h>
#include <murmurhash.h>

int
main (void) {
  uint32_t seed = 0;
  const char *key = "kinkajou";
  uint32_t hash = murmurhash(key, (uint32_t) strlen(key), seed); // 0xb6d99cf8
  return 0;
}

A command line executable is also available:

$ echo -n kinkajou | murmur
3067714808
$ echo -n panda | murmur --seed=10
1406483717

api

uint32_t
murmurhash (const char *key, uint32_t len, uint32_t seed);

Returns a murmur hash of key based on seed using the MurmurHash3 algorithm.

license

MIT