Lines Matching refs:findex
210 message_fuzzy_index_ty *findex = XMALLOC (message_fuzzy_index_ty); in message_fuzzy_index_alloc() local
215 findex->messages = mlp->item; in message_fuzzy_index_alloc()
216 findex->iterator = po_charset_character_iterator (canon_charset); in message_fuzzy_index_alloc()
219 if (hash_init (&findex->gram4, 10 * count) < 0) in message_fuzzy_index_alloc()
233 const char *p1 = p0 + findex->iterator (p0); in message_fuzzy_index_alloc()
236 const char *p2 = p1 + findex->iterator (p1); in message_fuzzy_index_alloc()
239 const char *p3 = p2 + findex->iterator (p2); in message_fuzzy_index_alloc()
242 const char *p4 = p3 + findex->iterator (p3); in message_fuzzy_index_alloc()
251 if (hash_find_entry (&findex->gram4, p0, p4 - p0, in message_fuzzy_index_alloc()
257 hash_set_value (&findex->gram4, p0, p4 - p0, in message_fuzzy_index_alloc()
261 hash_insert_entry (&findex->gram4, p0, p4 - p0, in message_fuzzy_index_alloc()
271 p4 = p4 + findex->iterator (p4); in message_fuzzy_index_alloc()
288 while (hash_iterate_modify (&findex->gram4, &iter, &key, &keylen, &valuep) in message_fuzzy_index_alloc()
302 findex->firstfew = (int) sqrt ((double) count); in message_fuzzy_index_alloc()
303 if (findex->firstfew < 10) in message_fuzzy_index_alloc()
304 findex->firstfew = 10; in message_fuzzy_index_alloc()
307 findex->short_messages = XNMALLOC (SHORT_MSG_MAX + 1, message_list_ty *); in message_fuzzy_index_alloc()
309 findex->short_messages[l] = message_list_alloc (false); in message_fuzzy_index_alloc()
320 message_list_append (findex->short_messages[len], mp); in message_fuzzy_index_alloc()
327 message_list_ty *mlp = findex->short_messages[l]; in message_fuzzy_index_alloc()
338 return findex; in message_fuzzy_index_alloc()
504 message_fuzzy_index_search (message_fuzzy_index_ty *findex, in message_fuzzy_index_search() argument
515 const char *p1 = p0 + findex->iterator (p0); in message_fuzzy_index_search()
518 const char *p2 = p1 + findex->iterator (p1); in message_fuzzy_index_search()
521 const char *p3 = p2 + findex->iterator (p2); in message_fuzzy_index_search()
524 const char *p4 = p3 + findex->iterator (p3); in message_fuzzy_index_search()
535 if (hash_find_entry (&findex->gram4, p0, p4 - p0, in message_fuzzy_index_search()
549 p4 = p4 + findex->iterator (p4); in message_fuzzy_index_search()
574 if (count > findex->firstfew) in message_fuzzy_index_search()
575 count = findex->firstfew; in message_fuzzy_index_search()
582 message_ty *mp = findex->messages[ptr->index]; in message_fuzzy_index_search()
624 message_list_ty *mlp = findex->short_messages[l]; in message_fuzzy_index_search()
647 message_fuzzy_index_free (message_fuzzy_index_ty *findex) in message_fuzzy_index_free() argument
657 message_list_free (findex->short_messages[l], 1); in message_fuzzy_index_free()
658 free (findex->short_messages); in message_fuzzy_index_free()
662 while (hash_iterate (&findex->gram4, &iter, &key, &keylen, &data) == 0) in message_fuzzy_index_free()
665 hash_destroy (&findex->gram4); in message_fuzzy_index_free()
667 free (findex); in message_fuzzy_index_free()