Skip to content
Snippets Groups Projects
hash.c 447 B
Newer Older
/*
 * SPDX-FileCopyrightText: 2022 Bruce Cowan <bruce@bcowan.me.uk>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include "hash.h"

#include <string.h>

#include <xxhash.h>

unsigned
str_hash (const void *data)
{
  size_t length = strlen ((const char *) data);

  XXH64_hash_t hash = XXH3_64bits (data, length);
  return (unsigned) (hash ^ (hash >> 32));
}

bool
str_equal (const void *a,
           const void *b)
{
  return !strcmp (a, b);
}