<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>PocketSphinx: src/libpocketsphinx/ps_lattice_internal.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">PocketSphinx <span id="projectnumber">0.6</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('ps__lattice__internal_8h.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>src/libpocketsphinx/ps_lattice_internal.h File Reference</h1> </div> </div> <div class="contents"> <p>Word graph search implementation. <a href="#_details">More...</a></p> <p><a href="ps__lattice__internal_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structlatlink__list__s.html">latlink_list_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Linked list of DAG link pointers. <a href="structlatlink__list__s.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structps__lattice__s.html">ps_lattice_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Word graph structure used in bestpath/nbest search. <a href="structps__lattice__s.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structps__latlink__s.html">ps_latlink_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Links between DAG nodes. <a href="structps__latlink__s.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structps__latnode__s.html">ps_latnode_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">DAG nodes. <a href="structps__latnode__s.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structdag__seg__s.html">dag_seg_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Segmentation "iterator" for backpointer table results. <a href="structdag__seg__s.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structps__latpath__s.html">ps_latpath_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Partial path structure used in N-best (A*) search. <a href="structps__latpath__s.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structps__astar__s.html">ps_astar_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A* search structure. <a href="structps__astar__s.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structastar__seg__s.html">astar_seg_s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Segmentation "iterator" for A* search results. <a href="structastar__seg__s.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structlatlink__list__s.html">latlink_list_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a32dd9511afc2f024dc63c9c060261e94">latlink_list_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Linked list of DAG link pointers. <a href="#a32dd9511afc2f024dc63c9c060261e94"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58a548300316e58e8c3b9e2bb90f980a"></a><!-- doxytag: member="ps_lattice_internal.h::dag_seg_t" ref="a58a548300316e58e8c3b9e2bb90f980a" args="" --> typedef struct <a class="el" href="structdag__seg__s.html">dag_seg_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a58a548300316e58e8c3b9e2bb90f980a">dag_seg_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Segmentation "iterator" for backpointer table results. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structps__latpath__s.html">ps_latpath_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#aba5a485290f665fb2e7e514a32ba3073">ps_latpath_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Partial path structure used in N-best (A*) search. <a href="#aba5a485290f665fb2e7e514a32ba3073"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a756a1b6f5dfe4e3f35052380f9acb8de"></a><!-- doxytag: member="ps_lattice_internal.h::ps_astar_t" ref="a756a1b6f5dfe4e3f35052380f9acb8de" args="" --> typedef struct <a class="el" href="structps__astar__s.html">ps_astar_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a756a1b6f5dfe4e3f35052380f9acb8de">ps_astar_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A* search structure. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9ad8a97a222c2fa9e5c2bb66d26d74d"></a><!-- doxytag: member="ps_lattice_internal.h::astar_seg_t" ref="ac9ad8a97a222c2fa9e5c2bb66d26d74d" args="" --> typedef struct <a class="el" href="structastar__seg__s.html">astar_seg_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#ac9ad8a97a222c2fa9e5c2bb66d26d74d">astar_seg_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Segmentation "iterator" for A* search results. <br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a606f6ee0fd569dd5829d7f84ae7e61bd"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_init_search" ref="a606f6ee0fd569dd5829d7f84ae7e61bd" args="(ps_search_t *search, int n_frame)" --> <a class="el" href="structps__lattice__s.html">ps_lattice_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a606f6ee0fd569dd5829d7f84ae7e61bd">ps_lattice_init_search</a> (<a class="el" href="structps__search__s.html">ps_search_t</a> *search, int n_frame)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an empty word graph with reference to a search structure. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b40adaa059978fe33959d59da1b6919"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_bypass_fillers" ref="a9b40adaa059978fe33959d59da1b6919" args="(ps_lattice_t *dag, int32 silpen, int32 fillpen)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a9b40adaa059978fe33959d59da1b6919">ps_lattice_bypass_fillers</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, int32 silpen, int32 fillpen)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Bypass filler words. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6da4e36322aaab4d2ebe812bee9a4439"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_delete_unreachable" ref="a6da4e36322aaab4d2ebe812bee9a4439" args="(ps_lattice_t *dag)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a6da4e36322aaab4d2ebe812bee9a4439">ps_lattice_delete_unreachable</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove nodes marked as unreachable. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04896ebe0e2592bc7950d413b5d5c52e"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_pushq" ref="a04896ebe0e2592bc7950d413b5d5c52e" args="(ps_lattice_t *dag, ps_latlink_t *link)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a04896ebe0e2592bc7950d413b5d5c52e">ps_lattice_pushq</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *link)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add an edge to the traversal queue. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a481c4d941368597e11b0af4709bd03b0"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_popq" ref="a481c4d941368597e11b0af4709bd03b0" args="(ps_lattice_t *dag)" --> <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a481c4d941368597e11b0af4709bd03b0">ps_lattice_popq</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove an edge from the traversal queue. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad128ca75e8bc7ca4ba41094fb5b68ee9"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_delq" ref="ad128ca75e8bc7ca4ba41094fb5b68ee9" args="(ps_lattice_t *dag)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#ad128ca75e8bc7ca4ba41094fb5b68ee9">ps_lattice_delq</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clear and reset the traversal queue. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7197508af770064ea825bb812dd6eddc"></a><!-- doxytag: member="ps_lattice_internal.h::latlink_list_new" ref="a7197508af770064ea825bb812dd6eddc" args="(ps_lattice_t *dag, ps_latlink_t *link, latlink_list_t *next)" --> <a class="el" href="structlatlink__list__s.html">latlink_list_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a7197508af770064ea825bb812dd6eddc">latlink_list_new</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *link, <a class="el" href="structlatlink__list__s.html">latlink_list_t</a> *next)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new lattice link element. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02b07c009d23b852bd4db54700dfac5b"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_hyp" ref="a02b07c009d23b852bd4db54700dfac5b" args="(ps_lattice_t *dag, ps_latlink_t *link)" --> char const * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a02b07c009d23b852bd4db54700dfac5b">ps_lattice_hyp</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *link)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get hypothesis string after bestpath search. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afedbc5558c18f7d029e84a4e27e38187"></a><!-- doxytag: member="ps_lattice_internal.h::ps_lattice_seg_iter" ref="afedbc5558c18f7d029e84a4e27e38187" args="(ps_lattice_t *dag, ps_latlink_t *link, float32 lwf)" --> <a class="el" href="structps__seg__s.html">ps_seg_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#afedbc5558c18f7d029e84a4e27e38187">ps_lattice_seg_iter</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *link, float32 lwf)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get hypothesis segmentation iterator after bestpath search. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structps__astar__s.html">ps_astar_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#aaf9aedd3cd8bd1d45053e10828215a25">ps_astar_start</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, ngram_model_t *lmset, float32 lwf, int sf, int ef, int w1, int w2)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Begin N-Gram based A* search on a word graph. <a href="#aaf9aedd3cd8bd1d45053e10828215a25"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structps__latpath__s.html">ps_latpath_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#a6bea95f8fb827af790bbe6ce1920908c">ps_astar_next</a> (<a class="el" href="structps__astar__s.html">ps_astar_t</a> *nbest)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Find next best hypothesis of A* on a word graph. <a href="#a6bea95f8fb827af790bbe6ce1920908c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfb03e9e0fcbe3def45120f5ba43be14"></a><!-- doxytag: member="ps_lattice_internal.h::ps_astar_finish" ref="abfb03e9e0fcbe3def45120f5ba43be14" args="(ps_astar_t *nbest)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#abfb03e9e0fcbe3def45120f5ba43be14">ps_astar_finish</a> (<a class="el" href="structps__astar__s.html">ps_astar_t</a> *nbest)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Finish N-best search, releasing resources associated with it. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7372b5c5ec111f6814ce1ba495593e4"></a><!-- doxytag: member="ps_lattice_internal.h::ps_astar_hyp" ref="ac7372b5c5ec111f6814ce1ba495593e4" args="(ps_astar_t *nbest, ps_latpath_t *path)" --> char const * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#ac7372b5c5ec111f6814ce1ba495593e4">ps_astar_hyp</a> (<a class="el" href="structps__astar__s.html">ps_astar_t</a> *nbest, <a class="el" href="structps__latpath__s.html">ps_latpath_t</a> *path)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get hypothesis string from A* search. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8e3dff7276c03c93377d0cb79fbdbd7"></a><!-- doxytag: member="ps_lattice_internal.h::ps_astar_seg_iter" ref="ac8e3dff7276c03c93377d0cb79fbdbd7" args="(ps_astar_t *astar, ps_latpath_t *path, float32 lwf)" --> <a class="el" href="structps__seg__s.html">ps_seg_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice__internal_8h.html#ac8e3dff7276c03c93377d0cb79fbdbd7">ps_astar_seg_iter</a> (<a class="el" href="structps__astar__s.html">ps_astar_t</a> *astar, <a class="el" href="structps__latpath__s.html">ps_latpath_t</a> *path, float32 lwf)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get hypothesis segmentation from A* search. <br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Word graph search implementation. </p> <p>Definition in file <a class="el" href="ps__lattice__internal_8h_source.html">ps_lattice_internal.h</a>.</p> </div><hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a32dd9511afc2f024dc63c9c060261e94"></a><!-- doxytag: member="ps_lattice_internal.h::latlink_list_t" ref="a32dd9511afc2f024dc63c9c060261e94" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structlatlink__list__s.html">latlink_list_s</a> <a class="el" href="structlatlink__list__s.html">latlink_list_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>Linked list of DAG link pointers. </p> <p>Because the same link structure is used for forward and reverse links, as well as for the agenda used in bestpath search, we can't store the list pointer inside latlink_t. We could use glist_t here, but it wastes 4 bytes per entry on 32-bit machines. </p> </div> </div> <a class="anchor" id="aba5a485290f665fb2e7e514a32ba3073"></a><!-- doxytag: member="ps_lattice_internal.h::ps_latpath_t" ref="aba5a485290f665fb2e7e514a32ba3073" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structps__latpath__s.html">ps_latpath_s</a> <a class="el" href="structps__latpath__s.html">ps_latpath_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>Partial path structure used in N-best (A*) search. </p> <p>Each partial path (latpath_t) is constructed by extending another partial path--parent--by one node. </p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a6bea95f8fb827af790bbe6ce1920908c"></a><!-- doxytag: member="ps_lattice_internal.h::ps_astar_next" ref="a6bea95f8fb827af790bbe6ce1920908c" args="(ps_astar_t *nbest)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structps__latpath__s.html">ps_latpath_t</a>* ps_astar_next </td> <td>(</td> <td class="paramtype"><a class="el" href="structps__astar__s.html">ps_astar_t</a> * </td> <td class="paramname"><em>nbest</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Find next best hypothesis of A* on a word graph. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a complete path, or NULL if no more hypotheses exist. </dd></dl> <p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01718">1718</a> of file <a class="el" href="ps__lattice_8c_source.html">ps_lattice.c</a>.</p> <p>References <a class="el" href="ps__lattice__internal_8h_source.html#l00072">ps_lattice_s::end</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00118">ps_latnode_s::fef</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00155">ps_latpath_s::next</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00153">ps_latpath_s::node</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00120">ps_latnode_s::sf</a>.</p> <p>Referenced by <a class="el" href="pocketsphinx_8c_source.html#l00982">ps_nbest_next()</a>.</p> </div> </div> <a class="anchor" id="aaf9aedd3cd8bd1d45053e10828215a25"></a><!-- doxytag: member="ps_lattice_internal.h::ps_astar_start" ref="aaf9aedd3cd8bd1d45053e10828215a25" args="(ps_lattice_t *dag, ngram_model_t *lmset, float32 lwf, int sf, int ef, int w1, int w2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structps__astar__s.html">ps_astar_t</a>* ps_astar_start </td> <td>(</td> <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> * </td> <td class="paramname"><em>dag</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ngram_model_t * </td> <td class="paramname"><em>lmset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float32 </td> <td class="paramname"><em>lwf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>sf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ef</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>w1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>w2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Begin N-Gram based A* search on a word graph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sf</td><td>Starting frame for N-best search. </td></tr> <tr><td class="paramname">ef</td><td>Ending frame for N-best search, or -1 for last frame. </td></tr> <tr><td class="paramname">w1</td><td>First context word, or -1 for none. </td></tr> <tr><td class="paramname">w2</td><td>Second context word, or -1 for none. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 for success, <0 on error. </dd></dl> <p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01659">1659</a> of file <a class="el" href="ps__lattice_8c_source.html">ps_lattice.c</a>.</p> <p>References <a class="el" href="ps__lattice__internal_8h_source.html#l00116">ps_latnode_s::basewid</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00072">ps_lattice_s::end</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00128">ps_latnode_s::exits</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00183">ps_astar_s::latpath_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00074">ps_lattice_s::n_frames</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00132">ps_latnode_s::next</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00153">ps_latpath_s::node</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00070">ps_lattice_s::nodes</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00154">ps_latpath_s::parent</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00125">ps_latnode_s::rem_score</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00156">ps_latpath_s::score</a>, <a class="el" href="hmm_8h_source.html#l00063">SENSCR_SHIFT</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00120">ps_latnode_s::sf</a>, and <a class="el" href="hmm_8h_source.html#l00074">WORST_SCORE</a>.</p> <p>Referenced by <a class="el" href="pocketsphinx_8c_source.html#l00942">ps_nbest()</a>.</p> </div> </div> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="ps__lattice__internal_8h.html">ps_lattice_internal.h</a> </li> <li class="footer">Generated on Wed Apr 20 2011 for PocketSphinx by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li> </ul> </div> </body> </html>