#include #include #include #include "../../include/hashtable.h" static int hfun(void* key); static int cmpfun (void *, void *); static int hfun( void* key) { return *(int *)key; } static int cmpfun( void* v1, void* v2) { int i1; int i2; i1 = *(int *)v1; i2 = *(int *)v2; return (i1 < i2 ? -1 : (i1 > i2 ? 1 : 0)); } /** * @node Simple test which creates hashtable and frees it. Size and number of entries * sre specified by user and passed as arguments. * * Parameters: * @param argc - * * * @param argv - * * * @return * * * @details (write detailed description here) * */ int main(int argc, char** argv) { HASHTABLE* h; int nelems; int i; int* val_arr; int argsize; int hsize; int argelems; int longest; if (argc != 3) { fprintf(stderr, "\nWrong number of arguments. Usage " ":\n\n\ttesthash <# of elements> <# hash size> " " \n\n"); return 1; } argelems = strtol(argv[1], NULL, 10); argsize = strtol(argv[2], NULL, 10); ss_dfprintf(stderr, "testhash : creating hash table of size %d, including %d " "elements in total.", argsize, argelems); val_arr = (int *)malloc(sizeof(void *)*argelems); h = hashtable_alloc(argsize, hfun, cmpfun); ss_dfprintf(stderr, "\t..done\nAdd %d elements to hash table.", argelems); for (i=0; i