Update libds.

This commit is contained in:
Danila Fedorin 2017-07-20 21:58:51 -07:00
parent 1399934a24
commit 8d1178788a
3 changed files with 11 additions and 11 deletions

2
external/libds vendored

@ -1 +1 @@
Subproject commit cd822fedfc1357919b6cba46a9b61e58e2fc1dde
Subproject commit 1d037dd31e4a242518e2f562d8d2c980443a1869

View File

@ -36,20 +36,20 @@ typedef struct pairmap_key_s pairmap_key;
* @param key the key for the hash table.
* @return the resulting hash.
*/
unsigned long pairmap_hash_func(void* key);
unsigned long pairmap_hash_func(const void* key);
/**
* Compares two pairmap_key's.
* @param a the first pairmap_key
* @param b the second pairmap_key
* @return
*/
int pairmap_cmp_func(void* a, void* b);
int pairmap_cmp_func(const void* a, const void* b);
/**
* Copies a pairmap_key.
* @param key the key to copy.
* @return the copy of the key.
*/
void* pairmap_copy_func(void* key);
void* pairmap_copy_func(const void* key);
/**
* Initializes a hash table with functions used for pair maps.
* @param ht the hash table to initialize.

View File

@ -1,19 +1,19 @@
#include "pairmap.h"
#include <stdlib.h>
unsigned long pairmap_hash_func(void* key){
pairmap_key* new_key = key;
unsigned long pairmap_hash_func(const void* key){
const pairmap_key* new_key = key;
unsigned int hash = 0;
hash |= ((new_key->x & 0xffff) << 8) + (new_key->y & 0xffff);
return hash;
}
int pairmap_cmp_func(void* a, void* b){
pairmap_key* new_key_a = a;
pairmap_key* new_key_b = b;
int pairmap_cmp_func(const void* a, const void* b){
const pairmap_key* new_key_a = a;
const pairmap_key* new_key_b = b;
return (new_key_a->x == new_key_b->x) && (new_key_a->y == new_key_b->y);
}
void* pairmap_copy_func(void* key){
pairmap_key* copy_from = key;
void* pairmap_copy_func(const void* key){
const pairmap_key* copy_from = key;
pairmap_key* new_key = malloc(sizeof(*new_key));
if(new_key){
new_key->x = copy_from->x;