/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
 <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 Page</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div><!-- 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> <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> <span class="comment">/* ====================================================================</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <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> <span class="comment"> * reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <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> <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> <span class="comment"> * are met:</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <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> <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> <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> <span class="comment"> * distribution.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND </span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * ====================================================================</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> *</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#ifndef __HMM_H__</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define __HMM_H__</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/* System headers. */</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <stdio.h></span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* SphinxBase headers. */</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sphinxbase/fixpoint.h></span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sphinxbase/listelem_alloc.h></span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* PocketSphinx headers. */</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="bin__mdef_8h.html">bin_mdef.h</a>"</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="hmm_8h.html#ac9c9bae34d05f32736ae1743316737ef"> 64</a></span> <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> </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="hmm_8h.html#a5b6b9157cfaaec312508eaed602f0698"> 69</a></span> <span class="preprocessor">#define MAX_N_FRAMES MAX_INT32</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="hmm_8h.html#af94da16e3e5b550b9be05b0f07402cc7"> 73</a></span> <span class="preprocessor">#define SENSCR_SHIFT 10</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="hmm_8h.html#a833f100ee293ad0f1c03f2a5ef9be77a"> 84</a></span> <span class="preprocessor">#define WORST_SCORE ((int)0xE0000000)</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="hmm_8h.html#a9b38399b544dbb93bc9b7d0094e91db7"> 90</a></span> <span class="preprocessor">#define TMAT_WORST_SCORE (-255)</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="hmm_8h.html#a2874ab52613ff781c96f570ec0eb0d98"> 95</a></span> <span class="preprocessor">#define BETTER_THAN ></span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="hmm_8h.html#aa930fb8fb6fce7f34bcf4018b81d7066"> 100</a></span> <span class="preprocessor">#define WORSE_THAN <</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="structhmm__context__s.html"> 146</a></span> <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>  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>  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>  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>  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>  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>  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>  <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> } <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> </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="hmm_8h.html#a1eb055ab0e55008f27d78e7b07a55a1c"> 160</a></span> <span class="preprocessor">#define HMM_MAX_NSTATE 5</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structhmm__s.html"> 170</a></span> <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>  <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>  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>  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>  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>  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>  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>  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>  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>  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>  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>  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>  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> } <a class="code" href="structhmm__t.html">hmm_t</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="hmm_8h.html#a3756f3c269d928924bf783f57c90adef"> 186</a></span> <span class="preprocessor">#define hmm_context(h) (h)->ctx</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#define hmm_is_mpx(h) (h)->mpx</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#define hmm_in_score(h) (h)->score[0]</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor">#define hmm_score(h,st) (h)->score[st]</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#define hmm_out_score(h) (h)->out_score</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">#define hmm_in_history(h) (h)->history[0]</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor">#define hmm_history(h,st) (h)->history[st]</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#define hmm_out_history(h) (h)->out_history</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#define hmm_bestscore(h) (h)->bestscore</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor">#define hmm_frame(h) (h)->frame</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor">#define hmm_mpx_ssid(h,st) (h)->senid[st]</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#define hmm_nonmpx_ssid(h) (h)->ssid</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <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> <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> <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> <span class="preprocessor"> ? BAD_SENID : (h)->ctx->sseq[hmm_mpx_ssid(h,st)][st])</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor">#define hmm_nonmpx_senid(h,st) ((h)->senid[st])</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <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> <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> <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> <span class="preprocessor"> ? WORST_SCORE \</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"> : -(h)->ctx->senscore[hmm_senid(h,st)])</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor">#define hmm_tmatid(h) (h)->tmatid</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#define hmm_tprob(h,i,j) (-(h)->ctx->tp[hmm_tmatid(h)][i][j])</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#define hmm_n_emit_state(h) ((h)->n_emit_state)</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#define hmm_n_state(h) ((h)->n_emit_state + 1)</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <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>  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>  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>  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> </div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="hmm_8h.html#a44d0b5515cb269bf9b95f62aada18cbb"> 227</a></span> <span class="preprocessor">#define hmm_context_set_senscore(ctx, senscr) ((ctx)->senscore = (senscr))</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <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> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <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> </div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <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> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <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> </div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <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> </div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <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> </div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <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>  int32 histid, <span class="keywordtype">int</span> frame);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> 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>  </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> 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>  FILE *fp </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  );</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <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>  FILE *fp </div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  );</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <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; <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>
|