Lines Matching refs:trie
322 utf8trie_t *trie = NULL; in utf8nlookup() local
333 trie = utf8data + data->offset; in utf8nlookup()
336 offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT; in utf8nlookup()
337 if (*trie & NEXTBYTE) { in utf8nlookup()
342 mask = 1 << (*trie & BITNUM); in utf8nlookup()
347 node = (*trie & RIGHTNODE); in utf8nlookup()
348 offset = trie[offlen]; in utf8nlookup()
351 offset |= trie[offlen]; in utf8nlookup()
353 trie += offset; in utf8nlookup()
354 } else if (*trie & RIGHTPATH) { in utf8nlookup()
356 node = (*trie & TRIENODE); in utf8nlookup()
357 trie++; in utf8nlookup()
366 node = (*trie & LEFTNODE); in utf8nlookup()
367 trie += offlen + 1; in utf8nlookup()
368 } else if (*trie & RIGHTPATH) { in utf8nlookup()
373 node = (*trie & TRIENODE); in utf8nlookup()
374 trie++; in utf8nlookup()
384 if (LEAF_CCC(trie) == DECOMPOSE && LEAF_STR(trie)[0] == HANGUL) in utf8nlookup()
385 trie = utf8hangul(s - 2, hangul); in utf8nlookup()
386 return trie; in utf8nlookup()