Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > e9280da098bff237733732ce38a34d57 > files > 185

pocketsphinx-devel-0.7-1.fc14.i686.rpm

<!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: include/ps_lattice.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&#160;<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&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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&#160;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_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>include/ps_lattice.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>Word graph search.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;sphinxbase/prim_type.h&gt;</code><br/>
<code>#include &lt;sphinxbase/ngram_model.h&gt;</code><br/>
<code>#include &lt;pocketsphinx_export.h&gt;</code><br/>
</div>
<p><a href="ps__lattice_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3c03aa650aafdaea0cbcfabe1a1c1e5"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_t" ref="af3c03aa650aafdaea0cbcfabe1a1c1e5" args="" -->
typedef struct <a class="el" href="structps__lattice__s.html">ps_lattice_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#af3c03aa650aafdaea0cbcfabe1a1c1e5">ps_lattice_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Word graph structure used in bestpath/nbest search. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structps__latnode__s.html">ps_latnode_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#ad570c45dd72ad9ea8d57391fd2cd1c07">ps_latnode_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">DAG nodes.  <a href="#ad570c45dd72ad9ea8d57391fd2cd1c07"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd06dd0a4f63e1b1912c1a53b6a75de6"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_iter_t" ref="afd06dd0a4f63e1b1912c1a53b6a75de6" args="" -->
typedef struct <a class="el" href="structps__latnode__s.html">ps_latnode_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#afd06dd0a4f63e1b1912c1a53b6a75de6">ps_latnode_iter_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator over DAG nodes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structps__latlink__s.html">ps_latlink_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a58ba3066b0b611f07c7ae57d77f8e776">ps_latlink_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Links between DAG nodes.  <a href="#a58ba3066b0b611f07c7ae57d77f8e776"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a6312ccf7e1697399822c47a99c4645"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_iter_t" ref="a3a6312ccf7e1697399822c47a99c4645" args="" -->
typedef struct <a class="el" href="structlatlink__list__s.html">latlink_list_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a3a6312ccf7e1697399822c47a99c4645">ps_latlink_iter_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator over DAG links. <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">POCKETSPHINX_EXPORT <a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a26f4a34c81b112109621b7ecacd57ee0">ps_lattice_read</a> (struct <a class="el" href="structps__decoder__s.html">ps_decoder_s</a> *ps, char const *file)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a lattice from a file on disk.  <a href="#a26f4a34c81b112109621b7ecacd57ee0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a9efc5f2836e2a0bd5d58326303516df5">ps_lattice_retain</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retain a lattice.  <a href="#a9efc5f2836e2a0bd5d58326303516df5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a3f90e846bde47cd1acdff165b92f5c22">ps_lattice_free</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a lattice.  <a href="#a3f90e846bde47cd1acdff165b92f5c22"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a3f2e2b88d0aa80346cc64d2b7934b863">ps_lattice_write</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, char const *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a lattice to disk.  <a href="#a3f2e2b88d0aa80346cc64d2b7934b863"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#aefd25c0f49a0d70f999187a26fa2ff06">ps_lattice_write_htk</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, char const *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a lattice to disk in HTK format.  <a href="#aefd25c0f49a0d70f999187a26fa2ff06"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT logmath_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a5c9d9171c9846c46c107bfe41a9120cf">ps_lattice_get_logmath</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the log-math computation object for this lattice.  <a href="#a5c9d9171c9846c46c107bfe41a9120cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <br class="typebreak"/>
<a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#aaf073a0617c446aa5424513f7c1045b8">ps_latnode_iter</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Start iterating over nodes in the lattice.  <a href="#aaf073a0617c446aa5424513f7c1045b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <br class="typebreak"/>
<a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a48aaf30b9396b38ccaf3a1b6e9225a01">ps_latnode_iter_next</a> (<a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a> *itor)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Move to next node in iteration.  <a href="#a48aaf30b9396b38ccaf3a1b6e9225a01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#ae9a6464b83d37bfa2ce570206eff6aad">ps_latnode_iter_free</a> (<a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a> *itor)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop iterating over nodes.  <a href="#ae9a6464b83d37bfa2ce570206eff6aad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a591bd15a350284b938deb84242736acc"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_iter_node" ref="a591bd15a350284b938deb84242736acc" args="(ps_latnode_iter_t *itor)" -->
POCKETSPHINX_EXPORT <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a591bd15a350284b938deb84242736acc">ps_latnode_iter_node</a> (<a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a> *itor)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get node from iterator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a42bd0fbfe8b0cab1a9a7e799a3fc30a2">ps_latnode_times</a> (<a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *node, int16 *out_fef, int16 *out_lef)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get start and end time range for a node.  <a href="#a42bd0fbfe8b0cab1a9a7e799a3fc30a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a54888a8a7379c5c63613504b9a847ea3">ps_latnode_word</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get word string for this node.  <a href="#a54888a8a7379c5c63613504b9a847ea3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a0b3b6a843b49deab080bf1c6e99c875d">ps_latnode_baseword</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get base word string for this node.  <a href="#a0b3b6a843b49deab080bf1c6e99c875d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <br class="typebreak"/>
<a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a13fb923cd41fae910457df2643e58738">ps_latnode_exits</a> (<a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over exits from this node.  <a href="#a13fb923cd41fae910457df2643e58738"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <br class="typebreak"/>
<a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a16ad0cfb8d4b02f9cf90a8b52756a7f7">ps_latnode_entries</a> (<a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over entries to this node.  <a href="#a16ad0cfb8d4b02f9cf90a8b52756a7f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a68253946c2405d7f9090de7530f33b9d">ps_latnode_prob</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *node, <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> **out_link)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get best posterior probability and associated acoustic score from a lattice node.  <a href="#a68253946c2405d7f9090de7530f33b9d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <br class="typebreak"/>
<a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#af737b31c2570d321c26a79b5002f2ba7">ps_latlink_iter_next</a> (<a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *itor)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next link from a lattice link iterator.  <a href="#af737b31c2570d321c26a79b5002f2ba7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#aa19aaa4a38a922ff28fe071f69b8272d">ps_latlink_iter_free</a> (<a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *itor)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop iterating over links.  <a href="#aa19aaa4a38a922ff28fe071f69b8272d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec0e905415e724e6d6eed9b12c2f8584"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_iter_link" ref="aec0e905415e724e6d6eed9b12c2f8584" args="(ps_latlink_iter_t *itor)" -->
POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#aec0e905415e724e6d6eed9b12c2f8584">ps_latlink_iter_link</a> (<a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *itor)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get link from iterator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#aef48bb18865b449e69316ed5959eae9f">ps_latlink_times</a> (<a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *link, int16 *out_sf)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get start and end times from a lattice link.  <a href="#aef48bb18865b449e69316ed5959eae9f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a7344aa4fdb94a3a0af47901cb77185ed">ps_latlink_nodes</a> (<a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *link, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> **out_src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get destination and source nodes from a lattice link.  <a href="#a7344aa4fdb94a3a0af47901cb77185ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a04c080f501883fe5d4c5500afb28e53a">ps_latlink_word</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">&#160;</td><td class="mdescRight">Get word string from a lattice link.  <a href="#a04c080f501883fe5d4c5500afb28e53a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a392d98f9dc8fdae7f1092dced0738a43">ps_latlink_baseword</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">&#160;</td><td class="mdescRight">Get base word string from a lattice link.  <a href="#a392d98f9dc8fdae7f1092dced0738a43"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a8f37d188bd1dff70293adebdb2453ab4">ps_latlink_pred</a> (<a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *link)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get predecessor link in best path.  <a href="#a8f37d188bd1dff70293adebdb2453ab4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#aa393fbcf215acc8116e18aac2847cc59">ps_latlink_prob</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, int32 *out_ascr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get acoustic score and posterior probability from a lattice link.  <a href="#aa393fbcf215acc8116e18aac2847cc59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4aaae70904361b23a78cdcb632c298c4"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_link" ref="a4aaae70904361b23a78cdcb632c298c4" args="(ps_lattice_t *dag, ps_latnode_t *from, ps_latnode_t *to, int32 score, int32 ef)" -->
POCKETSPHINX_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a4aaae70904361b23a78cdcb632c298c4">ps_lattice_link</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *from, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *to, int32 score, int32 ef)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a directed link between "from" and "to" nodes, but if a link already exists, choose one with the best link_scr. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a997fce2eb1eaf316d463ddfb3d8395b8">ps_lattice_traverse_edges</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *start, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *end)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a forward traversal of edges in a word graph.  <a href="#a997fce2eb1eaf316d463ddfb3d8395b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a2682f3cbbb4e6aee040fbe570ca983a9">ps_lattice_traverse_next</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *end)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next link in forward traversal.  <a href="#a2682f3cbbb4e6aee040fbe570ca983a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#ad712e99a75ab8e9eb2f636aac8d5e2cb">ps_lattice_reverse_edges</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *start, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *end)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a reverse traversal of edges in a word graph.  <a href="#ad712e99a75ab8e9eb2f636aac8d5e2cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#ae94a8b82335f782370faa66bb4801c72">ps_lattice_reverse_next</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, <a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *start)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next link in reverse traversal.  <a href="#ae94a8b82335f782370faa66bb4801c72"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#af19b8f0749af01d4874595e80fc612ba">ps_lattice_bestpath</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, ngram_model_t *lmset, float32 lwf, float32 ascale)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Do N-Gram based best-path search on a word graph.  <a href="#af19b8f0749af01d4874595e80fc612ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a8c5c6ef260ab006099ab34d09b5b1d06">ps_lattice_posterior</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, ngram_model_t *lmset, float32 ascale)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate link posterior probabilities on a word graph.  <a href="#a8c5c6ef260ab006099ab34d09b5b1d06"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a30d83a5fd158d2acaa5107be7a09ed09">ps_lattice_posterior_prune</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag, int32 beam)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prune all links (and associated nodes) below a certain posterior probability.  <a href="#a30d83a5fd158d2acaa5107be7a09ed09"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">POCKETSPHINX_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ps__lattice_8h.html#a44a196a35a8aeb044251c6c152034c90">ps_lattice_n_frames</a> (<a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *dag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of frames in the lattice.  <a href="#a44a196a35a8aeb044251c6c152034c90"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Word graph search. </p>

<p>Definition in file <a class="el" href="ps__lattice_8h_source.html">ps_lattice.h</a>.</p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a58ba3066b0b611f07c7ae57d77f8e776"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_t" ref="a58ba3066b0b611f07c7ae57d77f8e776" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structps__latlink__s.html">ps_latlink_s</a> <a class="el" href="structps__latlink__s.html">ps_latlink_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Links between DAG nodes. </p>
<p>A link corresponds to a single hypothesized instance of a word with a given start and end point. </p>

<p>Definition at line <a class="el" href="ps__lattice_8h_source.html#l00076">76</a> of file <a class="el" href="ps__lattice_8h_source.html">ps_lattice.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad570c45dd72ad9ea8d57391fd2cd1c07"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_t" ref="ad570c45dd72ad9ea8d57391fd2cd1c07" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structps__latnode__s.html">ps_latnode_s</a> <a class="el" href="structps__latnode__s.html">ps_latnode_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>DAG nodes. </p>
<p>A node corresponds to a number of hypothesized instances of a word which all share the same starting point. </p>

<p>Definition at line <a class="el" href="ps__lattice_8h_source.html#l00063">63</a> of file <a class="el" href="ps__lattice_8h_source.html">ps_lattice.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a392d98f9dc8fdae7f1092dced0738a43"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_baseword" ref="a392d98f9dc8fdae7f1092dced0738a43" args="(ps_lattice_t *dag, ps_latlink_t *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT char const* ps_latlink_baseword </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td>
          <td class="paramname"><em>link</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get base word string from a lattice link. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to which node belongs. </td></tr>
    <tr><td class="paramname">link</td><td>Link inquired about </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Base word string for this link </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00830">830</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#l00066">ps_lattice_s::dict</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00097">ps_latlink_s::from</a>.</p>

</div>
</div>
<a class="anchor" id="aa19aaa4a38a922ff28fe071f69b8272d"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_iter_free" ref="aa19aaa4a38a922ff28fe071f69b8272d" args="(ps_latlink_iter_t *itor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT void ps_latlink_iter_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *&#160;</td>
          <td class="paramname"><em>itor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stop iterating over links. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">itor</td><td>Link iterator. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00789">789</a> of file <a class="el" href="ps__lattice_8c_source.html">ps_lattice.c</a>.</p>

</div>
</div>
<a class="anchor" id="af737b31c2570d321c26a79b5002f2ba7"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_iter_next" ref="af737b31c2570d321c26a79b5002f2ba7" args="(ps_latlink_iter_t *itor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a>* ps_latlink_iter_next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a> *&#160;</td>
          <td class="paramname"><em>itor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get next link from a lattice link iterator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">itor</td><td>Iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Updated iterator, or NULL if finished. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00783">783</a> of file <a class="el" href="ps__lattice_8c_source.html">ps_lattice.c</a>.</p>

</div>
</div>
<a class="anchor" id="a7344aa4fdb94a3a0af47901cb77185ed"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_nodes" ref="a7344aa4fdb94a3a0af47901cb77185ed" args="(ps_latlink_t *link, ps_latnode_t **out_src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latnode__s.html">ps_latnode_t</a>* ps_latlink_nodes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td>
          <td class="paramname"><em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> **&#160;</td>
          <td class="paramname"><em>out_src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get destination and source nodes from a lattice link. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">link</td><td>Link inquired about </td></tr>
    <tr><td class="paramname">out_src</td><td>Output: (optional) source node. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>destination node </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00815">815</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#l00097">ps_latlink_s::from</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>.</p>

</div>
</div>
<a class="anchor" id="a8f37d188bd1dff70293adebdb2453ab4"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_pred" ref="a8f37d188bd1dff70293adebdb2453ab4" args="(ps_latlink_t *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a>* ps_latlink_pred </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td>
          <td class="paramname"><em>link</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get predecessor link in best path. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">link</td><td>Link inquired about </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Best previous link from bestpath search, if any. Otherwise NULL </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00838">838</a> of file <a class="el" href="ps__lattice_8c_source.html">ps_lattice.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa393fbcf215acc8116e18aac2847cc59"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_prob" ref="aa393fbcf215acc8116e18aac2847cc59" args="(ps_lattice_t *dag, ps_latlink_t *link, int32 *out_ascr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int32 ps_latlink_prob </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td>
          <td class="paramname"><em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>out_ascr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get acoustic score and posterior probability from a lattice link. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to which node belongs. </td></tr>
    <tr><td class="paramname">link</td><td>Link inquired about </td></tr>
    <tr><td class="paramname">out_ascr</td><td>Output: (optional) acoustic score. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Posterior probability for this link. Log is expressed in the log-base used in the decoder. To convert to linear floating-point, use logmath_exp(<a class="el" href="ps__lattice_8h.html#a5c9d9171c9846c46c107bfe41a9120cf" title="Get the log-math computation object for this lattice.">ps_lattice_get_logmath()</a>, pprob). </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00844">844</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#l00103">ps_latlink_s::alpha</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00100">ps_latlink_s::ascr</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00104">ps_latlink_s::beta</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00077">ps_lattice_s::norm</a>, and <a class="el" href="hmm_8h_source.html#l00063">SENSCR_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="aef48bb18865b449e69316ed5959eae9f"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_times" ref="aef48bb18865b449e69316ed5959eae9f" args="(ps_latlink_t *link, int16 *out_sf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int ps_latlink_times </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td>
          <td class="paramname"><em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16 *&#160;</td>
          <td class="paramname"><em>out_sf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get start and end times from a lattice link. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>these are <b>inclusive</b> - i.e. the last frame of this word is ef, not ef-1.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">link</td><td>Link inquired about. </td></tr>
    <tr><td class="paramname">out_sf</td><td>Output: (optional) start frame of this link. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>End frame of this link. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00801">801</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#l00102">ps_latlink_s::ef</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00097">ps_latlink_s::from</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00120">ps_latnode_s::sf</a>.</p>

</div>
</div>
<a class="anchor" id="a04c080f501883fe5d4c5500afb28e53a"></a><!-- doxytag: member="ps_lattice.h::ps_latlink_word" ref="a04c080f501883fe5d4c5500afb28e53a" args="(ps_lattice_t *dag, ps_latlink_t *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT char const* ps_latlink_word </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latlink__s.html">ps_latlink_t</a> *&#160;</td>
          <td class="paramname"><em>link</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get word string from a lattice link. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to which node belongs. </td></tr>
    <tr><td class="paramname">link</td><td>Link inquired about </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Word string for this link (possibly a pronunciation variant). </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00822">822</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#l00066">ps_lattice_s::dict</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00097">ps_latlink_s::from</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00115">ps_latnode_s::wid</a>.</p>

</div>
</div>
<a class="anchor" id="a0b3b6a843b49deab080bf1c6e99c875d"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_baseword" ref="a0b3b6a843b49deab080bf1c6e99c875d" args="(ps_lattice_t *dag, ps_latnode_t *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT char const* ps_latnode_baseword </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get base word string for this node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to which node belongs. </td></tr>
    <tr><td class="paramname">node</td><td>Node inquired about. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Base word string for this node. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00748">748</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>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00066">ps_lattice_s::dict</a>.</p>

</div>
</div>
<a class="anchor" id="a16ad0cfb8d4b02f9cf90a8b52756a7f7"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_entries" ref="a16ad0cfb8d4b02f9cf90a8b52756a7f7" args="(ps_latnode_t *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a>* ps_latnode_entries </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Iterate over entries to this node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>Node inquired about. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Iterator over entry links to this node. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00777">777</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#l00129">ps_latnode_s::entries</a>.</p>

</div>
</div>
<a class="anchor" id="a13fb923cd41fae910457df2643e58738"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_exits" ref="a13fb923cd41fae910457df2643e58738" args="(ps_latnode_t *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structlatlink__list__s.html">ps_latlink_iter_t</a>* ps_latnode_exits </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Iterate over exits from this node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>Node inquired about. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Iterator over exit links from this node. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00771">771</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#l00128">ps_latnode_s::exits</a>.</p>

</div>
</div>
<a class="anchor" id="aaf073a0617c446aa5424513f7c1045b8"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_iter" ref="aaf073a0617c446aa5424513f7c1045b8" args="(ps_lattice_t *dag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a>* ps_latnode_iter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start iterating over nodes in the lattice. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>No particular order of traversal is guaranteed, and you should not depend on this.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to iterate over. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Iterator over lattice nodes. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00710">710</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#l00070">ps_lattice_s::nodes</a>.</p>

</div>
</div>
<a class="anchor" id="ae9a6464b83d37bfa2ce570206eff6aad"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_iter_free" ref="ae9a6464b83d37bfa2ce570206eff6aad" args="(ps_latnode_iter_t *itor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT void ps_latnode_iter_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a> *&#160;</td>
          <td class="paramname"><em>itor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stop iterating over nodes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">itor</td><td>Node iterator. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00722">722</a> of file <a class="el" href="ps__lattice_8c_source.html">ps_lattice.c</a>.</p>

</div>
</div>
<a class="anchor" id="a48aaf30b9396b38ccaf3a1b6e9225a01"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_iter_next" ref="a48aaf30b9396b38ccaf3a1b6e9225a01" args="(ps_latnode_iter_t *itor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a>* ps_latnode_iter_next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_iter_t</a> *&#160;</td>
          <td class="paramname"><em>itor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Move to next node in iteration. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">itor</td><td>Node iterator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Updated node iterator, or NULL if finished </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00716">716</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#l00132">ps_latnode_s::next</a>.</p>

</div>
</div>
<a class="anchor" id="a68253946c2405d7f9090de7530f33b9d"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_prob" ref="a68253946c2405d7f9090de7530f33b9d" args="(ps_lattice_t *dag, ps_latnode_t *node, ps_latlink_t **out_link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int32 ps_latnode_prob </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latlink__s.html">ps_latlink_t</a> **&#160;</td>
          <td class="paramname"><em>out_link</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get best posterior probability and associated acoustic score from a lattice node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to which node belongs. </td></tr>
    <tr><td class="paramname">node</td><td>Node inquired about. </td></tr>
    <tr><td class="paramname">out_link</td><td>Output: exit link with highest posterior probability </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Posterior probability of the best link exiting this node. Log is expressed in the log-base used in the decoder. To convert to linear floating-point, use logmath_exp(<a class="el" href="ps__lattice_8h.html#a5c9d9171c9846c46c107bfe41a9120cf" title="Get the log-math computation object for this lattice.">ps_lattice_get_logmath()</a>, pprob). </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00754">754</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#l00103">ps_latlink_s::alpha</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00104">ps_latlink_s::beta</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#l00064">ps_lattice_s::lmath</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00077">ps_lattice_s::norm</a>.</p>

</div>
</div>
<a class="anchor" id="a42bd0fbfe8b0cab1a9a7e799a3fc30a2"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_times" ref="a42bd0fbfe8b0cab1a9a7e799a3fc30a2" args="(ps_latnode_t *node, int16 *out_fef, int16 *out_lef)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int ps_latnode_times </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16 *&#160;</td>
          <td class="paramname"><em>out_fef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16 *&#160;</td>
          <td class="paramname"><em>out_lef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get start and end time range for a node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>Node inquired about. </td></tr>
    <tr><td class="paramname">out_fef</td><td>Output: End frame of first exit from this node. </td></tr>
    <tr><td class="paramname">out_lef</td><td>Output: End frame of last exit from this node. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Start frame for all edges exiting this node. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00734">734</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#l00118">ps_latnode_s::fef</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00119">ps_latnode_s::lef</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00120">ps_latnode_s::sf</a>.</p>

</div>
</div>
<a class="anchor" id="a54888a8a7379c5c63613504b9a847ea3"></a><!-- doxytag: member="ps_lattice.h::ps_latnode_word" ref="a54888a8a7379c5c63613504b9a847ea3" args="(ps_lattice_t *dag, ps_latnode_t *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT char const* ps_latnode_word </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get word string for this node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to which node belongs. </td></tr>
    <tr><td class="paramname">node</td><td>Node inquired about. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Word string for this node (possibly a pronunciation variant). </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00742">742</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#l00066">ps_lattice_s::dict</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00115">ps_latnode_s::wid</a>.</p>

</div>
</div>
<a class="anchor" id="af19b8f0749af01d4874595e80fc612ba"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_bestpath" ref="af19b8f0749af01d4874595e80fc612ba" args="(ps_lattice_t *dag, ngram_model_t *lmset, float32 lwf, float32 ascale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a>* ps_lattice_bestpath </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ngram_model_t *&#160;</td>
          <td class="paramname"><em>lmset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>lwf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>ascale</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Do N-Gram based best-path search on a word graph. </p>
<p>This function calculates both the best path as well as the forward probability used in confidence estimation.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Final link in best path, NULL on error. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01225">1225</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#l00103">ps_latlink_s::alpha</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00100">ps_latlink_s::ascr</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00116">ps_latnode_s::basewid</a>, <a class="el" href="hmm_8h_source.html#l00085">BETTER_THAN</a>, <a class="el" href="pocketsphinx__internal_8h_source.html#l00091">ps_search_s::dict</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#l00129">ps_latnode_s::entries</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#l00076">ps_lattice_s::final_node_ascr</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00097">ps_latlink_s::from</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00119">ps_latnode_s::lef</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00064">ps_lattice_s::lmath</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#l00070">ps_lattice_s::nodes</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00077">ps_lattice_s::norm</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00101">ps_latlink_s::path_scr</a>, <a class="el" href="ps__lattice_8c_source.html#l01101">ps_lattice_traverse_edges()</a>, <a class="el" href="ps__lattice_8c_source.html#l01127">ps_lattice_traverse_next()</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00065">ps_lattice_s::search</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>, <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00115">ps_latnode_s::wid</a>.</p>

</div>
</div>
<a class="anchor" id="a3f90e846bde47cd1acdff165b92f5c22"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_free" ref="a3f90e846bde47cd1acdff165b92f5c22" args="(ps_lattice_t *dag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int ps_lattice_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free a lattice. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>new reference count (0 if dag was freed) </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00688">688</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#l00078">ps_lattice_s::hyp_str</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00081">ps_lattice_s::latlink_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00082">ps_lattice_s::latlink_list_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00080">ps_lattice_s::latnode_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00064">ps_lattice_s::lmath</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00062">ps_lattice_s::refcount</a>.</p>

<p>Referenced by <a class="el" href="ngram__search_8c_source.html#l01220">ngram_search_lattice()</a>, <a class="el" href="pocketsphinx_8c_source.html#l01095">ps_search_deinit()</a>, and <a class="el" href="pocketsphinx_8c_source.html#l00619">ps_start_utt()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c9d9171c9846c46c107bfe41a9120cf"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_get_logmath" ref="a5c9d9171c9846c46c107bfe41a9120cf" args="(ps_lattice_t *dag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT logmath_t* ps_lattice_get_logmath </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the log-math computation object for this lattice. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The log-math object for this lattice. The lattice retains ownership of this pointer, so you should not attempt to free it manually. Use logmath_retain() if you wish to reuse it elsewhere. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00704">704</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#l00064">ps_lattice_s::lmath</a>.</p>

</div>
</div>
<a class="anchor" id="a44a196a35a8aeb044251c6c152034c90"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_n_frames" ref="a44a196a35a8aeb044251c6c152034c90" args="(ps_lattice_t *dag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int ps_lattice_n_frames </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of frames in the lattice. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>The lattice in question. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of frames in this lattice. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00656">656</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#l00074">ps_lattice_s::n_frames</a>.</p>

</div>
</div>
<a class="anchor" id="a8c5c6ef260ab006099ab34d09b5b1d06"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_posterior" ref="a8c5c6ef260ab006099ab34d09b5b1d06" args="(ps_lattice_t *dag, ngram_model_t *lmset, float32 ascale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int32 ps_lattice_posterior </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ngram_model_t *&#160;</td>
          <td class="paramname"><em>lmset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>ascale</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculate link posterior probabilities on a word graph. </p>
<p>This function assumes that bestpath search has already been done.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Posterior probability of the utterance as a whole. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01395">1395</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#l00100">ps_latlink_s::ascr</a>, <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#l00104">ps_latlink_s::beta</a>, <a class="el" href="hmm_8h_source.html#l00085">BETTER_THAN</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#l00076">ps_lattice_s::final_node_ascr</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00097">ps_latlink_s::from</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00064">ps_lattice_s::lmath</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#l00070">ps_lattice_s::nodes</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00077">ps_lattice_s::norm</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00101">ps_latlink_s::path_scr</a>, <a class="el" href="ps__lattice_8c_source.html#l01158">ps_lattice_reverse_edges()</a>, <a class="el" href="ps__lattice_8c_source.html#l01183">ps_lattice_reverse_next()</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00065">ps_lattice_s::search</a>, <a class="el" href="hmm_8h_source.html#l00063">SENSCR_SHIFT</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>.</p>

</div>
</div>
<a class="anchor" id="a30d83a5fd158d2acaa5107be7a09ed09"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_posterior_prune" ref="a30d83a5fd158d2acaa5107be7a09ed09" args="(ps_lattice_t *dag, int32 beam)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int32 ps_lattice_posterior_prune </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>beam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prune all links (and associated nodes) below a certain posterior probability. </p>
<p>This function assumes that <a class="el" href="ps__lattice_8h.html#a8c5c6ef260ab006099ab34d09b5b1d06" title="Calculate link posterior probabilities on a word graph.">ps_lattice_posterior()</a> has already been called.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">beam</td><td>Minimum posterior probability for links. This is expressed in the log-base used in the decoder. To convert from linear floating-point, use logmath_log(<a class="el" href="ps__lattice_8h.html#a5c9d9171c9846c46c107bfe41a9120cf" title="Get the log-math computation object for this lattice.">ps_lattice_get_logmath()</a>, prob). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of arcs removed. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01464">1464</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#l00103">ps_latlink_s::alpha</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00104">ps_latlink_s::beta</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#l00129">ps_latnode_s::entries</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#l00097">ps_latlink_s::from</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00081">ps_lattice_s::latlink_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00082">ps_lattice_s::latlink_list_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00077">ps_lattice_s::norm</a>, <a class="el" href="ps__lattice_8c_source.html#l00197">ps_lattice_delete_unreachable()</a>, <a class="el" href="ps__lattice_8c_source.html#l01101">ps_lattice_traverse_edges()</a>, <a class="el" href="ps__lattice_8c_source.html#l01127">ps_lattice_traverse_next()</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00121">ps_latnode_s::reachable</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>.</p>

</div>
</div>
<a class="anchor" id="a26f4a34c81b112109621b7ecacd57ee0"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_read" ref="a26f4a34c81b112109621b7ecacd57ee0" args="(struct ps_decoder_s *ps, char const *file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__lattice__s.html">ps_lattice_t</a>* ps_lattice_read </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structps__decoder__s.html">ps_decoder_s</a> *&#160;</td>
          <td class="paramname"><em>ps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>file</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a lattice from a file on disk. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ps</td><td>Decoder to use for processing this lattice, or NULL. </td></tr>
    <tr><td class="paramname">file</td><td>Path to lattice file. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Newly created lattice, or NULL for failure. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00410">410</a> of file <a class="el" href="ps__lattice_8c_source.html">ps_lattice.c</a>.</p>

<p>References <a class="el" href="s3types_8h_source.html#l00136">BAD_S3WID</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00116">ps_latnode_s::basewid</a>, <a class="el" href="pocketsphinx__internal_8h_source.html#l00184">ps_decoder_s::config</a>, <a class="el" href="pocketsphinx__internal_8h_source.html#l00089">ps_search_s::config</a>, <a class="el" href="pocketsphinx__internal_8h_source.html#l00189">ps_decoder_s::dict</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00066">ps_lattice_s::dict</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#l00129">ps_latnode_s::entries</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#l00118">ps_latnode_s::fef</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00068">ps_lattice_s::frate</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00114">ps_latnode_s::id</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00081">ps_lattice_s::latlink_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00082">ps_lattice_s::latlink_list_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00080">ps_lattice_s::latnode_alloc</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00119">ps_latnode_s::lef</a>, <a class="el" href="pocketsphinx__internal_8h_source.html#l00191">ps_decoder_s::lmath</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00064">ps_lattice_s::lmath</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#l00070">ps_lattice_s::nodes</a>, <a class="el" href="ps__lattice_8c_source.html#l00106">ps_lattice_bypass_fillers()</a>, <a class="el" href="ps__lattice_8c_source.html#l00197">ps_lattice_delete_unreachable()</a>, <a class="el" href="ps__lattice_8c_source.html#l00065">ps_lattice_link()</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00121">ps_latnode_s::reachable</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00062">ps_lattice_s::refcount</a>, <a class="el" href="pocketsphinx__internal_8h_source.html#l00197">ps_decoder_s::search</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00065">ps_lattice_s::search</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00120">ps_latnode_s::sf</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00067">ps_lattice_s::silence</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00115">ps_latnode_s::wid</a>, <a class="el" href="hmm_8h_source.html#l00090">WORSE_THAN</a>, and <a class="el" href="hmm_8h_source.html#l00074">WORST_SCORE</a>.</p>

</div>
</div>
<a class="anchor" id="a9efc5f2836e2a0bd5d58326303516df5"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_retain" ref="a9efc5f2836e2a0bd5d58326303516df5" args="(ps_lattice_t *dag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__lattice__s.html">ps_lattice_t</a>* ps_lattice_retain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retain a lattice. </p>
<p>This function retains ownership of a lattice for the caller, preventing it from being freed automatically. You must call <a class="el" href="ps__lattice_8h.html#a3f90e846bde47cd1acdff165b92f5c22" title="Free a lattice.">ps_lattice_free()</a> to free it after having called this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the retained lattice. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00681">681</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#l00062">ps_lattice_s::refcount</a>.</p>

</div>
</div>
<a class="anchor" id="ad712e99a75ab8e9eb2f636aac8d5e2cb"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_reverse_edges" ref="ad712e99a75ab8e9eb2f636aac8d5e2cb" args="(ps_lattice_t *dag, ps_latnode_t *start, ps_latnode_t *end)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a>* ps_lattice_reverse_edges </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start a reverse traversal of edges in a word graph. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>See <a class="el" href="ps__lattice_8h.html#a997fce2eb1eaf316d463ddfb3d8395b8" title="Start a forward traversal of edges in a word graph.">ps_lattice_traverse_edges()</a> for why this API is the way it is.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to be traversed. </td></tr>
    <tr><td class="paramname">start</td><td>Start node (goal) of traversal. </td></tr>
    <tr><td class="paramname">end</td><td>End node (source) of traversal. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>First link in traversal. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01158">1158</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#l00129">ps_latnode_s::entries</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#l00124">ps_latnode_s::fanin</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#l00070">ps_lattice_s::nodes</a>, <a class="el" href="ps__lattice_8c_source.html#l01093">ps_lattice_delq()</a>, <a class="el" href="ps__lattice_8c_source.html#l01064">ps_lattice_pushq()</a>, and <a class="el" href="ps__lattice_8c_source.html#l01183">ps_lattice_reverse_next()</a>.</p>

<p>Referenced by <a class="el" href="ps__lattice_8c_source.html#l01395">ps_lattice_posterior()</a>.</p>

</div>
</div>
<a class="anchor" id="ae94a8b82335f782370faa66bb4801c72"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_reverse_next" ref="ae94a8b82335f782370faa66bb4801c72" args="(ps_lattice_t *dag, ps_latnode_t *start)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a>* ps_lattice_reverse_next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>start</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the next link in reverse traversal. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to be traversed. </td></tr>
    <tr><td class="paramname">start</td><td>Start node (goal) of traversal. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Next link in traversal. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01183">1183</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#l00129">ps_latnode_s::entries</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00124">ps_latnode_s::fanin</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00097">ps_latlink_s::from</a>, <a class="el" href="ps__lattice_8c_source.html#l01093">ps_lattice_delq()</a>, <a class="el" href="ps__lattice_8c_source.html#l01076">ps_lattice_popq()</a>, <a class="el" href="ps__lattice_8c_source.html#l01064">ps_lattice_pushq()</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>.</p>

<p>Referenced by <a class="el" href="ps__lattice_8c_source.html#l01395">ps_lattice_posterior()</a>, and <a class="el" href="ps__lattice_8c_source.html#l01158">ps_lattice_reverse_edges()</a>.</p>

</div>
</div>
<a class="anchor" id="a997fce2eb1eaf316d463ddfb3d8395b8"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_traverse_edges" ref="a997fce2eb1eaf316d463ddfb3d8395b8" args="(ps_lattice_t *dag, ps_latnode_t *start, ps_latnode_t *end)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a>* ps_lattice_traverse_edges </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start a forward traversal of edges in a word graph. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>A keen eye will notice an inconsistency in this API versus other types of iterators in PocketSphinx. The reason for this is that the traversal algorithm is much more efficient when it is able to modify the lattice structure. Therefore, to avoid giving the impression that multiple traversals are possible at once, no separate iterator structure is provided.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to be traversed. </td></tr>
    <tr><td class="paramname">start</td><td>Start node (source) of traversal. </td></tr>
    <tr><td class="paramname">end</td><td>End node (goal) of traversal. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>First link in traversal. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01101">1101</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#l00128">ps_latnode_s::exits</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00124">ps_latnode_s::fanin</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#l00070">ps_lattice_s::nodes</a>, <a class="el" href="ps__lattice_8c_source.html#l01093">ps_lattice_delq()</a>, <a class="el" href="ps__lattice_8c_source.html#l01064">ps_lattice_pushq()</a>, <a class="el" href="ps__lattice_8c_source.html#l01127">ps_lattice_traverse_next()</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>.</p>

<p>Referenced by <a class="el" href="ps__lattice_8c_source.html#l01225">ps_lattice_bestpath()</a>, and <a class="el" href="ps__lattice_8c_source.html#l01464">ps_lattice_posterior_prune()</a>.</p>

</div>
</div>
<a class="anchor" id="a2682f3cbbb4e6aee040fbe570ca983a9"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_traverse_next" ref="a2682f3cbbb4e6aee040fbe570ca983a9" args="(ps_lattice_t *dag, ps_latnode_t *end)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT <a class="el" href="structps__latlink__s.html">ps_latlink_t</a>* ps_lattice_traverse_next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structps__latnode__s.html">ps_latnode_t</a> *&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the next link in forward traversal. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dag</td><td>Lattice to be traversed. </td></tr>
    <tr><td class="paramname">end</td><td>End node (goal) of traversal. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Next link in traversal. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l01127">1127</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#l00128">ps_latnode_s::exits</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00124">ps_latnode_s::fanin</a>, <a class="el" href="ps__lattice_8c_source.html#l01093">ps_lattice_delq()</a>, <a class="el" href="ps__lattice_8c_source.html#l01076">ps_lattice_popq()</a>, <a class="el" href="ps__lattice_8c_source.html#l01064">ps_lattice_pushq()</a>, and <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>.</p>

<p>Referenced by <a class="el" href="ps__lattice_8c_source.html#l01225">ps_lattice_bestpath()</a>, <a class="el" href="ps__lattice_8c_source.html#l01464">ps_lattice_posterior_prune()</a>, and <a class="el" href="ps__lattice_8c_source.html#l01101">ps_lattice_traverse_edges()</a>.</p>

</div>
</div>
<a class="anchor" id="a3f2e2b88d0aa80346cc64d2b7934b863"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_write" ref="a3f2e2b88d0aa80346cc64d2b7934b863" args="(ps_lattice_t *dag, char const *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int ps_lattice_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write a lattice to disk. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 for success, &lt;0 on failure. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00233">233</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#l00100">ps_latlink_s::ascr</a>, <a class="el" href="hmm_8h_source.html#l00085">BETTER_THAN</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00066">ps_lattice_s::dict</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#l00118">ps_latnode_s::fef</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00114">ps_latnode_s::id</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00119">ps_latnode_s::lef</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00064">ps_lattice_s::lmath</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#l00070">ps_lattice_s::nodes</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>, <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00115">ps_latnode_s::wid</a>, <a class="el" href="hmm_8h_source.html#l00090">WORSE_THAN</a>, and <a class="el" href="hmm_8h_source.html#l00074">WORST_SCORE</a>.</p>

</div>
</div>
<a class="anchor" id="aefd25c0f49a0d70f999187a26fa2ff06"></a><!-- doxytag: member="ps_lattice.h::ps_lattice_write_htk" ref="aefd25c0f49a0d70f999187a26fa2ff06" args="(ps_lattice_t *dag, char const *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCKETSPHINX_EXPORT int ps_lattice_write_htk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structps__lattice__s.html">ps_lattice_t</a> *&#160;</td>
          <td class="paramname"><em>dag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write a lattice to disk in HTK format. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 for success, &lt;0 on failure. </dd></dl>

<p>Definition at line <a class="el" href="ps__lattice_8c_source.html#l00293">293</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#l00103">ps_latlink_s::alpha</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00100">ps_latlink_s::ascr</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00104">ps_latlink_s::beta</a>, <a class="el" href="hmm_8h_source.html#l00085">BETTER_THAN</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00066">ps_lattice_s::dict</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#l00068">ps_lattice_s::frate</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00114">ps_latnode_s::id</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00064">ps_lattice_s::lmath</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#l00070">ps_lattice_s::nodes</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00077">ps_lattice_s::norm</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00121">ps_latnode_s::reachable</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>, <a class="el" href="ps__lattice__internal_8h_source.html#l00071">ps_lattice_s::start</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00098">ps_latlink_s::to</a>, <a class="el" href="ps__lattice__internal_8h_source.html#l00115">ps_latnode_s::wid</a>, <a class="el" href="hmm_8h_source.html#l00090">WORSE_THAN</a>, and <a class="el" href="hmm_8h_source.html#l00074">WORST_SCORE</a>.</p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="ps__lattice_8h.html">ps_lattice.h</a>      </li>
      <li class="footer">Generated on Wed Apr 20 2011 for PocketSphinx by&#160;
<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>