Lines Matching refs:trie
150 * The leaves of the trie are embedded in the trie, and so the same
174 * The decompositions in the trie have been fully expanded, with the
179 * The trie is constructed in such a way that leaves exist for all
182 * lookup in the trie can be used to validate the UTF-8 input.
295 * Use trie to scan s, touching at most len bytes.
306 utf8trie_t *trie = um->tables->utf8data + um->ntab[n]->offset;
317 offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT;
318 if (*trie & NEXTBYTE) {
323 mask = 1 << (*trie & BITNUM);
327 /* Right node at offset of trie */
328 node = (*trie & RIGHTNODE);
329 offset = trie[offlen];
332 offset |= trie[offlen];
334 trie += offset;
335 } else if (*trie & RIGHTPATH) {
337 node = (*trie & TRIENODE);
338 trie++;
347 node = (*trie & LEFTNODE);
348 trie += offlen + 1;
349 } else if (*trie & RIGHTPATH) {
354 node = (*trie & TRIENODE);
355 trie++;
365 if (LEAF_CCC(trie) == DECOMPOSE && LEAF_STR(trie)[0] == HANGUL)
366 trie = utf8hangul(s - 2, hangul);
367 return trie;
371 * Use trie to scan s.