60 * Merged from branch SPHINX3_5_2_RCI_IRII_BRANCH: Introduced srch_hyp_t and conf_srch_hyp_t. The former unifies the usage of multiple hyp_t in the past. The latter is only used in confidence estimation.
78 * Remove all dag functions. Eventually I may just want to delete the whole file as well.
79 *
80 * Revision 1.2 2005/06/03 05:46:19 archan
81 * Refactoring across dag/astar/decode_anytopo. Code is not fully tested.
82 * There are several changes I have done to refactor the code across
83 * dag/astar/decode_anyptop. A new library called dag.c is now created
84 * to include all routines that are shared by the three applications that
85 * required graph operations.
86 * 1, dag_link is now shared between dag and decode_anytopo. Unfortunately, astar was using a slightly different version of dag_link. At this point, I could only rename astar'dag_link to be astar_dag_link.
87 * 2, dag_update_link is shared by both dag and decode_anytopo.
88 * 3, hyp_free is now shared by misc.c, dag and decode_anytopo
89 * 4, filler_word will not exist anymore, dict_filler_word was used instead.
90 * 5, dag_param_read were shared by both dag and astar.
91 * 6, dag_destroy are now shared by dag/astar/decode_anytopo. Though for some reasons, even the function was not called properly, it is still compiled in linux. There must be something wrong at this point.
92 * 7, dag_bestpath and dag_backtrack are now shared by dag and decode_anytopo. One important thing to notice here is that decode_anytopo's version of the two functions actually multiply the LM score or filler penalty by the language weight. At this point, s3_dag is always using lwf=1.
93 * 8, dag_chk_linkscr is shared by dag and decode_anytopo.
94 * 9, decode_anytopo nows supports another three options -maxedge, -maxlmop and -maxlpf. Their usage is similar to what one could find dag.
95 *
96 * Notice that the code of the best path search in dag and that of 2-nd
97 * stage of decode_anytopo could still have some differences. It could
98 * be the subtle difference of handling of the option -fudge. I am yet
99 * to know what the true cause is.
100 *
101 * Some other small changes include
102 * -removal of startwid and finishwid asstatic variables in s3_dag.c. dict.c now hide these two variables.
103 *
104 * There are functions I want to merge but I couldn't and it will be
105 * important to say the reasons.
106 * i, dag_remove_filler_nodes. The version in dag and decode_anytopo
107 * work slightly differently. The decode_anytopo's one attached a dummy
108 * predecessor after removal of the filler nodes.
109 * ii, dag_search.(s3dag_dag_search and s3flat_fwd_dag_search) The handling of fudge is differetn. Also, decode_anytopo's one now depend on variable lattice.
110 * iii, dag_load, (s3dag_dag_load and s3astar_dag_load) astar and dag seems to work in a slightly different, one required removal of arcs, one required bypass the arcs. Don't understand them yet.
111 * iv, dag_dump, it depends on the variable lattice.
112 *
113 * Revision 1.1.1.1 2005/03/24 15:24:00 archan
114 * I found Evandro's suggestion is quite right after yelling at him 2 days later. So I decide to check this in again without any binaries. (I have done make distcheck. ) . Again, this is a candidate for s3.6 and I believe I need to work out 4-5 intermediate steps before I can complete the first prototype. That's why I keep local copies.
123 * Incorporating s3.0 align, at this point, there are still some small problems in align but they don't hurt. For example, the score doesn't match with s3.0 and the output will have problem if files are piped to /dev/null/. I think we can go for it.
124 *
125 * Revision 1.2 2002/12/03 23:02:44 egouvea
126 * Updated slow decoder with current working version.
127 * Added copyright notice to Makefiles, *.c and *.h files.
128 * Updated some of the documentation.
129 *
130 * Revision 1.1.1.1 2002/12/03 20:20:46 robust
131 * Import of s3decode.
132 *
133 *
134 * 07-Nov-96 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University
135 * Added onlynodes argument to dag_dump().
136 *
137 * 12-Sep-96 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University
138 * Changed fwd_sen_active to flag active senones instead of building a list
139 * of them.
140 *
141 * 24-Jun-96 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University
142 * Added dag_search().
143 *
144 * 20-Jan-96 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University
145 * Added function fwd_sen_active() to obtain list of active senones in
146 * current frame.
147 *
148 * 04-Dec-95 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University