Lines Matching refs:parp
76 unsigned int hashfunc(partial_path* parp)
79 if (parp->first_prev_arc != PARP_TERMINAL)
80 hashval = parp->token_index;
83 hashval = (hashval << 10) + parp->word;
84 while ((parp = parp->next) != NULL)
86 if (parp->word != MAXwordID)
87 hashval = hashval * 64 + parp->word + hashval % 65536;
94 int hash_get(FixedSizeHash* hash, partial_path* parp, void** hval)
96 unsigned int hkey_index = hashfunc(parp);
105 if (compare_parp(p_return, parp, hash->rec) == 0)
116 int hash_set(FixedSizeHash* hash, partial_path* parp)
118 unsigned int hkey_index = hashfunc(parp);
125 if (*p_insert == parp)
128 print_path(parp, hash->rec, "problem in astar_pphash hash_set ");
132 else if (compare_parp(*p_insert, parp, hash->rec) == 0)
140 *p_insert = parp;
143 print_path(parp, hash->rec, "");
145 parp->hashlink = FSH_NULL;
151 int hash_del(FixedSizeHash* hash, partial_path* parp)
153 unsigned int hkey_index = hashfunc(parp);
160 if (compare_parp(*p_insert, parp, hash->rec) == 0)
162 *p_insert = parp->hashlink;
165 print_path(parp, hash->rec, "deleted ");