From 14adc6a1d769e22958496d570b7f25b68cc86969 Mon Sep 17 00:00:00 2001 From: benj Date: Fri, 16 Jun 2017 01:20:02 -0700 Subject: add unity testing fmwk and simple hash fn demonstration --- src/algo/hash.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/algo/hash.c (limited to 'src/algo/hash.c') diff --git a/src/algo/hash.c b/src/algo/hash.c new file mode 100644 index 0000000..c8ba66d --- /dev/null +++ b/src/algo/hash.c @@ -0,0 +1,22 @@ +#include "hash.h" +#include + +uint64_t xor64_hash(uint64_t const *const bytes, size_t size) { + uint64_t result = 0; + + while (size != 0) { + result ^= bytes[size - 1]; + size--; + } + + return result; +} + +uint64_t djb2_hash(char const *const bytes, size_t size) { + uint64_t hash = 5381; + for (size_t i = 0; i < size; i++) { + hash = ((hash << 5) + hash) + bytes[i]; + } + + return hash; +} -- cgit v1.2.3