add hash function BLI_ghash_assign, BLI_edgehash_assign

avoids remove,insert and only hashes the key once.
This commit is contained in:
2013-08-18 03:41:39 +00:00
parent 7cce556344
commit 754b4ab3bc
8 changed files with 172 additions and 85 deletions

View File

@@ -43,6 +43,7 @@ enum {
EdgeHash *BLI_edgehash_new(void);
void BLI_edgehash_free(EdgeHash *eh, EdgeHashFreeFP valfreefp);
void BLI_edgehash_insert(EdgeHash *eh, unsigned int v0, unsigned int v1, void *val);
void BLI_edgehash_assign(EdgeHash *eh, unsigned int v0, unsigned int v1, void *val);
void *BLI_edgehash_lookup(EdgeHash *eh, unsigned int v0, unsigned int v1);
void **BLI_edgehash_lookup_p(EdgeHash *eh, unsigned int v0, unsigned int v1);
bool BLI_edgehash_haskey(EdgeHash *eh, unsigned int v0, unsigned int v1);