Lines Matching refs:ftoken
141 fsmnode_token* ftoken;
153 for (i = rec->active_fsmnode_tokens;i != MAXftokenID;i = ftoken->next_token_index)
155 ftoken = &rec->fsmnode_token_array[i];
156 if ((awtoken = ftoken->aword_backtrace) != AWTNULL)
169 for (i = rec->active_fsmnode_tokens;i != MAXftokenID;i = ftoken->next_token_index)
171 ftoken = &rec->fsmnode_token_array[i];
172 if ((awtoken = ftoken->aword_backtrace) != AWTNULL)
173 if (awtoken->costbasis > ftoken->cost)
174 awtoken->costbasis = ftoken->cost;
196 for (i = rec->active_fsmnode_tokens;i != MAXftokenID;i = ftoken->next_token_index)
198 ftoken = &rec->fsmnode_token_array[i];
199 if (ftoken->aword_backtrace != AWTNULL)
201 ftoken->aword_backtrace =
202 reprune_altword_token_batch(rec, ftoken->aword_backtrace,
1266 fsmnode_token *ftoken;
1330 ftoken = &(rec->fsmnode_token_array[new_ftoken_index]);
1331 ftoken->FSMnode_index = to_node_index;
1332 ftoken->next_token_index = rec->active_fsmnode_tokens;
1333 ftoken->cost = end_cost;
1334 ftoken->word_backtrace = current_token->word_backtrace[end_state];
1335 ftoken->word = current_token->word[end_state];
1336 if (end_model_index == SILENCE_MODEL_INDEX && ftoken->word != rec->context->beg_silence_word)
1338 ftoken->silence_duration = current_token->duration[end_state];
1342 ftoken->silence_duration = 0;
1344 if (ftoken->word != MAXwordID)
1352 ftoken->aword_backtrace = copy_altwords(rec, current_token->aword_backtrace[end_state], 0);
1354 ftoken->aword_backtrace = refcopy_altwords(rec, current_token->aword_backtrace[end_state]);
1360 ftoken->aword_backtrace = AWTNULL;
1368 ftoken = &(rec->fsmnode_token_array[new_ftoken_index]);
1369 ASSERT( ((current_token->word[end_state] == MAXwordID) && (ftoken->word == MAXwordID))
1370 || ((current_token->word[end_state] != MAXwordID) && (ftoken->word != MAXwordID)) );
1375 if (end_cost == ftoken->cost)
1377 if (current_token->word_backtrace[end_state] != ftoken->word_backtrace
1383 if (ftoken->word_backtrace != MAXwtokenID)
1384 et_end_time = rec->word_token_array[ftoken->word_backtrace].end_time;
1390 if (end_cost < ftoken->cost || end_cost_equality_hack)
1393 /* ftoken info goes into awtoken */
1394 if (ftoken->word != MAXwordID)
1400 awtoken->costdelta = ftoken->cost - end_cost;
1401 awtoken->word_backtrace = ftoken->word_backtrace;
1402 awtoken->word = ftoken->word;
1405 q = ftoken->aword_backtrace;
1408 awtoken->next_token = copy_altwords(rec, ftoken->aword_backtrace, ftoken->cost - end_cost);
1409 free_altword_token_batch(rec, ftoken->aword_backtrace);
1414 awtoken->next_token = ftoken->aword_backtrace;
1417 q->costdelta += ftoken->cost - end_cost;
1419 ftoken->aword_backtrace = awtoken;
1420 ftoken->aword_backtrace = sizewise_altwords(rec, ftoken->aword_backtrace);
1421 if( (q=ftoken->aword_backtrace)!=AWTNULL) {
1422 for (q = ftoken->aword_backtrace; q->next_token; q = q->next_token) ;
1424 ftoken->aword_backtrace = sizewise_altwords(rec, ftoken->aword_backtrace);
1425 /* awtoken->costbasis = &ftoken->cost; */
1426 ftoken->aword_backtrace->refcount = 1;
1433 ASSERT(ftoken->aword_backtrace == AWTNULL);
1435 /* and stoken info goes into ftoken */
1436 ftoken->cost = end_cost;
1437 ftoken->word_backtrace = current_token->word_backtrace[end_state];
1438 ftoken->word = current_token->word[end_state];
1439 if (end_model_index == SILENCE_MODEL_INDEX && ftoken->word != rec->context->beg_silence_word)
1441 ftoken->silence_duration = current_token->duration[end_state];
1445 ftoken->silence_duration = 0;
1454 /* stoken info goes into the awtoken, ftoken unchanged */
1455 if (ftoken->word != MAXwordID)
1461 awtoken->costdelta = end_cost - ftoken->cost;
1473 q = ftoken->aword_backtrace;
1476 q = copy_altwords(rec, ftoken->aword_backtrace, 0);
1477 free_altword_token_batch(rec, ftoken->aword_backtrace);
1478 ftoken->aword_backtrace = q;
1481 if (ftoken->aword_backtrace)
1483 for (q = ftoken->aword_backtrace; q->next_token; q = q->next_token) ;
1488 ftoken->aword_backtrace = awtoken;
1490 if (ftoken->aword_backtrace!=AWTNULL) {
1491 ftoken->aword_backtrace->refcount = 1;
1492 ftoken->aword_backtrace = sizewise_altwords(rec, ftoken->aword_backtrace);
1498 ilabel = rec->context->FSMnode_info_list[ ftoken->FSMnode_index];
1500 if (ftoken->cost < rec->current_best_ftoken_cost[ilabel])
1502 rec->current_best_ftoken_cost[ilabel] = ftoken->cost;
1505 if (ftoken->cost < rec->current_best_ftoken_cost[NODE_INFO_UNKNOWN])
1507 rec->current_best_ftoken_cost[NODE_INFO_UNKNOWN] = ftoken->cost;
1510 ASSERT(ftoken->word != MAXwordID || ftoken->aword_backtrace == AWTNULL);
1827 fsmnode_token* ftoken;
1866 ftoken = &rec->fsmnode_token_array[current_token_index];
1867 if (ftoken->FSMnode_index == end_node)
1871 ftoken->FSMnode_index,
1872 ftoken->word,
1873 ftoken->word_backtrace,
1874 ftoken->cost, ¤t_word_threshold, &any_nodes_blocked);
1878 rec->word_token_array[word_token_index].end_time - ftoken->silence_duration);
1881 awtoken = ftoken->aword_backtrace;
1885 ftoken->FSMnode_index,
1888 ftoken->cost + awtoken->costdelta,
1893 current_token_index = ftoken->next_token_index;
1920 fsmnode_token* ftoken;
1938 ftoken = &rec->fsmnode_token_array[ ftoken_index];
1939 next_ftoken_index = ftoken->next_token_index;