This file is indexed.

/usr/share/doc/pocketsphinx/html/hmm_8h_source.html is in pocketsphinx-doc 0.8.0+real5prealpha-1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>PocketSphinx: src/libpocketsphinx/hmm.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">PocketSphinx
   &#160;<span id="projectnumber">5prealpha</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <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><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('hmm_8h_source.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">hmm.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="hmm_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">/* ====================================================================</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (c) 1999-2004 Carnegie Mellon University.  All rights</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * are met:</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *    notice, this list of conditions and the following disclaimer. </span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *    notice, this list of conditions and the following disclaimer in</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *    the documentation and/or other materials provided with the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *    distribution.</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * This work was supported in part by funding from the Defense Advanced </span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * Research Projects Agency and the National Science Foundation of the </span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * United States of America, and the CMU Sphinx Speech Consortium.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS&#39;&#39; AND </span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, </span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> * ====================================================================</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#ifndef __HMM_H__</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define __HMM_H__</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* System headers. */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">/* SphinxBase headers. */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;sphinxbase/fixpoint.h&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;sphinxbase/listelem_alloc.h&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">/* PocketSphinx headers. */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="bin__mdef_8h.html">bin_mdef.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="hmm_8h.html#ac9c9bae34d05f32736ae1743316737ef">   64</a></span>&#160;<span class="keyword">typedef</span> int32 <a class="code" href="hmm_8h.html#ac9c9bae34d05f32736ae1743316737ef">frame_idx_t</a>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="hmm_8h.html#a5b6b9157cfaaec312508eaed602f0698">   69</a></span>&#160;<span class="preprocessor">#define MAX_N_FRAMES MAX_INT32</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="hmm_8h.html#af94da16e3e5b550b9be05b0f07402cc7">   73</a></span>&#160;<span class="preprocessor">#define SENSCR_SHIFT 10</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="hmm_8h.html#a833f100ee293ad0f1c03f2a5ef9be77a">   84</a></span>&#160;<span class="preprocessor">#define WORST_SCORE             ((int)0xE0000000)</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="hmm_8h.html#a9b38399b544dbb93bc9b7d0094e91db7">   90</a></span>&#160;<span class="preprocessor">#define TMAT_WORST_SCORE        (-255)</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="hmm_8h.html#a2874ab52613ff781c96f570ec0eb0d98">   95</a></span>&#160;<span class="preprocessor">#define BETTER_THAN &gt;</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="hmm_8h.html#aa930fb8fb6fce7f34bcf4018b81d7066">  100</a></span>&#160;<span class="preprocessor">#define WORSE_THAN &lt;</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="structhmm__context__s.html">  146</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structhmm__context__s.html">hmm_context_s</a> {</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="structhmm__context__s.html#a27ba4c5db11110bddf240dd52ed36084">  147</a></span>&#160;    int32 <a class="code" href="structhmm__context__s.html#a27ba4c5db11110bddf240dd52ed36084">n_emit_state</a>;     </div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="structhmm__context__s.html#a9ef2d83f67525050bea8b05f8a118f44">  148</a></span>&#160;    uint8 ** <span class="keyword">const</span> *<a class="code" href="structhmm__context__s.html#a9ef2d83f67525050bea8b05f8a118f44">tp</a>;     </div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structhmm__context__s.html#a1cca9eb94bc20d9c5e60f2da18074397">  149</a></span>&#160;    int16 <span class="keyword">const</span> *<a class="code" href="structhmm__context__s.html#a1cca9eb94bc20d9c5e60f2da18074397">senscore</a>;  </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structhmm__context__s.html#abbb0a32aadcc1938d9f21b04204c52da">  151</a></span>&#160;    uint16 * <span class="keyword">const</span> *<a class="code" href="structhmm__context__s.html#abbb0a32aadcc1938d9f21b04204c52da">sseq</a>;   </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structhmm__context__s.html#a671c02e0443f41914471a7acfac6125c">  152</a></span>&#160;    int32 *<a class="code" href="structhmm__context__s.html#a671c02e0443f41914471a7acfac6125c">st_sen_scr</a>;      </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structhmm__context__s.html#a63486d186a984a87d060064e65fab564">  153</a></span>&#160;    listelem_alloc_t *<a class="code" href="structhmm__context__s.html#a63486d186a984a87d060064e65fab564">mpx_ssid_alloc</a>; </div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="structhmm__context__s.html#a1f80af93746230d41b4ee7e89786a4c7">  154</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="structhmm__context__s.html#a1f80af93746230d41b4ee7e89786a4c7">udata</a>;            </div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;} <a class="code" href="structhmm__context__t.html">hmm_context_t</a>;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="hmm_8h.html#a1eb055ab0e55008f27d78e7b07a55a1c">  160</a></span>&#160;<span class="preprocessor">#define HMM_MAX_NSTATE 5</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structhmm__s.html">  170</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structhmm__s.html">hmm_s</a> {</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="structhmm__s.html#aa47f90a8a9387d4f721cf0de9129b059">  171</a></span>&#160;    <a class="code" href="structhmm__context__t.html">hmm_context_t</a> *<a class="code" href="structhmm__s.html#aa47f90a8a9387d4f721cf0de9129b059">ctx</a>;            </div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="structhmm__s.html#a5aa78f8b09547dc90d83fa1e3d8cf3c3">  172</a></span>&#160;    int32 score[<a class="code" href="hmm_8h.html#a1eb055ab0e55008f27d78e7b07a55a1c">HMM_MAX_NSTATE</a>];   </div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="structhmm__s.html#ab7be2a31a64eb152eee76b5192ad03e7">  173</a></span>&#160;    int32 history[<a class="code" href="hmm_8h.html#a1eb055ab0e55008f27d78e7b07a55a1c">HMM_MAX_NSTATE</a>]; </div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="structhmm__s.html#a9d9c7fc2468f7725cd0d8fcc7d731f7b">  174</a></span>&#160;    int32 <a class="code" href="structhmm__s.html#a9d9c7fc2468f7725cd0d8fcc7d731f7b">out_score</a>;               </div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="structhmm__s.html#a849e7be0748c36446c2f9e72088efab4">  175</a></span>&#160;    int32 <a class="code" href="structhmm__s.html#a849e7be0748c36446c2f9e72088efab4">out_history</a>;             </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="structhmm__s.html#ad4b029868ba7dd9c27e7be2067651be6">  176</a></span>&#160;    uint16 <a class="code" href="structhmm__s.html#ad4b029868ba7dd9c27e7be2067651be6">ssid</a>;                   </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="structhmm__s.html#abbe5d689b86ce9d3c5dfa2290a33285b">  177</a></span>&#160;    uint16 senid[<a class="code" href="hmm_8h.html#a1eb055ab0e55008f27d78e7b07a55a1c">HMM_MAX_NSTATE</a>];  </div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="structhmm__s.html#a574850d7092b1e574addf0027b32ea61">  178</a></span>&#160;    int32 <a class="code" href="structhmm__s.html#a574850d7092b1e574addf0027b32ea61">bestscore</a>;    </div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structhmm__s.html#a041bb6bd205ce1e0e5e1082d2c8a3586">  179</a></span>&#160;    int16 <a class="code" href="structhmm__s.html#a041bb6bd205ce1e0e5e1082d2c8a3586">tmatid</a>;       </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="structhmm__s.html#ab89d10923ba5a0dc14dc46d76d8daaaf">  180</a></span>&#160;    frame_idx_t <a class="code" href="structhmm__s.html#ab89d10923ba5a0dc14dc46d76d8daaaf">frame</a>;  </div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="structhmm__s.html#a25329f2f580cbdbe37be29bc9c2352be">  181</a></span>&#160;    uint8 <a class="code" href="structhmm__s.html#a25329f2f580cbdbe37be29bc9c2352be">mpx</a>;          </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="structhmm__s.html#a6a2b5c90489a11d79e4c65984b69bf7b">  182</a></span>&#160;    uint8 <a class="code" href="structhmm__s.html#a6a2b5c90489a11d79e4c65984b69bf7b">n_emit_state</a>; </div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;} <a class="code" href="structhmm__t.html">hmm_t</a>;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="hmm_8h.html#a3756f3c269d928924bf783f57c90adef">  186</a></span>&#160;<span class="preprocessor">#define hmm_context(h) (h)-&gt;ctx</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#define hmm_is_mpx(h) (h)-&gt;mpx</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">#define hmm_in_score(h) (h)-&gt;score[0]</span></div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor">#define hmm_score(h,st) (h)-&gt;score[st]</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#define hmm_out_score(h) (h)-&gt;out_score</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">#define hmm_in_history(h) (h)-&gt;history[0]</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">#define hmm_history(h,st) (h)-&gt;history[st]</span></div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#define hmm_out_history(h) (h)-&gt;out_history</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">#define hmm_bestscore(h) (h)-&gt;bestscore</span></div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">#define hmm_frame(h) (h)-&gt;frame</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">#define hmm_mpx_ssid(h,st) (h)-&gt;senid[st]</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">#define hmm_nonmpx_ssid(h) (h)-&gt;ssid</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">#define hmm_ssid(h,st) (hmm_is_mpx(h)                                   \</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">                        ? hmm_mpx_ssid(h,st) : hmm_nonmpx_ssid(h))</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">#define hmm_mpx_senid(h,st) (hmm_mpx_ssid(h,st) == BAD_SENID \</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">                             ? BAD_SENID : (h)-&gt;ctx-&gt;sseq[hmm_mpx_ssid(h,st)][st])</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">#define hmm_nonmpx_senid(h,st) ((h)-&gt;senid[st])</span></div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">#define hmm_senid(h,st) (hmm_is_mpx(h)                                  \</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">                         ? hmm_mpx_senid(h,st) : hmm_nonmpx_senid(h,st))</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">#define hmm_senscr(h,st) (hmm_senid(h,st) == BAD_SENID                  \</span></div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">                          ? WORST_SCORE                                 \</span></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">                          : -(h)-&gt;ctx-&gt;senscore[hmm_senid(h,st)])</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">#define hmm_tmatid(h) (h)-&gt;tmatid</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor">#define hmm_tprob(h,i,j) (-(h)-&gt;ctx-&gt;tp[hmm_tmatid(h)][i][j])</span></div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor">#define hmm_n_emit_state(h) ((h)-&gt;n_emit_state)</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#define hmm_n_state(h) ((h)-&gt;n_emit_state + 1)</span></div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<a class="code" href="structhmm__context__t.html">hmm_context_t</a> *<a class="code" href="hmm_8h.html#a4d6e2799cbe290112e8517adcab1b038">hmm_context_init</a>(int32 <a class="code" href="structhmm__context__s.html#a27ba4c5db11110bddf240dd52ed36084">n_emit_state</a>,</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;                                uint8 ** <span class="keyword">const</span> *<a class="code" href="structhmm__context__s.html#a9ef2d83f67525050bea8b05f8a118f44">tp</a>,</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                                int16 <span class="keyword">const</span> *<a class="code" href="structhmm__context__s.html#a1cca9eb94bc20d9c5e60f2da18074397">senscore</a>,</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;                                uint16 * <span class="keyword">const</span> *<a class="code" href="structhmm__context__s.html#abbb0a32aadcc1938d9f21b04204c52da">sseq</a>);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="hmm_8h.html#a44d0b5515cb269bf9b95f62aada18cbb">  227</a></span>&#160;<span class="preprocessor">#define hmm_context_set_senscore(ctx, senscr) ((ctx)-&gt;senscore = (senscr))</span></div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#ab66534ad7970d49527f1b2a1e76bb05e">hmm_context_free</a>(<a class="code" href="structhmm__context__t.html">hmm_context_t</a> *ctx);</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#aa911ae0d1c0eba562692fbeebca90d78">hmm_init</a>(<a class="code" href="structhmm__context__t.html">hmm_context_t</a> *ctx, <a class="code" href="structhmm__t.html">hmm_t</a> *hmm, <span class="keywordtype">int</span> mpx, <span class="keywordtype">int</span> ssid, <span class="keywordtype">int</span> tmatid);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#a7440ced1649225beb6816bf62481e08b">hmm_deinit</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *hmm);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#af4c0cefb23087a0b1731b34048cfdaf9">hmm_clear</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *h);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#a9561d7ffa1e61c99de2d2b900774152f">hmm_clear_scores</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *h);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#a0438bc7672ff9200274ffe7b5051eb92">hmm_normalize</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *h, int32 bestscr);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#a7285d01d533996d750c78e0d96042716">hmm_enter</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *h, int32 score,</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;               int32 histid, <span class="keywordtype">int</span> frame);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;int32 <a class="code" href="hmm_8h.html#a24ed030b10cb07e12173b45d3800db4b">hmm_vit_eval</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *hmm);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  </div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;int32 <a class="code" href="hmm_8h.html#a84947383bf7940f799918c37ece85cf0">hmm_dump_vit_eval</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *hmm,  </div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                        FILE *fp </div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    );</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keywordtype">void</span> <a class="code" href="hmm_8h.html#ad747fa967b5e414ad48fdffb9b767baf">hmm_dump</a>(<a class="code" href="structhmm__t.html">hmm_t</a> *h,  </div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;              FILE *fp </div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    );</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;}</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* __HMM_H__ */</span><span class="preprocessor"></span></div><div class="ttc" id="hmm_8h_html_a84947383bf7940f799918c37ece85cf0"><div class="ttname"><a href="hmm_8h.html#a84947383bf7940f799918c37ece85cf0">hmm_dump_vit_eval</a></div><div class="ttdeci">int32 hmm_dump_vit_eval(hmm_t *hmm, FILE *fp)</div><div class="ttdoc">Like hmm_vit_eval, but dump HMM state and relevant senscr to fp first, for debugging;. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00810">hmm.c:810</a></div></div>
<div class="ttc" id="structhmm__context__s_html_a1f80af93746230d41b4ee7e89786a4c7"><div class="ttname"><a href="structhmm__context__s.html#a1f80af93746230d41b4ee7e89786a4c7">hmm_context_s::udata</a></div><div class="ttdeci">void * udata</div><div class="ttdoc">Whatever you feel like, gosh. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00154">hmm.h:154</a></div></div>
<div class="ttc" id="hmm_8h_html_aa911ae0d1c0eba562692fbeebca90d78"><div class="ttname"><a href="hmm_8h.html#aa911ae0d1c0eba562692fbeebca90d78">hmm_init</a></div><div class="ttdeci">void hmm_init(hmm_context_t *ctx, hmm_t *hmm, int mpx, int ssid, int tmatid)</div><div class="ttdoc">Populate a previously-allocated HMM structure, allocating internal data. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00089">hmm.c:89</a></div></div>
<div class="ttc" id="structhmm__t_html"><div class="ttname"><a href="structhmm__t.html">hmm_t</a></div><div class="ttdoc">An individual HMM among the HMM search space. </div></div>
<div class="ttc" id="structhmm__context__s_html_a671c02e0443f41914471a7acfac6125c"><div class="ttname"><a href="structhmm__context__s.html#a671c02e0443f41914471a7acfac6125c">hmm_context_s::st_sen_scr</a></div><div class="ttdeci">int32 * st_sen_scr</div><div class="ttdoc">Temporary array of senone scores (for some topologies). </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00152">hmm.h:152</a></div></div>
<div class="ttc" id="structhmm__context__s_html_a63486d186a984a87d060064e65fab564"><div class="ttname"><a href="structhmm__context__s.html#a63486d186a984a87d060064e65fab564">hmm_context_s::mpx_ssid_alloc</a></div><div class="ttdeci">listelem_alloc_t * mpx_ssid_alloc</div><div class="ttdoc">Allocator for senone sequence ID arrays. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00153">hmm.h:153</a></div></div>
<div class="ttc" id="hmm_8h_html_a7440ced1649225beb6816bf62481e08b"><div class="ttname"><a href="hmm_8h.html#a7440ced1649225beb6816bf62481e08b">hmm_deinit</a></div><div class="ttdeci">void hmm_deinit(hmm_t *hmm)</div><div class="ttdoc">Free an HMM structure, releasing internal data (but not the HMM structure itself). </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00111">hmm.c:111</a></div></div>
<div class="ttc" id="bin__mdef_8h_html"><div class="ttname"><a href="bin__mdef_8h.html">bin_mdef.h</a></div><div class="ttdoc">Binary format model definition files, with support for heterogeneous topologies and variable-size N-p...</div></div>
<div class="ttc" id="structhmm__s_html_a9d9c7fc2468f7725cd0d8fcc7d731f7b"><div class="ttname"><a href="structhmm__s.html#a9d9c7fc2468f7725cd0d8fcc7d731f7b">hmm_s::out_score</a></div><div class="ttdeci">int32 out_score</div><div class="ttdoc">Score for non-emitting exit state. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00174">hmm.h:174</a></div></div>
<div class="ttc" id="structhmm__context__s_html"><div class="ttname"><a href="structhmm__context__s.html">hmm_context_s</a></div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00146">hmm.h:146</a></div></div>
<div class="ttc" id="structhmm__s_html_a25329f2f580cbdbe37be29bc9c2352be"><div class="ttname"><a href="structhmm__s.html#a25329f2f580cbdbe37be29bc9c2352be">hmm_s::mpx</a></div><div class="ttdeci">uint8 mpx</div><div class="ttdoc">Is this HMM multiplex? (hoisted for speed) </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00181">hmm.h:181</a></div></div>
<div class="ttc" id="hmm_8h_html_a1eb055ab0e55008f27d78e7b07a55a1c"><div class="ttname"><a href="hmm_8h.html#a1eb055ab0e55008f27d78e7b07a55a1c">HMM_MAX_NSTATE</a></div><div class="ttdeci">#define HMM_MAX_NSTATE</div><div class="ttdoc">Hard-coded limit on the number of emitting states. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00160">hmm.h:160</a></div></div>
<div class="ttc" id="structhmm__context__s_html_abbb0a32aadcc1938d9f21b04204c52da"><div class="ttname"><a href="structhmm__context__s.html#abbb0a32aadcc1938d9f21b04204c52da">hmm_context_s::sseq</a></div><div class="ttdeci">uint16 *const * sseq</div><div class="ttdoc">Senone sequence mapping. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00151">hmm.h:151</a></div></div>
<div class="ttc" id="hmm_8h_html_a24ed030b10cb07e12173b45d3800db4b"><div class="ttname"><a href="hmm_8h.html#a24ed030b10cb07e12173b45d3800db4b">hmm_vit_eval</a></div><div class="ttdeci">int32 hmm_vit_eval(hmm_t *hmm)</div><div class="ttdoc">Viterbi evaluation of given HMM. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00789">hmm.c:789</a></div></div>
<div class="ttc" id="hmm_8h_html_a0438bc7672ff9200274ffe7b5051eb92"><div class="ttname"><a href="hmm_8h.html#a0438bc7672ff9200274ffe7b5051eb92">hmm_normalize</a></div><div class="ttdeci">void hmm_normalize(hmm_t *h, int32 bestscr)</div><div class="ttdoc">Renormalize the scores in this HMM based on the given best score. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00209">hmm.c:209</a></div></div>
<div class="ttc" id="hmm_8h_html_a4d6e2799cbe290112e8517adcab1b038"><div class="ttname"><a href="hmm_8h.html#a4d6e2799cbe290112e8517adcab1b038">hmm_context_init</a></div><div class="ttdeci">hmm_context_t * hmm_context_init(int32 n_emit_state, uint8 **const *tp, int16 const *senscore, uint16 *const *sseq)</div><div class="ttdoc">Create an HMM context. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00056">hmm.c:56</a></div></div>
<div class="ttc" id="structhmm__s_html_ad4b029868ba7dd9c27e7be2067651be6"><div class="ttname"><a href="structhmm__s.html#ad4b029868ba7dd9c27e7be2067651be6">hmm_s::ssid</a></div><div class="ttdeci">uint16 ssid</div><div class="ttdoc">Senone sequence ID (for non-MPX) </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00176">hmm.h:176</a></div></div>
<div class="ttc" id="structhmm__s_html_a574850d7092b1e574addf0027b32ea61"><div class="ttname"><a href="structhmm__s.html#a574850d7092b1e574addf0027b32ea61">hmm_s::bestscore</a></div><div class="ttdeci">int32 bestscore</div><div class="ttdoc">Best [emitting] state score in current frame (for pruning). </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00178">hmm.h:178</a></div></div>
<div class="ttc" id="structhmm__context__t_html"><div class="ttname"><a href="structhmm__context__t.html">hmm_context_t</a></div><div class="ttdoc">Shared information between a set of HMMs. </div></div>
<div class="ttc" id="structhmm__s_html_a849e7be0748c36446c2f9e72088efab4"><div class="ttname"><a href="structhmm__s.html#a849e7be0748c36446c2f9e72088efab4">hmm_s::out_history</a></div><div class="ttdeci">int32 out_history</div><div class="ttdoc">History index for non-emitting exit state. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00175">hmm.h:175</a></div></div>
<div class="ttc" id="hmm_8h_html_a7285d01d533996d750c78e0d96042716"><div class="ttname"><a href="hmm_8h.html#a7285d01d533996d750c78e0d96042716">hmm_enter</a></div><div class="ttdeci">void hmm_enter(hmm_t *h, int32 score, int32 histid, int frame)</div><div class="ttdoc">Enter an HMM with the given path score and history ID. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00201">hmm.c:201</a></div></div>
<div class="ttc" id="hmm_8h_html_ad747fa967b5e414ad48fdffb9b767baf"><div class="ttname"><a href="hmm_8h.html#ad747fa967b5e414ad48fdffb9b767baf">hmm_dump</a></div><div class="ttdeci">void hmm_dump(hmm_t *h, FILE *fp)</div><div class="ttdoc">For debugging, dump the whole HMM out. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00116">hmm.c:116</a></div></div>
<div class="ttc" id="hmm_8h_html_af4c0cefb23087a0b1731b34048cfdaf9"><div class="ttname"><a href="hmm_8h.html#af4c0cefb23087a0b1731b34048cfdaf9">hmm_clear</a></div><div class="ttdeci">void hmm_clear(hmm_t *h)</div><div class="ttdoc">Reset the states of the HMM to the invalid condition. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00183">hmm.c:183</a></div></div>
<div class="ttc" id="structhmm__s_html_a041bb6bd205ce1e0e5e1082d2c8a3586"><div class="ttname"><a href="structhmm__s.html#a041bb6bd205ce1e0e5e1082d2c8a3586">hmm_s::tmatid</a></div><div class="ttdeci">int16 tmatid</div><div class="ttdoc">Transition matrix ID (see hmm_context_t). </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00179">hmm.h:179</a></div></div>
<div class="ttc" id="structhmm__s_html_aa47f90a8a9387d4f721cf0de9129b059"><div class="ttname"><a href="structhmm__s.html#aa47f90a8a9387d4f721cf0de9129b059">hmm_s::ctx</a></div><div class="ttdeci">hmm_context_t * ctx</div><div class="ttdoc">Shared context data for this HMM. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00171">hmm.h:171</a></div></div>
<div class="ttc" id="hmm_8h_html_ac9c9bae34d05f32736ae1743316737ef"><div class="ttname"><a href="hmm_8h.html#ac9c9bae34d05f32736ae1743316737ef">frame_idx_t</a></div><div class="ttdeci">int32 frame_idx_t</div><div class="ttdoc">Type for frame index values. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00064">hmm.h:64</a></div></div>
<div class="ttc" id="hmm_8h_html_a9561d7ffa1e61c99de2d2b900774152f"><div class="ttname"><a href="hmm_8h.html#a9561d7ffa1e61c99de2d2b900774152f">hmm_clear_scores</a></div><div class="ttdeci">void hmm_clear_scores(hmm_t *h)</div><div class="ttdoc">Reset the scores of the HMM. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00170">hmm.c:170</a></div></div>
<div class="ttc" id="hmm_8h_html_ab66534ad7970d49527f1b2a1e76bb05e"><div class="ttname"><a href="hmm_8h.html#ab66534ad7970d49527f1b2a1e76bb05e">hmm_context_free</a></div><div class="ttdeci">void hmm_context_free(hmm_context_t *ctx)</div><div class="ttdoc">Free an HMM context. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8c_source.html#l00080">hmm.c:80</a></div></div>
<div class="ttc" id="structhmm__s_html_a6a2b5c90489a11d79e4c65984b69bf7b"><div class="ttname"><a href="structhmm__s.html#a6a2b5c90489a11d79e4c65984b69bf7b">hmm_s::n_emit_state</a></div><div class="ttdeci">uint8 n_emit_state</div><div class="ttdoc">Number of emitting states (hoisted for speed) </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00182">hmm.h:182</a></div></div>
<div class="ttc" id="structhmm__context__s_html_a1cca9eb94bc20d9c5e60f2da18074397"><div class="ttname"><a href="structhmm__context__s.html#a1cca9eb94bc20d9c5e60f2da18074397">hmm_context_s::senscore</a></div><div class="ttdeci">int16 const * senscore</div><div class="ttdoc">State emission scores senscore[senid] (negated scaled logs3 values). </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00149">hmm.h:149</a></div></div>
<div class="ttc" id="structhmm__context__s_html_a9ef2d83f67525050bea8b05f8a118f44"><div class="ttname"><a href="structhmm__context__s.html#a9ef2d83f67525050bea8b05f8a118f44">hmm_context_s::tp</a></div><div class="ttdeci">uint8 **const * tp</div><div class="ttdoc">State transition scores tp[id][from][to] (logs3 values). </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00148">hmm.h:148</a></div></div>
<div class="ttc" id="structhmm__context__s_html_a27ba4c5db11110bddf240dd52ed36084"><div class="ttname"><a href="structhmm__context__s.html#a27ba4c5db11110bddf240dd52ed36084">hmm_context_s::n_emit_state</a></div><div class="ttdeci">int32 n_emit_state</div><div class="ttdoc">Number of emitting states in this set of HMMs. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00147">hmm.h:147</a></div></div>
<div class="ttc" id="structhmm__s_html"><div class="ttname"><a href="structhmm__s.html">hmm_s</a></div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00170">hmm.h:170</a></div></div>
<div class="ttc" id="structhmm__s_html_ab89d10923ba5a0dc14dc46d76d8daaaf"><div class="ttname"><a href="structhmm__s.html#ab89d10923ba5a0dc14dc46d76d8daaaf">hmm_s::frame</a></div><div class="ttdeci">frame_idx_t frame</div><div class="ttdoc">Frame in which this HMM was last active; &lt;0 if inactive. </div><div class="ttdef"><b>Definition:</b> <a href="hmm_8h_source.html#l00180">hmm.h:180</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_8d034a1e03e98d9b7ac467250bbebdea.html">libpocketsphinx</a></li><li class="navelem"><a class="el" href="hmm_8h.html">hmm.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>