Lines Matching refs:stack
210 static void go_deeper(trystate_T *stack, int depth, int score_add);
1207 #define TRY_DEEPER(su, stack, depth, add) \ argument
1208 (stack[depth].ts_score + (add) < su->su_maxscore)
1249 trystate_T stack[MAXWLEN]; in suggest_trie_walk() local
1287 sp = &stack[0]; in suggest_trie_walk()
1332 sp = &stack[depth]; in suggest_trie_walk()
1372 go_deeper(stack, depth, 0); in suggest_trie_walk()
1374 sp = &stack[depth]; in suggest_trie_walk()
1423 n = stack[sp->ts_prefixdepth].ts_arridx; in suggest_trie_walk()
1764 if (TRY_DEEPER(su, stack, depth, newscore)) in suggest_trie_walk()
1766 go_deeper(stack, depth, newscore); in suggest_trie_walk()
1781 sp = &stack[depth]; in suggest_trie_walk()
1913 && TRY_DEEPER(su, stack, depth, newscore)) in suggest_trie_walk()
1915 go_deeper(stack, depth, newscore); in suggest_trie_walk()
1927 sp = &stack[depth]; in suggest_trie_walk()
2053 && TRY_DEEPER(su, stack, depth, newscore)) in suggest_trie_walk()
2055 go_deeper(stack, depth, newscore); in suggest_trie_walk()
2065 stack[depth].ts_flags |= TSF_DIDDEL; in suggest_trie_walk()
2066 stack[depth].ts_delidx = sp->ts_fidx; in suggest_trie_walk()
2075 stack[depth].ts_fidx += mb_ptr2len(fword + sp->ts_fidx); in suggest_trie_walk()
2077 stack[depth].ts_score -= SCORE_DEL - SCORE_DELCOMP; in suggest_trie_walk()
2078 else if (c == mb_ptr2char(fword + stack[depth].ts_fidx)) in suggest_trie_walk()
2079 stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; in suggest_trie_walk()
2083 ++stack[depth].ts_fidx; in suggest_trie_walk()
2085 stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; in suggest_trie_walk()
2150 && TRY_DEEPER(su, stack, depth, newscore)) in suggest_trie_walk()
2152 go_deeper(stack, depth, newscore); in suggest_trie_walk()
2159 sp = &stack[depth]; in suggest_trie_walk()
2250 if (c2 != NUL && TRY_DEEPER(su, stack, depth, SCORE_SWAP)) in suggest_trie_walk()
2252 go_deeper(stack, depth, SCORE_SWAP); in suggest_trie_walk()
2266 stack[depth].ts_fidxtry = sp->ts_fidx + n + fl; in suggest_trie_walk()
2272 stack[depth].ts_fidxtry = sp->ts_fidx + 2; in suggest_trie_walk()
2338 if (TRY_DEEPER(su, stack, depth, SCORE_SWAP3)) in suggest_trie_walk()
2340 go_deeper(stack, depth, SCORE_SWAP3); in suggest_trie_walk()
2355 stack[depth].ts_fidxtry = sp->ts_fidx + n + fl + tl; in suggest_trie_walk()
2361 stack[depth].ts_fidxtry = sp->ts_fidx + 3; in suggest_trie_walk()
2405 if (TRY_DEEPER(su, stack, depth, SCORE_SWAP3)) in suggest_trie_walk()
2407 go_deeper(stack, depth, SCORE_SWAP3); in suggest_trie_walk()
2426 stack[depth].ts_fidxtry = sp->ts_fidx + n + fl; in suggest_trie_walk()
2434 stack[depth].ts_fidxtry = sp->ts_fidx + 3; in suggest_trie_walk()
2466 if (TRY_DEEPER(su, stack, depth, SCORE_SWAP3)) in suggest_trie_walk()
2468 go_deeper(stack, depth, SCORE_SWAP3); in suggest_trie_walk()
2487 stack[depth].ts_fidxtry = sp->ts_fidx + n + tl; in suggest_trie_walk()
2495 stack[depth].ts_fidxtry = sp->ts_fidx + 3; in suggest_trie_walk()
2579 && TRY_DEEPER(su, stack, depth, SCORE_REP)) in suggest_trie_walk()
2581 go_deeper(stack, depth, SCORE_REP); in suggest_trie_walk()
2601 stack[depth].ts_fidxtry = sp->ts_fidx + tl; in suggest_trie_walk()
2602 stack[depth].ts_tcharlen = 0; in suggest_trie_walk()
2640 if (depth >= 0 && stack[depth].ts_prefixdepth == PFD_PREFIXTREE) in suggest_trie_walk()
2662 go_deeper(trystate_T *stack, int depth, int score_add) in go_deeper() argument
2664 stack[depth + 1] = stack[depth]; in go_deeper()
2665 stack[depth + 1].ts_state = STATE_START; in go_deeper()
2666 stack[depth + 1].ts_score = stack[depth].ts_score + score_add; in go_deeper()
2667 stack[depth + 1].ts_curi = 1; // start just after length byte in go_deeper()
2668 stack[depth + 1].ts_flags = 0; in go_deeper()
4132 limitscore_T stack[10]; // allow for over 3 * 2 edits in spell_edit_score_limit() local
4229 stack[stackidx].badi = bi + 1 - round; in spell_edit_score_limit()
4230 stack[stackidx].goodi = gi + round; in spell_edit_score_limit()
4231 stack[stackidx].score = score_off; in spell_edit_score_limit()
4283 gi = stack[stackidx].goodi; in spell_edit_score_limit()
4284 bi = stack[stackidx].badi; in spell_edit_score_limit()
4285 score = stack[stackidx].score; in spell_edit_score_limit()
4307 limitscore_T stack[10]; // allow for over 3 * 2 edits in spell_edit_score_limit_w() local
4414 stack[stackidx].badi = bi + 1 - round; in spell_edit_score_limit_w()
4415 stack[stackidx].goodi = gi + round; in spell_edit_score_limit_w()
4416 stack[stackidx].score = score_off; in spell_edit_score_limit_w()
4468 gi = stack[stackidx].goodi; in spell_edit_score_limit_w()
4469 bi = stack[stackidx].badi; in spell_edit_score_limit_w()
4470 score = stack[stackidx].score; in spell_edit_score_limit_w()