#include <stdlib.h>
#include <isl_hash_private.h>
#include <isl/ctx.h>
#include "isl_config.h"
uint32_t isl_hash_string(uint32_t hash, const char *s)
{ … }
uint32_t isl_hash_mem(uint32_t hash, const void *p, size_t len)
{ … }
static unsigned int round_up(unsigned int v)
{ … }
int isl_hash_table_init(struct isl_ctx *ctx, struct isl_hash_table *table,
int min_size)
{ … }
static isl_bool no(const void *entry, const void *val)
{ … }
static int grow_table(struct isl_ctx *ctx, struct isl_hash_table *table)
{ … }
struct isl_hash_table *isl_hash_table_alloc(struct isl_ctx *ctx, int min_size)
{ … }
void isl_hash_table_clear(struct isl_hash_table *table)
{ … }
void isl_hash_table_free(struct isl_ctx *ctx, struct isl_hash_table *table)
{ … }
static struct isl_hash_table_entry none = …;
struct isl_hash_table_entry *isl_hash_table_entry_none = …;
struct isl_hash_table_entry *isl_hash_table_find(struct isl_ctx *ctx,
struct isl_hash_table *table,
uint32_t key_hash,
isl_bool (*eq)(const void *entry, const void *val),
const void *val, int reserve)
{ … }
struct isl_hash_table_entry *isl_hash_table_first(struct isl_hash_table *table)
{ … }
isl_stat isl_hash_table_foreach(isl_ctx *ctx, struct isl_hash_table *table,
isl_stat (*fn)(void **entry, void *user), void *user)
{ … }
isl_bool isl_hash_table_every(isl_ctx *ctx, struct isl_hash_table *table,
isl_bool (*test)(void **entry, void *user), void *user)
{ … }
void isl_hash_table_remove(struct isl_ctx *ctx,
struct isl_hash_table *table,
struct isl_hash_table_entry *entry)
{ … }