<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>tesseract: training/commontraining.cpp File Reference</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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">tesseract
   &#160;<span id="projectnumber">3.05.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a01514.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">commontraining.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="a01517_source.html">commontraining.h</a>&quot;</code><br />
<code>#include &quot;allheaders.h&quot;</code><br />
<code>#include &quot;<a class="el" href="a00473_source.html">ccutil.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00662_source.html">classify.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00668_source.html">cluster.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00674_source.html">clusttool.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a01103_source.html">efio.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a01109_source.html">emalloc.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00692_source.html">featdefs.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00266_source.html">fontinfo.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a01115_source.html">freelist.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a01118_source.html">globals.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00722_source.html">intfeaturespace.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00752_source.html">mastertrainer.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00758_source.html">mf.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00548_source.html">ndminx.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a01124_source.html">oldlist.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00563_source.html">params.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00830_source.html">shapetable.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00602_source.html">tessdatamanager.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a01580_source.html">tessopt.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00608_source.html">tprintf.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00629_source.html">unicity_table.h</a>&quot;</code><br />
<code>#include &lt;math.h&gt;</code><br />
</div>
<p><a href="a01514_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:a01738"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01738.html">tesseract</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a51a1a7abc795891aef352b8c97880cc2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a51a1a7abc795891aef352b8c97880cc2">INT_PARAM_FLAG</a> (debug_level, 0, &quot;Level <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> Trainer debugging&quot;)</td></tr>
<tr class="separator:a51a1a7abc795891aef352b8c97880cc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6a476bb785cd18af3ec7a74894621c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#ad6a476bb785cd18af3ec7a74894621c1">INT_PARAM_FLAG</a> (load_images, 0, &quot;Load images with tr files&quot;)</td></tr>
<tr class="separator:ad6a476bb785cd18af3ec7a74894621c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a761621871a3521485639c2dc1ab86dde"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a761621871a3521485639c2dc1ab86dde">STRING_PARAM_FLAG</a> (configfile, &quot;&quot;, &quot;File to load more configs from&quot;)</td></tr>
<tr class="separator:a761621871a3521485639c2dc1ab86dde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22bc72d3f4ad61943eda16ca41b7206e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a22bc72d3f4ad61943eda16ca41b7206e">STRING_PARAM_FLAG</a> (D, &quot;&quot;, &quot;Directory to write output files to&quot;)</td></tr>
<tr class="separator:a22bc72d3f4ad61943eda16ca41b7206e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18399ffa0db885bbf49fa74e34b50fa7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a18399ffa0db885bbf49fa74e34b50fa7">STRING_PARAM_FLAG</a> (F, &quot;font_properties&quot;, &quot;File listing font properties&quot;)</td></tr>
<tr class="separator:a18399ffa0db885bbf49fa74e34b50fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a383912565f7d9be8b567253e38cced5b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a383912565f7d9be8b567253e38cced5b">STRING_PARAM_FLAG</a> (X, &quot;&quot;, &quot;File listing font xheights&quot;)</td></tr>
<tr class="separator:a383912565f7d9be8b567253e38cced5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f76f16efd5a4f8da2e73e9bc69ea6bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a6f76f16efd5a4f8da2e73e9bc69ea6bc">STRING_PARAM_FLAG</a> (U, &quot;unicharset&quot;, &quot;File to load unicharset from&quot;)</td></tr>
<tr class="separator:a6f76f16efd5a4f8da2e73e9bc69ea6bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18cd2e41a82c85233542e0228d03aef6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a18cd2e41a82c85233542e0228d03aef6">STRING_PARAM_FLAG</a> (O, &quot;&quot;, &quot;File to write unicharset to&quot;)</td></tr>
<tr class="separator:a18cd2e41a82c85233542e0228d03aef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33587d1e41ae0eab61731e5646dd2e16"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a33587d1e41ae0eab61731e5646dd2e16">STRING_PARAM_FLAG</a> (T, &quot;&quot;, &quot;File to load trainer from&quot;)</td></tr>
<tr class="separator:a33587d1e41ae0eab61731e5646dd2e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3eb185e1346e01e30714231f890e00d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#ab3eb185e1346e01e30714231f890e00d">STRING_PARAM_FLAG</a> (output_trainer, &quot;&quot;, &quot;File to write trainer to&quot;)</td></tr>
<tr class="separator:ab3eb185e1346e01e30714231f890e00d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8dc71af522af91e5bc39f3f7b31ecf2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#ae8dc71af522af91e5bc39f3f7b31ecf2">STRING_PARAM_FLAG</a> (test_ch, &quot;&quot;, &quot;UTF8 test <a class="el" href="a00770.html#a2a4b69f9a2827dc98bc4cbc233118865afa40ef3af4fea0001b535318130960b2">character</a> string&quot;)</td></tr>
<tr class="separator:ae8dc71af522af91e5bc39f3f7b31ecf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac470661cf25e075d76cb3cfd965e03f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#ac470661cf25e075d76cb3cfd965e03f6">DOUBLE_PARAM_FLAG</a> (clusterconfig_min_samples_fraction, Config.MinSamples, &quot;Min number <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> samples per proto as % <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> total&quot;)</td></tr>
<tr class="separator:ac470661cf25e075d76cb3cfd965e03f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8866a5ba695ead8dcba1e81f2b6b0327"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a8866a5ba695ead8dcba1e81f2b6b0327">DOUBLE_PARAM_FLAG</a> (clusterconfig_max_illegal, Config.MaxIllegal, &quot;Max percentage <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> samples in a cluster which have more&quot; &quot; than 1 feature in that cluster&quot;)</td></tr>
<tr class="separator:a8866a5ba695ead8dcba1e81f2b6b0327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ed5145a61a74652fe5162edd8b3075"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#aa9ed5145a61a74652fe5162edd8b3075">DOUBLE_PARAM_FLAG</a> (clusterconfig_independence, Config.Independence, &quot;Desired independence between dimensions&quot;)</td></tr>
<tr class="separator:aa9ed5145a61a74652fe5162edd8b3075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75cb30e5d0af761c48655db0b261efa2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a75cb30e5d0af761c48655db0b261efa2">DOUBLE_PARAM_FLAG</a> (clusterconfig_confidence, Config.Confidence, &quot;Desired confidence in prototypes created&quot;)</td></tr>
<tr class="separator:a75cb30e5d0af761c48655db0b261efa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5177d61ebf73a60571198cb6eaa753ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a5177d61ebf73a60571198cb6eaa753ac">ParseArguments</a> (int *argc, char ***argv)</td></tr>
<tr class="separator:a5177d61ebf73a60571198cb6eaa753ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f150258bf03e986518efd91fb077322"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a04313.html">ShapeTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01738.html#a1f150258bf03e986518efd91fb077322">tesseract::LoadShapeTable</a> (const <a class="el" href="a02929.html">STRING</a> &amp;file_prefix)</td></tr>
<tr class="separator:a1f150258bf03e986518efd91fb077322"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6657e7cdbf17875a06df792c22cd28b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01738.html#af6657e7cdbf17875a06df792c22cd28b">tesseract::WriteShapeTable</a> (const <a class="el" href="a02929.html">STRING</a> &amp;file_prefix, const <a class="el" href="a04313.html">ShapeTable</a> &amp;shape_table)</td></tr>
<tr class="separator:af6657e7cdbf17875a06df792c22cd28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2af3b74c1139cfc070d17e947f212b58"><td class="memItemLeft" align="right" valign="top">MasterTrainer *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01738.html#a2af3b74c1139cfc070d17e947f212b58">tesseract::LoadTrainingData</a> (int argc, const char *const *argv, bool replication, <a class="el" href="a04313.html">ShapeTable</a> **shape_table, <a class="el" href="a02929.html">STRING</a> *file_prefix)</td></tr>
<tr class="separator:a2af3b74c1139cfc070d17e947f212b58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc69f64ead8e1c64560ef259e5d87b5b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#acc69f64ead8e1c64560ef259e5d87b5b">GetNextFilename</a> (int argc, const char *const *argv)</td></tr>
<tr class="separator:acc69f64ead8e1c64560ef259e5d87b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7acd4f2950ab3bd42ed87dc7b081be83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a7acd4f2950ab3bd42ed87dc7b081be83">FindList</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> List, char *Label)</td></tr>
<tr class="separator:a7acd4f2950ab3bd42ed87dc7b081be83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83417b534a3cb0ea9e43eba33e37f1bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a83417b534a3cb0ea9e43eba33e37f1bc">NewLabeledList</a> (const char *Label)</td></tr>
<tr class="separator:a83417b534a3cb0ea9e43eba33e37f1bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a858311d0ef1820c6e83cc15ecc0e0e28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a858311d0ef1820c6e83cc15ecc0e0e28">ReadTrainingSamples</a> (const <a class="el" href="a04149.html">FEATURE_DEFS_STRUCT</a> &amp;<a class="el" href="a01517.html#a7bbe652f7a8f769dd65d6442a8f004a9">feature_defs</a>, const char *feature_name, int max_samples, <a class="el" href="a04041.html">UNICHARSET</a> *unicharset, FILE *file, <a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> *training_samples)</td></tr>
<tr class="separator:a858311d0ef1820c6e83cc15ecc0e0e28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eb4d580c0984a25fea59c6ec1196cec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a2eb4d580c0984a25fea59c6ec1196cec">FreeTrainingSamples</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> CharList)</td></tr>
<tr class="separator:a2eb4d580c0984a25fea59c6ec1196cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a499ee1a13b378e272171053afca0de80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a499ee1a13b378e272171053afca0de80">FreeLabeledList</a> (<a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a> LabeledList)</td></tr>
<tr class="separator:a499ee1a13b378e272171053afca0de80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeec0a66901e2f5ba2fba6c5023a6734e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a04129.html">CLUSTERER</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#aeec0a66901e2f5ba2fba6c5023a6734e">SetUpForClustering</a> (const <a class="el" href="a04149.html">FEATURE_DEFS_STRUCT</a> &amp;FeatureDefs, <a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a> char_sample, const char *program_feature_type)</td></tr>
<tr class="separator:aeec0a66901e2f5ba2fba6c5023a6734e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bd7631e2f9e44b661bf1c4edae4d270"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a9bd7631e2f9e44b661bf1c4edae4d270">MergeInsignificantProtos</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> ProtoList, const char *label, <a class="el" href="a04129.html">CLUSTERER</a> *Clusterer, <a class="el" href="a04117.html">CLUSTERCONFIG</a> *<a class="el" href="a01517.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a>)</td></tr>
<tr class="separator:a9bd7631e2f9e44b661bf1c4edae4d270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a561b5ddf89562dbf46af5ef6ce1e058e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a561b5ddf89562dbf46af5ef6ce1e058e">CleanUpUnusedData</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> ProtoList)</td></tr>
<tr class="separator:a561b5ddf89562dbf46af5ef6ce1e058e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad49ec475f2a0dc40c789df41d101c94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#aad49ec475f2a0dc40c789df41d101c94">RemoveInsignificantProtos</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> ProtoList, <a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a> KeepSigProtos, <a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a> KeepInsigProtos, int N)</td></tr>
<tr class="separator:aad49ec475f2a0dc40c789df41d101c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa89103a9b87cd5fe196c69787aacca2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#aa89103a9b87cd5fe196c69787aacca2f">FindClass</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> List, const char *Label)</td></tr>
<tr class="separator:aa89103a9b87cd5fe196c69787aacca2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad07aa0e45caed9a49158afcd82d9e825"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#ad07aa0e45caed9a49158afcd82d9e825">NewLabeledClass</a> (const char *Label)</td></tr>
<tr class="separator:ad07aa0e45caed9a49158afcd82d9e825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f90ef232622ab0d996654dd91a278e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a0f90ef232622ab0d996654dd91a278e2">FreeLabeledClassList</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> ClassList)</td></tr>
<tr class="separator:a0f90ef232622ab0d996654dd91a278e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0ede748b48d1f73abdaeac0c2a1a000"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a04281.html">CLASS_STRUCT</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#ae0ede748b48d1f73abdaeac0c2a1a000">SetUpForFloat2Int</a> (const <a class="el" href="a04041.html">UNICHARSET</a> &amp;unicharset, <a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> LabeledClassList)</td></tr>
<tr class="separator:ae0ede748b48d1f73abdaeac0c2a1a000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8959d42d4e9ba28a3e128aed3cefb479"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a8959d42d4e9ba28a3e128aed3cefb479">Normalize</a> (float *Values)</td></tr>
<tr class="separator:a8959d42d4e9ba28a3e128aed3cefb479"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a389fb9515f5942d514995b3dfb904c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a7a389fb9515f5942d514995b3dfb904c">FreeNormProtoList</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> CharList)</td></tr>
<tr class="separator:a7a389fb9515f5942d514995b3dfb904c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19e1f0ede9842599275a9d0ffc67ef4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a19e1f0ede9842599275a9d0ffc67ef4a">AddToNormProtosList</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> *NormProtoList, <a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> ProtoList, char *CharName)</td></tr>
<tr class="separator:a19e1f0ede9842599275a9d0ffc67ef4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeba7db95e0009664b96ac0441e7dc16"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#abeba7db95e0009664b96ac0441e7dc16">NumberOfProtos</a> (<a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> ProtoList, <a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a> CountSigProtos, <a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a> CountInsigProtos)</td></tr>
<tr class="separator:abeba7db95e0009664b96ac0441e7dc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a1630a3dc82a9a7cef07bb6153df9eb9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a04117.html">CLUSTERCONFIG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a> = { <a class="el" href="a00668.html#a2bf647f23b4a059a559e4d991437c9eaa39d32ff639641ca169c9729c58614459">elliptical</a>, 0.625, 0.05, 1.0, 1e-6, 0 }</td></tr>
<tr class="separator:a1630a3dc82a9a7cef07bb6153df9eb9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bbe652f7a8f769dd65d6442a8f004a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a04149.html">FEATURE_DEFS_STRUCT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#a7bbe652f7a8f769dd65d6442a8f004a9">feature_defs</a></td></tr>
<tr class="separator:a7bbe652f7a8f769dd65d6442a8f004a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbe955bd3fe0e5af5ace2d4bb3c1fbe7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a02769.html">CCUtil</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01514.html#acbe955bd3fe0e5af5ace2d4bb3c1fbe7">ccutil</a></td></tr>
<tr class="separator:acbe955bd3fe0e5af5ace2d4bb3c1fbe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a19e1f0ede9842599275a9d0ffc67ef4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19e1f0ede9842599275a9d0ffc67ef4a">&#9670;&nbsp;</a></span>AddToNormProtosList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AddToNormProtosList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> *&#160;</td>
          <td class="paramname"><em>NormProtoList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>ProtoList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>CharName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00840">840</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;{</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;  <a class="code" href="a04125.html">PROTOTYPE</a>* Proto;</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;  <a class="code" href="a04861.html">LABELEDLIST</a> LabeledProtoList;</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;  LabeledProtoList = <a class="code" href="a01514.html#a83417b534a3cb0ea9e43eba33e37f1bc">NewLabeledList</a>(CharName);</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(ProtoList)</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;  {</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;    Proto = (<a class="code" href="a04125.html">PROTOTYPE</a> *) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (ProtoList);</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    LabeledProtoList-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a> = <a class="code" href="a01121.html#a9c4294375af81ab4c133b6b5a3679a16">push</a>(LabeledProtoList-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a>, Proto);</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;  }</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;  *NormProtoList = <a class="code" href="a01121.html#a9c4294375af81ab4c133b6b5a3679a16">push</a>(*NormProtoList, LabeledProtoList);</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;}</div><div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a01514_html_a83417b534a3cb0ea9e43eba33e37f1bc"><div class="ttname"><a href="a01514.html#a83417b534a3cb0ea9e43eba33e37f1bc">NewLabeledList</a></div><div class="ttdeci">LABELEDLIST NewLabeledList(const char *Label)</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00351">commontraining.cpp:351</a></div></div>
<div class="ttc" id="a04861_html"><div class="ttname"><a href="a04861.html">LABELEDLISTNODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00041">commontraining.h:41</a></div></div>
<div class="ttc" id="a01121_html_a9c4294375af81ab4c133b6b5a3679a16"><div class="ttname"><a href="a01121.html#a9c4294375af81ab4c133b6b5a3679a16">push</a></div><div class="ttdeci">LIST push(LIST list, void *element)</div><div class="ttdef"><b>Definition:</b> <a href="a01121_source.html#l00317">oldlist.cpp:317</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04125_html"><div class="ttname"><a href="a04125.html">PROTOTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00067">cluster.h:67</a></div></div>
<div class="ttc" id="a04861_html_a848ab6ee611dbc860f80a47ecef2faa7"><div class="ttname"><a href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">LABELEDLISTNODE::List</a></div><div class="ttdeci">LIST List</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00046">commontraining.h:46</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a561b5ddf89562dbf46af5ef6ce1e058e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a561b5ddf89562dbf46af5ef6ce1e058e">&#9670;&nbsp;</a></span>CleanUpUnusedData()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CleanUpUnusedData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>ProtoList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00598">598</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;{</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;  <a class="code" href="a04125.html">PROTOTYPE</a>* Prototype;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(ProtoList)</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;  {</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;    Prototype = (<a class="code" href="a04125.html">PROTOTYPE</a> *) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (ProtoList);</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <span class="keywordflow">if</span>(Prototype-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> != NULL)</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    {</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;      <a class="code" href="a01112.html#ab462a857e5edf360ae4881bcc92a0bcf">memfree</a>(Prototype-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>);</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;      Prototype-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = NULL;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    }</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    <span class="keywordflow">if</span>(Prototype-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> != NULL)</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    {</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;      <a class="code" href="a01112.html#ab462a857e5edf360ae4881bcc92a0bcf">memfree</a>(Prototype-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>);</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;      Prototype-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = NULL;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    }</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    <span class="keywordflow">if</span>(Prototype-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> != NULL)</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    {</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;      <a class="code" href="a01112.html#ab462a857e5edf360ae4881bcc92a0bcf">memfree</a>(Prototype-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>);</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;      Prototype-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = NULL;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    }</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;  }</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;}</div><div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a01112_html_ab462a857e5edf360ae4881bcc92a0bcf"><div class="ttname"><a href="a01112.html#ab462a857e5edf360ae4881bcc92a0bcf">memfree</a></div><div class="ttdeci">void memfree(void *element)</div><div class="ttdef"><b>Definition:</b> <a href="a01112_source.html#l00030">freelist.cpp:30</a></div></div>
<div class="ttc" id="a04125_html_a35cf2e2dd8cc8b0e9476ad49f36abd24"><div class="ttname"><a href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">PROTOTYPE::Variance</a></div><div class="ttdeci">FLOATUNION Variance</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00081">cluster.h:81</a></div></div>
<div class="ttc" id="a04125_html_a0b016afed9c049598aa41feb3770fc15"><div class="ttname"><a href="a04125.html#a0b016afed9c049598aa41feb3770fc15">PROTOTYPE::Magnitude</a></div><div class="ttdeci">FLOATUNION Magnitude</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00082">cluster.h:82</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04125_html"><div class="ttname"><a href="a04125.html">PROTOTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00067">cluster.h:67</a></div></div>
<div class="ttc" id="a04125_html_af202ff952380614068536ea0b504285e"><div class="ttname"><a href="a04125.html#af202ff952380614068536ea0b504285e">PROTOTYPE::Weight</a></div><div class="ttdeci">FLOATUNION Weight</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00083">cluster.h:83</a></div></div>
<div class="ttc" id="a04121_html_a4b36c5b636aac27041dd340386f3801f"><div class="ttname"><a href="a04121.html#a4b36c5b636aac27041dd340386f3801f">FLOATUNION::Elliptical</a></div><div class="ttdeci">FLOAT32 * Elliptical</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00064">cluster.h:64</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac470661cf25e075d76cb3cfd965e03f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac470661cf25e075d76cb3cfd965e03f6">&#9670;&nbsp;</a></span>DOUBLE_PARAM_FLAG() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DOUBLE_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">clusterconfig_min_samples_fraction&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Config.&#160;</td>
          <td class="paramname"><em>MinSamples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Min number <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> samples per proto as % <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> total&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a8866a5ba695ead8dcba1e81f2b6b0327"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8866a5ba695ead8dcba1e81f2b6b0327">&#9670;&nbsp;</a></span>DOUBLE_PARAM_FLAG() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DOUBLE_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">clusterconfig_max_illegal&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Config.&#160;</td>
          <td class="paramname"><em>MaxIllegal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Max percentage <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> samples in a cluster which have more&quot; &quot; than 1 feature in that cluster&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa9ed5145a61a74652fe5162edd8b3075"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9ed5145a61a74652fe5162edd8b3075">&#9670;&nbsp;</a></span>DOUBLE_PARAM_FLAG() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DOUBLE_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">clusterconfig_independence&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Config.&#160;</td>
          <td class="paramname"><em>Independence</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Desired independence between dimensions&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a75cb30e5d0af761c48655db0b261efa2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75cb30e5d0af761c48655db0b261efa2">&#9670;&nbsp;</a></span>DOUBLE_PARAM_FLAG() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DOUBLE_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">clusterconfig_confidence&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Config.&#160;</td>
          <td class="paramname"><em>Confidence</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Desired confidence in prototypes created&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa89103a9b87cd5fe196c69787aacca2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa89103a9b87cd5fe196c69787aacca2f">&#9670;&nbsp;</a></span>FindClass()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a> FindClass </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>List</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Label</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00693">693</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;                                                    {</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;  <a class="code" href="a04865.html">MERGE_CLASS</a> MergeClass;</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a> (List)</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;  {</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    MergeClass = (<a class="code" href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (List);</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    <span class="keywordflow">if</span> (strcmp (MergeClass-&gt;<a class="code" href="a04865.html#a748285b0d7014218f0b335dcb0513168">Label</a>, Label) == 0)</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;      <span class="keywordflow">return</span> (MergeClass);</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;  }</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;  <span class="keywordflow">return</span> (NULL);</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;} <span class="comment">/* FindClass */</span></div><div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a01517_html_a04868818ab7f00c7b35f7f978dca7852"><div class="ttname"><a href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a></div><div class="ttdeci">MERGE_CLASS_NODE * MERGE_CLASS</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00056">commontraining.h:56</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04865_html_a748285b0d7014218f0b335dcb0513168"><div class="ttname"><a href="a04865.html#a748285b0d7014218f0b335dcb0513168">MERGE_CLASS_NODE::Label</a></div><div class="ttdeci">char * Label</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00052">commontraining.h:52</a></div></div>
<div class="ttc" id="a04865_html"><div class="ttname"><a href="a04865.html">MERGE_CLASS_NODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00050">commontraining.h:50</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7acd4f2950ab3bd42ed87dc7b081be83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7acd4f2950ab3bd42ed87dc7b081be83">&#9670;&nbsp;</a></span>FindList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a> FindList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>List</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>Label</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine searches through a list of labeled lists to find a list with the specified label. If a matching labeled list cannot be found, NULL is returned. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">List</td><td>list to search </td></tr>
    <tr><td class="paramname">Label</td><td>label to search for </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Labeled list with the specified Label or NULL. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Globals: none </dd>
<dd>
Exceptions: none </dd>
<dd>
History: Fri Aug 18 15:57:41 1989, DSJ, Created. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00328">328</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;                                             {</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <a class="code" href="a04861.html">LABELEDLIST</a> LabeledList;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a> (List)</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  {</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    LabeledList = (<a class="code" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (List);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordflow">if</span> (strcmp (LabeledList-&gt;<a class="code" href="a04861.html#ad4701118c2e75f005c1f7e4c53abb35d">Label</a>, Label) == 0)</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;      <span class="keywordflow">return</span> (LabeledList);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  }</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="keywordflow">return</span> (NULL);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;} <span class="comment">/* FindList */</span></div><div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a04861_html"><div class="ttname"><a href="a04861.html">LABELEDLISTNODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00041">commontraining.h:41</a></div></div>
<div class="ttc" id="a01517_html_af49d04c90ffcf9376c7a1e1db99182cb"><div class="ttname"><a href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a></div><div class="ttdeci">struct LABELEDLISTNODE * LABELEDLIST</div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04861_html_ad4701118c2e75f005c1f7e4c53abb35d"><div class="ttname"><a href="a04861.html#ad4701118c2e75f005c1f7e4c53abb35d">LABELEDLISTNODE::Label</a></div><div class="ttdeci">char * Label</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00043">commontraining.h:43</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0f90ef232622ab0d996654dd91a278e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f90ef232622ab0d996654dd91a278e2">&#9670;&nbsp;</a></span>FreeLabeledClassList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FreeLabeledClassList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>ClassList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine deallocates all of the space allocated to the specified list of training samples. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ClassList</td><td>list of all fonts in document </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Globals: none </dd>
<dd>
Exceptions: none </dd>
<dd>
History: Fri Aug 18 17:44:27 1989, DSJ, Created. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00728">728</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;                                          {</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;  <a class="code" href="a04865.html">MERGE_CLASS</a> MergeClass;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;  <a class="code" href="a04517.html">LIST</a> nodes = ClassList;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(ClassList) <span class="comment">/* iterate through all of the fonts */</span></div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;  {</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    MergeClass = (<a class="code" href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (ClassList);</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    free (MergeClass-&gt;<a class="code" href="a04865.html#a748285b0d7014218f0b335dcb0513168">Label</a>);</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;    <a class="code" href="a00809.html#a751a34c0eb8b7dcba1439287dd3eb3d5">FreeClass</a>(MergeClass-&gt;<a class="code" href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">Class</a>);</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    <span class="keyword">delete</span> MergeClass;</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;  }</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;  <a class="code" href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a>(nodes);</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;} <span class="comment">/* FreeLabeledClassList */</span></div><div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a01517_html_a04868818ab7f00c7b35f7f978dca7852"><div class="ttname"><a href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a></div><div class="ttdeci">MERGE_CLASS_NODE * MERGE_CLASS</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00056">commontraining.h:56</a></div></div>
<div class="ttc" id="a00809_html_a751a34c0eb8b7dcba1439287dd3eb3d5"><div class="ttname"><a href="a00809.html#a751a34c0eb8b7dcba1439287dd3eb3d5">FreeClass</a></div><div class="ttdeci">void FreeClass(CLASS_TYPE Class)</div><div class="ttdef"><b>Definition:</b> <a href="a00809_source.html#l00215">protos.cpp:215</a></div></div>
<div class="ttc" id="a01121_html_a338e68bdadcbdf51db4c7268c4529409"><div class="ttname"><a href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a></div><div class="ttdeci">LIST destroy(LIST list)</div><div class="ttdef"><b>Definition:</b> <a href="a01121_source.html#l00182">oldlist.cpp:182</a></div></div>
<div class="ttc" id="a04517_html"><div class="ttname"><a href="a04517.html">list_rec</a></div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00127">oldlist.h:127</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04865_html_a1c7b735de8e1caa16763adf0cfc95593"><div class="ttname"><a href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">MERGE_CLASS_NODE::Class</a></div><div class="ttdeci">CLASS_TYPE Class</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00054">commontraining.h:54</a></div></div>
<div class="ttc" id="a04865_html_a748285b0d7014218f0b335dcb0513168"><div class="ttname"><a href="a04865.html#a748285b0d7014218f0b335dcb0513168">MERGE_CLASS_NODE::Label</a></div><div class="ttdeci">char * Label</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00052">commontraining.h:52</a></div></div>
<div class="ttc" id="a04865_html"><div class="ttname"><a href="a04865.html">MERGE_CLASS_NODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00050">commontraining.h:50</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a499ee1a13b378e272171053afca0de80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a499ee1a13b378e272171053afca0de80">&#9670;&nbsp;</a></span>FreeLabeledList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FreeLabeledList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>&#160;</td>
          <td class="paramname"><em>LabeledList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine deallocates all of the memory consumed by a labeled list. It does not free any memory which may be consumed by the items in the list. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">LabeledList</td><td>labeled list to be freed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Globals: none </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Exceptions: none </dd>
<dd>
History: Fri Aug 18 17:52:45 1989, DSJ, Created. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00479">479</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;                                              {</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  <a class="code" href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a>(LabeledList-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a>);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  free(LabeledList-&gt;<a class="code" href="a04861.html#ad4701118c2e75f005c1f7e4c53abb35d">Label</a>);</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;  free(LabeledList);</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;}  <span class="comment">/* FreeLabeledList */</span></div><div class="ttc" id="a01121_html_a338e68bdadcbdf51db4c7268c4529409"><div class="ttname"><a href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a></div><div class="ttdeci">LIST destroy(LIST list)</div><div class="ttdef"><b>Definition:</b> <a href="a01121_source.html#l00182">oldlist.cpp:182</a></div></div>
<div class="ttc" id="a04861_html_ad4701118c2e75f005c1f7e4c53abb35d"><div class="ttname"><a href="a04861.html#ad4701118c2e75f005c1f7e4c53abb35d">LABELEDLISTNODE::Label</a></div><div class="ttdeci">char * Label</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00043">commontraining.h:43</a></div></div>
<div class="ttc" id="a04861_html_a848ab6ee611dbc860f80a47ecef2faa7"><div class="ttname"><a href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">LABELEDLISTNODE::List</a></div><div class="ttdeci">LIST List</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00046">commontraining.h:46</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7a389fb9515f5942d514995b3dfb904c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a389fb9515f5942d514995b3dfb904c">&#9670;&nbsp;</a></span>FreeNormProtoList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FreeNormProtoList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>CharList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00824">824</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;{</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;  <a class="code" href="a04861.html">LABELEDLIST</a> char_sample;</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;  <a class="code" href="a04517.html">LIST</a> nodes = CharList;</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(CharList) <span class="comment">/* iterate through all of the fonts */</span></div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;  {</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;    char_sample = (<a class="code" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (CharList);</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    <a class="code" href="a01514.html#a499ee1a13b378e272171053afca0de80">FreeLabeledList</a> (char_sample);</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;  }</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;  <a class="code" href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a>(nodes);</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;}  <span class="comment">// FreeNormProtoList</span></div><div class="ttc" id="a01514_html_a499ee1a13b378e272171053afca0de80"><div class="ttname"><a href="a01514.html#a499ee1a13b378e272171053afca0de80">FreeLabeledList</a></div><div class="ttdeci">void FreeLabeledList(LABELEDLIST LabeledList)</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00479">commontraining.cpp:479</a></div></div>
<div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a04861_html"><div class="ttname"><a href="a04861.html">LABELEDLISTNODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00041">commontraining.h:41</a></div></div>
<div class="ttc" id="a01121_html_a338e68bdadcbdf51db4c7268c4529409"><div class="ttname"><a href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a></div><div class="ttdeci">LIST destroy(LIST list)</div><div class="ttdef"><b>Definition:</b> <a href="a01121_source.html#l00182">oldlist.cpp:182</a></div></div>
<div class="ttc" id="a04517_html"><div class="ttname"><a href="a04517.html">list_rec</a></div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00127">oldlist.h:127</a></div></div>
<div class="ttc" id="a01517_html_af49d04c90ffcf9376c7a1e1db99182cb"><div class="ttname"><a href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a></div><div class="ttdeci">struct LABELEDLISTNODE * LABELEDLIST</div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a2eb4d580c0984a25fea59c6ec1196cec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2eb4d580c0984a25fea59c6ec1196cec">&#9670;&nbsp;</a></span>FreeTrainingSamples()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FreeTrainingSamples </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>CharList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine deallocates all of the space allocated to the specified list of training samples. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CharList</td><td>list of all fonts in document </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Globals: none </dd>
<dd>
Exceptions: none </dd>
<dd>
History: Fri Aug 18 17:44:27 1989, DSJ, Created. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00450">450</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;                                        {</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  <a class="code" href="a04861.html">LABELEDLIST</a> char_sample;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  <a class="code" href="a04273.html">FEATURE_SET</a> FeatureSet;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  <a class="code" href="a04517.html">LIST</a> FeatureList;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  <a class="code" href="a04517.html">LIST</a> nodes = CharList;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(CharList) { <span class="comment">/* iterate through all of the fonts */</span></div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    char_sample = (<a class="code" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a>(CharList);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    FeatureList = char_sample-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a>;</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(FeatureList) { <span class="comment">/* iterate through all of the classes */</span></div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;      FeatureSet = (<a class="code" href="a00794.html#ac0c2f756ba2c7f34a21efbe13a49ac39">FEATURE_SET</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a>(FeatureList);</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;      <a class="code" href="a00791.html#a72b29c3d875eb9a2241385b1f1388b2d">FreeFeatureSet</a>(FeatureSet);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    }</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="a01514.html#a499ee1a13b378e272171053afca0de80">FreeLabeledList</a>(char_sample);</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;  }</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  <a class="code" href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a>(nodes);</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;}  <span class="comment">/* FreeTrainingSamples */</span></div><div class="ttc" id="a01514_html_a499ee1a13b378e272171053afca0de80"><div class="ttname"><a href="a01514.html#a499ee1a13b378e272171053afca0de80">FreeLabeledList</a></div><div class="ttdeci">void FreeLabeledList(LABELEDLIST LabeledList)</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00479">commontraining.cpp:479</a></div></div>
<div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a04273_html"><div class="ttname"><a href="a04273.html">FEATURE_SET_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00069">ocrfeatures.h:69</a></div></div>
<div class="ttc" id="a00794_html_ac0c2f756ba2c7f34a21efbe13a49ac39"><div class="ttname"><a href="a00794.html#ac0c2f756ba2c7f34a21efbe13a49ac39">FEATURE_SET</a></div><div class="ttdeci">FEATURE_SET_STRUCT * FEATURE_SET</div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00074">ocrfeatures.h:74</a></div></div>
<div class="ttc" id="a04861_html"><div class="ttname"><a href="a04861.html">LABELEDLISTNODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00041">commontraining.h:41</a></div></div>
<div class="ttc" id="a01121_html_a338e68bdadcbdf51db4c7268c4529409"><div class="ttname"><a href="a01121.html#a338e68bdadcbdf51db4c7268c4529409">destroy</a></div><div class="ttdeci">LIST destroy(LIST list)</div><div class="ttdef"><b>Definition:</b> <a href="a01121_source.html#l00182">oldlist.cpp:182</a></div></div>
<div class="ttc" id="a04517_html"><div class="ttname"><a href="a04517.html">list_rec</a></div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00127">oldlist.h:127</a></div></div>
<div class="ttc" id="a01517_html_af49d04c90ffcf9376c7a1e1db99182cb"><div class="ttname"><a href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a></div><div class="ttdeci">struct LABELEDLISTNODE * LABELEDLIST</div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a00791_html_a72b29c3d875eb9a2241385b1f1388b2d"><div class="ttname"><a href="a00791.html#a72b29c3d875eb9a2241385b1f1388b2d">FreeFeatureSet</a></div><div class="ttdeci">void FreeFeatureSet(FEATURE_SET FeatureSet)</div><div class="ttdef"><b>Definition:</b> <a href="a00791_source.html#l00077">ocrfeatures.cpp:77</a></div></div>
<div class="ttc" id="a04861_html_a848ab6ee611dbc860f80a47ecef2faa7"><div class="ttname"><a href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">LABELEDLISTNODE::List</a></div><div class="ttdeci">LIST List</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00046">commontraining.h:46</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="acc69f64ead8e1c64560ef259e5d87b5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc69f64ead8e1c64560ef259e5d87b5b">&#9670;&nbsp;</a></span>GetNextFilename()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* GetNextFilename </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const *&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine returns the next command line argument. If there are no remaining command line arguments, it returns NULL. This routine should only be called after all option arguments have been parsed and removed with ParseArguments.</p>
<p>Globals:</p><ul>
<li>tessoptind defined by tessopt sys call <dl class="section return"><dt>Returns</dt><dd>Next command line argument or NULL. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Exceptions: none </dd>
<dd>
History: Fri Aug 18 09:34:12 1989, DSJ, Created. </dd></dl>
</li>
</ul>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00309">309</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                                                                {</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="a01577.html#aef382bc42a86adef688f3b7901cc9593">tessoptind</a> &lt; argc)</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">return</span> argv[<a class="code" href="a01577.html#aef382bc42a86adef688f3b7901cc9593">tessoptind</a>++];</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;} <span class="comment">/* GetNextFilename */</span></div><div class="ttc" id="a01577_html_aef382bc42a86adef688f3b7901cc9593"><div class="ttname"><a href="a01577.html#aef382bc42a86adef688f3b7901cc9593">tessoptind</a></div><div class="ttdeci">int tessoptind</div><div class="ttdef"><b>Definition:</b> <a href="a01577_source.html#l00024">tessopt.cpp:24</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a51a1a7abc795891aef352b8c97880cc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51a1a7abc795891aef352b8c97880cc2">&#9670;&nbsp;</a></span>INT_PARAM_FLAG() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INT_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">debug_level&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">0&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Level <a class="el" href="a00689.html#a66c7f757ef35e33a52ac2efe3f4e8247">of</a> Trainer debugging&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad6a476bb785cd18af3ec7a74894621c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6a476bb785cd18af3ec7a74894621c1">&#9670;&nbsp;</a></span>INT_PARAM_FLAG() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INT_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">load_images&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">0&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Load images with tr files&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a9bd7631e2f9e44b661bf1c4edae4d270"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bd7631e2f9e44b661bf1c4edae4d270">&#9670;&nbsp;</a></span>MergeInsignificantProtos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MergeInsignificantProtos </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>ProtoList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>label</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a04129.html">CLUSTERER</a> *&#160;</td>
          <td class="paramname"><em>Clusterer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a04117.html">CLUSTERCONFIG</a> *&#160;</td>
          <td class="paramname"><em>Config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00533">533</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;                                                                           {</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;  <a class="code" href="a04125.html">PROTOTYPE</a>* Prototype;</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <span class="keywordtype">bool</span> debug = strcmp(FLAGS_test_ch.c_str(), label) == 0;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;  <a class="code" href="a04517.html">LIST</a> pProtoList = ProtoList;</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(pProtoList) {</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;    Prototype = (<a class="code" href="a04125.html">PROTOTYPE</a> *) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (pProtoList);</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <span class="keywordflow">if</span> (Prototype-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> || Prototype-&gt;<a class="code" href="a04125.html#a8e04c7f378d30c248bc6e55703ac69a6">Merged</a>)</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;      <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> best_dist = 0.125;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    <a class="code" href="a04125.html">PROTOTYPE</a>* best_match = NULL;</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    <span class="comment">// Find the nearest alive prototype.</span></div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    <a class="code" href="a04517.html">LIST</a> list_it = ProtoList;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(list_it) {</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;      <a class="code" href="a04125.html">PROTOTYPE</a>* test_p = (<a class="code" href="a04125.html">PROTOTYPE</a> *) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (list_it);</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;      <span class="keywordflow">if</span> (test_p != Prototype &amp;&amp; !test_p-&gt;<a class="code" href="a04125.html#a8e04c7f378d30c248bc6e55703ac69a6">Merged</a>) {</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> dist = <a class="code" href="a00743.html#abc92dabbfb9cb69dd9a8375f20c68da1">ComputeDistance</a>(Clusterer-&gt;<a class="code" href="a04129.html#ac78a1d40ce4bac0a156a21e2d987f394">SampleSize</a>,</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;                                       Clusterer-&gt;<a class="code" href="a04129.html#af44850047e9f5b3648871d7517c04316">ParamDesc</a>,</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;                                       Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>, test_p-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        <span class="keywordflow">if</span> (dist &lt; best_dist) {</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;          best_match = test_p;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;          best_dist = dist;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        }</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;      }</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    }</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <span class="keywordflow">if</span> (best_match != NULL &amp;&amp; !best_match-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a>) {</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;      <span class="keywordflow">if</span> (debug)</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        <a class="code" href="a00608.html#a02aa7cca2c3857c14716e8cca96ace6c">tprintf</a>(<span class="stringliteral">&quot;Merging red clusters (%d+%d) at %g,%g and %g,%g\n&quot;</span>,</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;                best_match-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a>, Prototype-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a>,</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;                best_match-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[0], best_match-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[1],</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;                Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[0], Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[1]);</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;      best_match-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a> = <a class="code" href="a00665.html#a13004a2cbbcf26c3d95fd207274823c9">MergeClusters</a>(Clusterer-&gt;<a class="code" href="a04129.html#ac78a1d40ce4bac0a156a21e2d987f394">SampleSize</a>,</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;                                             Clusterer-&gt;<a class="code" href="a04129.html#af44850047e9f5b3648871d7517c04316">ParamDesc</a>,</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;                                             best_match-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a>,</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;                                             Prototype-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a>,</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;                                             best_match-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>,</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;                                             best_match-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>, Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>);</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;      Prototype-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a> = 0;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;      Prototype-&gt;<a class="code" href="a04125.html#a8e04c7f378d30c248bc6e55703ac69a6">Merged</a> = 1;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (best_match != NULL) {</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;      <span class="keywordflow">if</span> (debug)</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        <a class="code" href="a00608.html#a02aa7cca2c3857c14716e8cca96ace6c">tprintf</a>(<span class="stringliteral">&quot;Red proto at %g,%g matched a green one at %g,%g\n&quot;</span>,</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;                Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[0], Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[1],</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;                best_match-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[0], best_match-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[1]);</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;      Prototype-&gt;<a class="code" href="a04125.html#a8e04c7f378d30c248bc6e55703ac69a6">Merged</a> = 1;</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    }</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  }</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;  <span class="comment">// Mark significant those that now have enough samples.</span></div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;  <span class="keywordtype">int</span> min_samples = (<a class="code" href="a00524.html#aba1f582fd0168f3ff9225d8c90fa9eb8">inT32</a>) (<a class="code" href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a>-&gt;<a class="code" href="a04117.html#a30f3f6f54aa8e9371a0398f04bca0de3">MinSamples</a> * Clusterer-&gt;<a class="code" href="a04129.html#aa4a7b4654dcb4918ac9a282d976b72d9">NumChar</a>);</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;  pProtoList = ProtoList;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(pProtoList) {</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    Prototype = (<a class="code" href="a04125.html">PROTOTYPE</a> *) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (pProtoList);</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <span class="comment">// Process insignificant protos that do not match a green one</span></div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    <span class="keywordflow">if</span> (!Prototype-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> &amp;&amp; Prototype-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a> &gt;= min_samples &amp;&amp;</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        !Prototype-&gt;<a class="code" href="a04125.html#a8e04c7f378d30c248bc6e55703ac69a6">Merged</a>) {</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;      <span class="keywordflow">if</span> (debug)</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;        <a class="code" href="a00608.html#a02aa7cca2c3857c14716e8cca96ace6c">tprintf</a>(<span class="stringliteral">&quot;Red proto at %g,%g becoming green\n&quot;</span>,</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;                Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[0], Prototype-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[1]);</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;      Prototype-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    }</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;  }</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;} <span class="comment">/* MergeInsignificantProtos */</span></div><div class="ttc" id="a00743_html_abc92dabbfb9cb69dd9a8375f20c68da1"><div class="ttname"><a href="a00743.html#abc92dabbfb9cb69dd9a8375f20c68da1">ComputeDistance</a></div><div class="ttdeci">FLOAT32 ComputeDistance(int k, PARAM_DESC *dim, FLOAT32 p1[], FLOAT32 p2[])</div><div class="ttdef"><b>Definition:</b> <a href="a00743_source.html#l00472">kdtree.cpp:472</a></div></div>
<div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a04129_html_af44850047e9f5b3648871d7517c04316"><div class="ttname"><a href="a04129.html#af44850047e9f5b3648871d7517c04316">CLUSTERER::ParamDesc</a></div><div class="ttdeci">PARAM_DESC * ParamDesc</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00088">cluster.h:88</a></div></div>
<div class="ttc" id="a04125_html_a8e04c7f378d30c248bc6e55703ac69a6"><div class="ttname"><a href="a04125.html#a8e04c7f378d30c248bc6e55703ac69a6">PROTOTYPE::Merged</a></div><div class="ttdeci">unsigned Merged</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00069">cluster.h:69</a></div></div>
<div class="ttc" id="a01514_html_a1630a3dc82a9a7cef07bb6153df9eb9c"><div class="ttname"><a href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a></div><div class="ttdeci">CLUSTERCONFIG Config</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00050">commontraining.cpp:50</a></div></div>
<div class="ttc" id="a04125_html_a5d94887aaa0acd7e4a0c04c420af5670"><div class="ttname"><a href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">PROTOTYPE::Significant</a></div><div class="ttdeci">unsigned Significant</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00068">cluster.h:68</a></div></div>
<div class="ttc" id="a04125_html_a2ba6bfd64f308a26cdd0a75c52e002f5"><div class="ttname"><a href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">PROTOTYPE::NumSamples</a></div><div class="ttdeci">unsigned NumSamples</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00075">cluster.h:75</a></div></div>
<div class="ttc" id="a04117_html_a30f3f6f54aa8e9371a0398f04bca0de3"><div class="ttname"><a href="a04117.html#a30f3f6f54aa8e9371a0398f04bca0de3">CLUSTERCONFIG::MinSamples</a></div><div class="ttdeci">FLOAT32 MinSamples</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00050">cluster.h:50</a></div></div>
<div class="ttc" id="a00524_html_a6a3da5f1db8d485c0d2f5a7ba526c4a0"><div class="ttname"><a href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a></div><div class="ttdeci">float FLOAT32</div><div class="ttdef"><b>Definition:</b> <a href="a00524_source.html#l00044">host.h:44</a></div></div>
<div class="ttc" id="a04125_html_af9c4f61cdbf39f6494b4691799bd4fa6"><div class="ttname"><a href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">PROTOTYPE::Mean</a></div><div class="ttdeci">FLOAT32 * Mean</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00078">cluster.h:78</a></div></div>
<div class="ttc" id="a00524_html_aba1f582fd0168f3ff9225d8c90fa9eb8"><div class="ttname"><a href="a00524.html#aba1f582fd0168f3ff9225d8c90fa9eb8">inT32</a></div><div class="ttdeci">int inT32</div><div class="ttdef"><b>Definition:</b> <a href="a00524_source.html#l00035">host.h:35</a></div></div>
<div class="ttc" id="a04517_html"><div class="ttname"><a href="a04517.html">list_rec</a></div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00127">oldlist.h:127</a></div></div>
<div class="ttc" id="a00608_html_a02aa7cca2c3857c14716e8cca96ace6c"><div class="ttname"><a href="a00608.html#a02aa7cca2c3857c14716e8cca96ace6c">tprintf</a></div><div class="ttdeci">#define tprintf(...)</div><div class="ttdef"><b>Definition:</b> <a href="a00608_source.html#l00031">tprintf.h:31</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04125_html"><div class="ttname"><a href="a04125.html">PROTOTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00067">cluster.h:67</a></div></div>
<div class="ttc" id="a04129_html_aa4a7b4654dcb4918ac9a282d976b72d9"><div class="ttname"><a href="a04129.html#aa4a7b4654dcb4918ac9a282d976b72d9">CLUSTERER::NumChar</a></div><div class="ttdeci">inT32 NumChar</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00093">cluster.h:93</a></div></div>
<div class="ttc" id="a04129_html_ac78a1d40ce4bac0a156a21e2d987f394"><div class="ttname"><a href="a04129.html#ac78a1d40ce4bac0a156a21e2d987f394">CLUSTERER::SampleSize</a></div><div class="ttdeci">inT16 SampleSize</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00087">cluster.h:87</a></div></div>
<div class="ttc" id="a00665_html_a13004a2cbbcf26c3d95fd207274823c9"><div class="ttname"><a href="a00665.html#a13004a2cbbcf26c3d95fd207274823c9">MergeClusters</a></div><div class="ttdeci">inT32 MergeClusters(inT16 N, register PARAM_DESC ParamDesc[], register inT32 n1, register inT32 n2, register FLOAT32 m[], register FLOAT32 m1[], register FLOAT32 m2[])</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad07aa0e45caed9a49158afcd82d9e825"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad07aa0e45caed9a49158afcd82d9e825">&#9670;&nbsp;</a></span>NewLabeledClass()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a> NewLabeledClass </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Label</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00707">707</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;                                               {</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;  <a class="code" href="a04865.html">MERGE_CLASS</a> MergeClass;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;  MergeClass = <span class="keyword">new</span> <a class="code" href="a04865.html">MERGE_CLASS_NODE</a>;</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;  MergeClass-&gt;<a class="code" href="a04865.html#a748285b0d7014218f0b335dcb0513168">Label</a> = (<span class="keywordtype">char</span>*)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a> (strlen (Label)+1);</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  strcpy (MergeClass-&gt;<a class="code" href="a04865.html#a748285b0d7014218f0b335dcb0513168">Label</a>, Label);</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;  MergeClass-&gt;<a class="code" href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">Class</a> = <a class="code" href="a00809.html#ae1b779964924a618a307d8d6f0ec6dff">NewClass</a> (<a class="code" href="a00740.html#a3e890a5d21d8456ad197510fd7caf277">MAX_NUM_PROTOS</a>, <a class="code" href="a00740.html#a5f9a45f938cb06ecc0f9dbdc144155b1">MAX_NUM_CONFIGS</a>);</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;  <span class="keywordflow">return</span> (MergeClass);</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;} <span class="comment">/* NewLabeledClass */</span></div><div class="ttc" id="a00809_html_ae1b779964924a618a307d8d6f0ec6dff"><div class="ttname"><a href="a00809.html#ae1b779964924a618a307d8d6f0ec6dff">NewClass</a></div><div class="ttdeci">CLASS_TYPE NewClass(int NumProtos, int NumConfigs)</div><div class="ttdef"><b>Definition:</b> <a href="a00809_source.html#l00248">protos.cpp:248</a></div></div>
<div class="ttc" id="a00740_html_a3e890a5d21d8456ad197510fd7caf277"><div class="ttname"><a href="a00740.html#a3e890a5d21d8456ad197510fd7caf277">MAX_NUM_PROTOS</a></div><div class="ttdeci">#define MAX_NUM_PROTOS</div><div class="ttdef"><b>Definition:</b> <a href="a00740_source.html#l00047">intproto.h:47</a></div></div>
<div class="ttc" id="a01106_html_a9bdc0885c33bbb5b062c77b1d90e2305"><div class="ttname"><a href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a></div><div class="ttdeci">void * Emalloc(int Size)</div><div class="ttdef"><b>Definition:</b> <a href="a01106_source.html#l00047">emalloc.cpp:47</a></div></div>
<div class="ttc" id="a00740_html_a5f9a45f938cb06ecc0f9dbdc144155b1"><div class="ttname"><a href="a00740.html#a5f9a45f938cb06ecc0f9dbdc144155b1">MAX_NUM_CONFIGS</a></div><div class="ttdeci">#define MAX_NUM_CONFIGS</div><div class="ttdef"><b>Definition:</b> <a href="a00740_source.html#l00046">intproto.h:46</a></div></div>
<div class="ttc" id="a04865_html_a1c7b735de8e1caa16763adf0cfc95593"><div class="ttname"><a href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">MERGE_CLASS_NODE::Class</a></div><div class="ttdeci">CLASS_TYPE Class</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00054">commontraining.h:54</a></div></div>
<div class="ttc" id="a04865_html_a748285b0d7014218f0b335dcb0513168"><div class="ttname"><a href="a04865.html#a748285b0d7014218f0b335dcb0513168">MERGE_CLASS_NODE::Label</a></div><div class="ttdeci">char * Label</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00052">commontraining.h:52</a></div></div>
<div class="ttc" id="a04865_html"><div class="ttname"><a href="a04865.html">MERGE_CLASS_NODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00050">commontraining.h:50</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a83417b534a3cb0ea9e43eba33e37f1bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83417b534a3cb0ea9e43eba33e37f1bc">&#9670;&nbsp;</a></span>NewLabeledList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a> NewLabeledList </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Label</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine allocates a new, empty labeled list and gives it the specified label. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Label</td><td>label for new list </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>New, empty labeled list. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Globals: none </dd>
<dd>
Exceptions: none </dd>
<dd>
History: Fri Aug 18 16:08:46 1989, DSJ, Created. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00351">351</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                                              {</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  <a class="code" href="a04861.html">LABELEDLIST</a> LabeledList;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  LabeledList = (<a class="code" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>) <a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a> (<span class="keyword">sizeof</span> (<a class="code" href="a04861.html">LABELEDLISTNODE</a>));</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  LabeledList-&gt;<a class="code" href="a04861.html#ad4701118c2e75f005c1f7e4c53abb35d">Label</a> = (<span class="keywordtype">char</span>*)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a> (strlen (Label)+1);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  strcpy (LabeledList-&gt;<a class="code" href="a04861.html#ad4701118c2e75f005c1f7e4c53abb35d">Label</a>, Label);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  LabeledList-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a> = <a class="code" href="a01124.html#ae212530ca629c67513698e988c705a5a">NIL_LIST</a>;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  LabeledList-&gt;<a class="code" href="a04861.html#aab481329945e65c4aeee79b145e4de51">SampleCount</a> = 0;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  LabeledList-&gt;<a class="code" href="a04861.html#af23335c4319e0c5f010380d9de8f5a6d">font_sample_count</a> = 0;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  <span class="keywordflow">return</span> (LabeledList);</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;} <span class="comment">/* NewLabeledList */</span></div><div class="ttc" id="a04861_html_aab481329945e65c4aeee79b145e4de51"><div class="ttname"><a href="a04861.html#aab481329945e65c4aeee79b145e4de51">LABELEDLISTNODE::SampleCount</a></div><div class="ttdeci">int SampleCount</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00044">commontraining.h:44</a></div></div>
<div class="ttc" id="a01124_html_ae212530ca629c67513698e988c705a5a"><div class="ttname"><a href="a01124.html#ae212530ca629c67513698e988c705a5a">NIL_LIST</a></div><div class="ttdeci">#define NIL_LIST</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00126">oldlist.h:126</a></div></div>
<div class="ttc" id="a04861_html"><div class="ttname"><a href="a04861.html">LABELEDLISTNODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00041">commontraining.h:41</a></div></div>
<div class="ttc" id="a01517_html_af49d04c90ffcf9376c7a1e1db99182cb"><div class="ttname"><a href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a></div><div class="ttdeci">struct LABELEDLISTNODE * LABELEDLIST</div></div>
<div class="ttc" id="a01106_html_a9bdc0885c33bbb5b062c77b1d90e2305"><div class="ttname"><a href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a></div><div class="ttdeci">void * Emalloc(int Size)</div><div class="ttdef"><b>Definition:</b> <a href="a01106_source.html#l00047">emalloc.cpp:47</a></div></div>
<div class="ttc" id="a04861_html_af23335c4319e0c5f010380d9de8f5a6d"><div class="ttname"><a href="a04861.html#af23335c4319e0c5f010380d9de8f5a6d">LABELEDLISTNODE::font_sample_count</a></div><div class="ttdeci">int font_sample_count</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00045">commontraining.h:45</a></div></div>
<div class="ttc" id="a04861_html_ad4701118c2e75f005c1f7e4c53abb35d"><div class="ttname"><a href="a04861.html#ad4701118c2e75f005c1f7e4c53abb35d">LABELEDLISTNODE::Label</a></div><div class="ttdeci">char * Label</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00043">commontraining.h:43</a></div></div>
<div class="ttc" id="a04861_html_a848ab6ee611dbc860f80a47ecef2faa7"><div class="ttname"><a href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">LABELEDLISTNODE::List</a></div><div class="ttdeci">LIST List</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00046">commontraining.h:46</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8959d42d4e9ba28a3e128aed3cefb479"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8959d42d4e9ba28a3e128aed3cefb479">&#9670;&nbsp;</a></span>Normalize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Normalize </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>Values</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00807">807</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;{</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;  <span class="keywordtype">float</span> Slope;</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;  <span class="keywordtype">float</span> Intercept;</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;  <span class="keywordtype">float</span> Normalizer;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;  Slope      = tan (Values [2] * 2 * <a class="code" href="a01079.html#a598a3330b3c21701223ee0ca14316eca">PI</a>);</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;  Intercept  = Values [1] - Slope * Values [0];</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;  Normalizer = 1 / sqrt (Slope * Slope + 1.0);</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;  Values [0] = Slope * Normalizer;</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;  Values [1] = - Normalizer;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;  Values [2] = Intercept * Normalizer;</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;} <span class="comment">// Normalize</span></div><div class="ttc" id="a01079_html_a598a3330b3c21701223ee0ca14316eca"><div class="ttname"><a href="a01079.html#a598a3330b3c21701223ee0ca14316eca">PI</a></div><div class="ttdeci">#define PI</div><div class="ttdef"><b>Definition:</b> <a href="a01079_source.html#l00019">const.h:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="abeba7db95e0009664b96ac0441e7dc16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abeba7db95e0009664b96ac0441e7dc16">&#9670;&nbsp;</a></span>NumberOfProtos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int NumberOfProtos </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>ProtoList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a>&#160;</td>
          <td class="paramname"><em>CountSigProtos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a>&#160;</td>
          <td class="paramname"><em>CountInsigProtos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00858">858</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;                                           {</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;  <span class="keywordtype">int</span> N = 0;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;  <a class="code" href="a04125.html">PROTOTYPE</a>* Proto;</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(ProtoList)</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;  {</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;    Proto = (<a class="code" href="a04125.html">PROTOTYPE</a> *) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> ( ProtoList );</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    <span class="keywordflow">if</span> ((Proto-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> &amp;&amp; CountSigProtos) ||</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        (!Proto-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> &amp;&amp; CountInsigProtos))</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      N++;</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;  }</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;  <span class="keywordflow">return</span>(N);</div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;}</div><div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a04125_html_a5d94887aaa0acd7e4a0c04c420af5670"><div class="ttname"><a href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">PROTOTYPE::Significant</a></div><div class="ttdeci">unsigned Significant</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00068">cluster.h:68</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04125_html"><div class="ttname"><a href="a04125.html">PROTOTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00067">cluster.h:67</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5177d61ebf73a60571198cb6eaa753ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5177d61ebf73a60571198cb6eaa753ac">&#9670;&nbsp;</a></span>ParseArguments()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ParseArguments </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char ***&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine parses the command line arguments that were passed to the program and ses them to set relevant training-related global parameters</p>
<p>Globals:</p><ul>
<li>Config current clustering parameters <dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>number of command line arguments to parse </td></tr>
    <tr><td class="paramname">argv</td><td>command line arguments </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Exceptions: Illegal options terminate the program. </dd></dl>
</li>
</ul>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00087">87</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                                             {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <a class="code" href="a02929.html">STRING</a> usage;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keywordflow">if</span> (*argc) {</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    usage += (*argv)[0];</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  }</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  usage += <span class="stringliteral">&quot; [.tr files ...]&quot;</span>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <a class="code" href="a01738.html#a07614d344b574ebcc2d3ae4d68fad1d5">tesseract::ParseCommandLineFlags</a>(usage.<a class="code" href="a02929.html#a552838a146145cb7993f42aefb740ea4">c_str</a>(), argc, argv, <span class="keyword">true</span>);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="comment">// Record the index of the first non-flag argument to 1, since we set</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="comment">// remove_flags to true when parsing the flags.</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <a class="code" href="a01577.html#aef382bc42a86adef688f3b7901cc9593">tessoptind</a> = 1;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="comment">// Set some global values based on the flags.</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a>.<a class="code" href="a04117.html#a30f3f6f54aa8e9371a0398f04bca0de3">MinSamples</a> =</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="a00548.html#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(0.0, <a class="code" href="a00548.html#a74e75242132eaabbc1c512488a135926">MIN</a>(1.0, <span class="keywordtype">double</span>(FLAGS_clusterconfig_min_samples_fraction)));</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <a class="code" href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a>.<a class="code" href="a04117.html#aaf0758a0e763d9525d6d7781db8ade14">MaxIllegal</a> =</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <a class="code" href="a00548.html#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(0.0, <a class="code" href="a00548.html#a74e75242132eaabbc1c512488a135926">MIN</a>(1.0, <span class="keywordtype">double</span>(FLAGS_clusterconfig_max_illegal)));</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a>.<a class="code" href="a04117.html#a77c7d2361e92592098a3287cabc26a6d">Independence</a> =</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a class="code" href="a00548.html#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(0.0, <a class="code" href="a00548.html#a74e75242132eaabbc1c512488a135926">MIN</a>(1.0, <span class="keywordtype">double</span>(FLAGS_clusterconfig_independence)));</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <a class="code" href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a>.<a class="code" href="a04117.html#a4758d8ddf0644e204132b779a786b6fb">Confidence</a> =</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <a class="code" href="a00548.html#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(0.0, <a class="code" href="a00548.html#a74e75242132eaabbc1c512488a135926">MIN</a>(1.0, <span class="keywordtype">double</span>(FLAGS_clusterconfig_confidence)));</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="comment">// Set additional parameters from config file if specified.</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordflow">if</span> (!FLAGS_configfile.empty()) {</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <a class="code" href="a02889.html#a0709ab180ade22613925bc317ddf34b7">tesseract::ParamUtils::ReadParamsFile</a>(</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        FLAGS_configfile.c_str(),</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <a class="code" href="a01738.html#a0fc9989588ecf8f236da49b58f96a6c5a713c7bc13788ed69eb16dd9e5f309d12">tesseract::SET_PARAM_CONSTRAINT_NON_INIT_ONLY</a>,</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <a class="code" href="a01514.html#acbe955bd3fe0e5af5ace2d4bb3c1fbe7">ccutil</a>.<a class="code" href="a02769.html#ac993425386ae1f73762107299ee8a114">params</a>());</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  }</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;}</div><div class="ttc" id="a04117_html_a4758d8ddf0644e204132b779a786b6fb"><div class="ttname"><a href="a04117.html#a4758d8ddf0644e204132b779a786b6fb">CLUSTERCONFIG::Confidence</a></div><div class="ttdeci">FLOAT64 Confidence</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00054">cluster.h:54</a></div></div>
<div class="ttc" id="a01514_html_a1630a3dc82a9a7cef07bb6153df9eb9c"><div class="ttname"><a href="a01514.html#a1630a3dc82a9a7cef07bb6153df9eb9c">Config</a></div><div class="ttdeci">CLUSTERCONFIG Config</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00050">commontraining.cpp:50</a></div></div>
<div class="ttc" id="a00548_html_a74e75242132eaabbc1c512488a135926"><div class="ttname"><a href="a00548.html#a74e75242132eaabbc1c512488a135926">MIN</a></div><div class="ttdeci">#define MIN(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="a00548_source.html#l00028">ndminx.h:28</a></div></div>
<div class="ttc" id="a04117_html_a77c7d2361e92592098a3287cabc26a6d"><div class="ttname"><a href="a04117.html#a77c7d2361e92592098a3287cabc26a6d">CLUSTERCONFIG::Independence</a></div><div class="ttdeci">FLOAT32 Independence</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00053">cluster.h:53</a></div></div>
<div class="ttc" id="a01738_html_a0fc9989588ecf8f236da49b58f96a6c5a713c7bc13788ed69eb16dd9e5f309d12"><div class="ttname"><a href="a01738.html#a0fc9989588ecf8f236da49b58f96a6c5a713c7bc13788ed69eb16dd9e5f309d12">tesseract::SET_PARAM_CONSTRAINT_NON_INIT_ONLY</a></div><div class="ttdef"><b>Definition:</b> <a href="a00563_source.html#l00040">params.h:40</a></div></div>
<div class="ttc" id="a04117_html_a30f3f6f54aa8e9371a0398f04bca0de3"><div class="ttname"><a href="a04117.html#a30f3f6f54aa8e9371a0398f04bca0de3">CLUSTERCONFIG::MinSamples</a></div><div class="ttdeci">FLOAT32 MinSamples</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00050">cluster.h:50</a></div></div>
<div class="ttc" id="a02929_html_a552838a146145cb7993f42aefb740ea4"><div class="ttname"><a href="a02929.html#a552838a146145cb7993f42aefb740ea4">STRING::c_str</a></div><div class="ttdeci">const char * c_str() const</div><div class="ttdef"><b>Definition:</b> <a href="a00590_source.html#l00212">strngs.cpp:212</a></div></div>
<div class="ttc" id="a00548_html_aacc3ee1a7f283f8ef65cea31f4436a95"><div class="ttname"><a href="a00548.html#aacc3ee1a7f283f8ef65cea31f4436a95">MAX</a></div><div class="ttdeci">#define MAX(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="a00548_source.html#l00024">ndminx.h:24</a></div></div>
<div class="ttc" id="a02769_html_ac993425386ae1f73762107299ee8a114"><div class="ttname"><a href="a02769.html#ac993425386ae1f73762107299ee8a114">tesseract::CCUtil::params</a></div><div class="ttdeci">ParamsVectors * params()</div><div class="ttdef"><b>Definition:</b> <a href="a00473_source.html#l00063">ccutil.h:63</a></div></div>
<div class="ttc" id="a02929_html"><div class="ttname"><a href="a02929.html">STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00593_source.html#l00044">strngs.h:44</a></div></div>
<div class="ttc" id="a02889_html_a0709ab180ade22613925bc317ddf34b7"><div class="ttname"><a href="a02889.html#a0709ab180ade22613925bc317ddf34b7">tesseract::ParamUtils::ReadParamsFile</a></div><div class="ttdeci">static bool TESS_API ReadParamsFile(const char *file, SetParamConstraint constraint, ParamsVectors *member_params)</div><div class="ttdef"><b>Definition:</b> <a href="a00560_source.html#l00040">params.cpp:40</a></div></div>
<div class="ttc" id="a01738_html_a07614d344b574ebcc2d3ae4d68fad1d5"><div class="ttname"><a href="a01738.html#a07614d344b574ebcc2d3ae4d68fad1d5">tesseract::ParseCommandLineFlags</a></div><div class="ttdeci">void ParseCommandLineFlags(const char *usage, int *argc, char ***argv, const bool remove_flags)</div><div class="ttdef"><b>Definition:</b> <a href="a01508_source.html#l00327">commandlineflags.cpp:327</a></div></div>
<div class="ttc" id="a01514_html_acbe955bd3fe0e5af5ace2d4bb3c1fbe7"><div class="ttname"><a href="a01514.html#acbe955bd3fe0e5af5ace2d4bb3c1fbe7">ccutil</a></div><div class="ttdeci">CCUtil ccutil</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00052">commontraining.cpp:52</a></div></div>
<div class="ttc" id="a01577_html_aef382bc42a86adef688f3b7901cc9593"><div class="ttname"><a href="a01577.html#aef382bc42a86adef688f3b7901cc9593">tessoptind</a></div><div class="ttdeci">int tessoptind</div><div class="ttdef"><b>Definition:</b> <a href="a01577_source.html#l00024">tessopt.cpp:24</a></div></div>
<div class="ttc" id="a04117_html_aaf0758a0e763d9525d6d7781db8ade14"><div class="ttname"><a href="a04117.html#aaf0758a0e763d9525d6d7781db8ade14">CLUSTERCONFIG::MaxIllegal</a></div><div class="ttdeci">FLOAT32 MaxIllegal</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00051">cluster.h:51</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a858311d0ef1820c6e83cc15ecc0e0e28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a858311d0ef1820c6e83cc15ecc0e0e28">&#9670;&nbsp;</a></span>ReadTrainingSamples()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ReadTrainingSamples </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a04149.html">FEATURE_DEFS_STRUCT</a> &amp;&#160;</td>
          <td class="paramname"><em>feature_defs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>feature_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_samples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a04041.html">UNICHARSET</a> *&#160;</td>
          <td class="paramname"><em>unicharset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> *&#160;</td>
          <td class="paramname"><em>training_samples</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine reads training samples from a file and places them into a data structure which organizes the samples by FontName and CharName. It then returns this data structure. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>open text file to read samples from </td></tr>
    <tr><td class="paramname">feature_defs</td><td></td></tr>
    <tr><td class="paramname">feature_name</td><td></td></tr>
    <tr><td class="paramname">max_samples</td><td></td></tr>
    <tr><td class="paramname">unicharset</td><td></td></tr>
    <tr><td class="paramname">training_samples</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Globals: none </dd>
<dd>
Exceptions: none </dd>
<dd>
History:<ul>
<li>Fri Aug 18 13:11:39 1989, DSJ, Created.</li>
<li>Tue May 17 1998 simplifications to structure, illiminated font, and feature specification levels of structure. </li>
</ul>
</dd></dl>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00386">386</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;                                                             {</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;  <span class="keywordtype">char</span>    buffer[2048];</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;  <span class="keywordtype">char</span>    unichar[<a class="code" href="a00614.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a> + 1];</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  <a class="code" href="a04861.html">LABELEDLIST</a> char_sample;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  <a class="code" href="a04273.html">FEATURE_SET</a> feature_samples;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  <a class="code" href="a04145.html">CHAR_DESC</a> char_desc;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="keywordtype">int</span>   i;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;  <span class="keywordtype">int</span> feature_type = <a class="code" href="a00689.html#a46a09d60beb44b9c9156346595f352ee">ShortNameToFeatureType</a>(<a class="code" href="a01514.html#a7bbe652f7a8f769dd65d6442a8f004a9">feature_defs</a>, feature_name);</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;  <span class="comment">// Zero out the font_sample_count for all the classes.</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;  <a class="code" href="a04517.html">LIST</a> it = *training_samples;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(it) {</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    char_sample = <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="a04861.html">LABELEDLIST</a><span class="keyword">&gt;</span>(<a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a>(it));</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    char_sample-&gt;<a class="code" href="a04861.html#af23335c4319e0c5f010380d9de8f5a6d">font_sample_count</a> = 0;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;  }</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  <span class="keywordflow">while</span> (fgets(buffer, 2048, file) != NULL) {</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">if</span> (buffer[0] == <span class="charliteral">&#39;\n&#39;</span>)</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;      <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    sscanf(buffer, <span class="stringliteral">&quot;%*s %s&quot;</span>, unichar);</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    <span class="keywordflow">if</span> (unicharset != NULL &amp;&amp; !unicharset-&gt;<a class="code" href="a04041.html#a7b52b091edd0c1f5e17539f0d6af0e88">contains_unichar</a>(unichar)) {</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;      unicharset-&gt;<a class="code" href="a04041.html#ab5198816dde686850da3530a1f8261fe">unichar_insert</a>(unichar);</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;      <span class="keywordflow">if</span> (unicharset-&gt;<a class="code" href="a04041.html#adb332692009836a2d89e5fdf63f9765f">size</a>() &gt; <a class="code" href="a01157.html#adcc52d7d059a8ca452172df64faa231c">MAX_NUM_CLASSES</a>) {</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        <a class="code" href="a00608.html#a02aa7cca2c3857c14716e8cca96ace6c">tprintf</a>(<span class="stringliteral">&quot;Error: Size of unicharset in training is &quot;</span></div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                <span class="stringliteral">&quot;greater than MAX_NUM_CLASSES\n&quot;</span>);</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        exit(1);</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;      }</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    }</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    char_sample = <a class="code" href="a01514.html#a7acd4f2950ab3bd42ed87dc7b081be83">FindList</a>(*training_samples, unichar);</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordflow">if</span> (char_sample == NULL) {</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;      char_sample = <a class="code" href="a01514.html#a83417b534a3cb0ea9e43eba33e37f1bc">NewLabeledList</a>(unichar);</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;      *training_samples = <a class="code" href="a01121.html#a9c4294375af81ab4c133b6b5a3679a16">push</a>(*training_samples, char_sample);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    }</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    char_desc = <a class="code" href="a00689.html#ae1558f5d4119a9e651a85e10887be9f3">ReadCharDescription</a>(<a class="code" href="a01514.html#a7bbe652f7a8f769dd65d6442a8f004a9">feature_defs</a>, file);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    feature_samples = char_desc-&gt;<a class="code" href="a04145.html#ae04ec3a6b5e474d83930ff3e57a42acb">FeatureSets</a>[feature_type];</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="keywordflow">if</span> (char_sample-&gt;<a class="code" href="a04861.html#af23335c4319e0c5f010380d9de8f5a6d">font_sample_count</a> &lt; max_samples || max_samples &lt;= 0) {</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;      char_sample-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a> = <a class="code" href="a01121.html#a9c4294375af81ab4c133b6b5a3679a16">push</a>(char_sample-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a>, feature_samples);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;      char_sample-&gt;<a class="code" href="a04861.html#aab481329945e65c4aeee79b145e4de51">SampleCount</a>++;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;      char_sample-&gt;<a class="code" href="a04861.html#af23335c4319e0c5f010380d9de8f5a6d">font_sample_count</a>++;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;      <a class="code" href="a00791.html#a72b29c3d875eb9a2241385b1f1388b2d">FreeFeatureSet</a>(feature_samples);</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    }</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; char_desc-&gt;<a class="code" href="a04145.html#a44c9d1024eb43636b98d19c92f4e4b0f">NumFeatureSets</a>; i++) {</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;      <span class="keywordflow">if</span> (feature_type != i)</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        <a class="code" href="a00791.html#a72b29c3d875eb9a2241385b1f1388b2d">FreeFeatureSet</a>(char_desc-&gt;<a class="code" href="a04145.html#ae04ec3a6b5e474d83930ff3e57a42acb">FeatureSets</a>[i]);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    }</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    free(char_desc);</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;  }</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;}  <span class="comment">// ReadTrainingSamples</span></div><div class="ttc" id="a01514_html_a7bbe652f7a8f769dd65d6442a8f004a9"><div class="ttname"><a href="a01514.html#a7bbe652f7a8f769dd65d6442a8f004a9">feature_defs</a></div><div class="ttdeci">FEATURE_DEFS_STRUCT feature_defs</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00051">commontraining.cpp:51</a></div></div>
<div class="ttc" id="a04861_html_aab481329945e65c4aeee79b145e4de51"><div class="ttname"><a href="a04861.html#aab481329945e65c4aeee79b145e4de51">LABELEDLISTNODE::SampleCount</a></div><div class="ttdeci">int SampleCount</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00044">commontraining.h:44</a></div></div>
<div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a00689_html_a46a09d60beb44b9c9156346595f352ee"><div class="ttname"><a href="a00689.html#a46a09d60beb44b9c9156346595f352ee">ShortNameToFeatureType</a></div><div class="ttdeci">int ShortNameToFeatureType(const FEATURE_DEFS_STRUCT &amp;FeatureDefs, const char *ShortName)</div><div class="ttdef"><b>Definition:</b> <a href="a00689_source.html#l00302">featdefs.cpp:302</a></div></div>
<div class="ttc" id="a04273_html"><div class="ttname"><a href="a04273.html">FEATURE_SET_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00069">ocrfeatures.h:69</a></div></div>
<div class="ttc" id="a04145_html_ae04ec3a6b5e474d83930ff3e57a42acb"><div class="ttname"><a href="a04145.html#ae04ec3a6b5e474d83930ff3e57a42acb">CHAR_DESC_STRUCT::FeatureSets</a></div><div class="ttdeci">FEATURE_SET FeatureSets[NUM_FEATURE_TYPES]</div><div class="ttdef"><b>Definition:</b> <a href="a00692_source.html#l00044">featdefs.h:44</a></div></div>
<div class="ttc" id="a04041_html_a7b52b091edd0c1f5e17539f0d6af0e88"><div class="ttname"><a href="a04041.html#a7b52b091edd0c1f5e17539f0d6af0e88">UNICHARSET::contains_unichar</a></div><div class="ttdeci">bool TESS_API contains_unichar(const char *const unichar_repr) const</div><div class="ttdef"><b>Definition:</b> <a href="a00623_source.html#l00644">unicharset.cpp:644</a></div></div>
<div class="ttc" id="a04041_html_adb332692009836a2d89e5fdf63f9765f"><div class="ttname"><a href="a04041.html#adb332692009836a2d89e5fdf63f9765f">UNICHARSET::size</a></div><div class="ttdeci">int size() const</div><div class="ttdef"><b>Definition:</b> <a href="a00626_source.html#l00297">unicharset.h:297</a></div></div>
<div class="ttc" id="a01514_html_a7acd4f2950ab3bd42ed87dc7b081be83"><div class="ttname"><a href="a01514.html#a7acd4f2950ab3bd42ed87dc7b081be83">FindList</a></div><div class="ttdeci">LABELEDLIST FindList(LIST List, char *Label)</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00328">commontraining.cpp:328</a></div></div>
<div class="ttc" id="a01514_html_a83417b534a3cb0ea9e43eba33e37f1bc"><div class="ttname"><a href="a01514.html#a83417b534a3cb0ea9e43eba33e37f1bc">NewLabeledList</a></div><div class="ttdeci">LABELEDLIST NewLabeledList(const char *Label)</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00351">commontraining.cpp:351</a></div></div>
<div class="ttc" id="a04145_html_a44c9d1024eb43636b98d19c92f4e4b0f"><div class="ttname"><a href="a04145.html#a44c9d1024eb43636b98d19c92f4e4b0f">CHAR_DESC_STRUCT::NumFeatureSets</a></div><div class="ttdeci">uinT32 NumFeatureSets</div><div class="ttdef"><b>Definition:</b> <a href="a00692_source.html#l00043">featdefs.h:43</a></div></div>
<div class="ttc" id="a00614_html_a902bc40c9d89802bc063afe30ce9e708"><div class="ttname"><a href="a00614.html#a902bc40c9d89802bc063afe30ce9e708">UNICHAR_LEN</a></div><div class="ttdeci">#define UNICHAR_LEN</div><div class="ttdef"><b>Definition:</b> <a href="a00614_source.html#l00030">unichar.h:30</a></div></div>
<div class="ttc" id="a04861_html"><div class="ttname"><a href="a04861.html">LABELEDLISTNODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00041">commontraining.h:41</a></div></div>
<div class="ttc" id="a04041_html_ab5198816dde686850da3530a1f8261fe"><div class="ttname"><a href="a04041.html#ab5198816dde686850da3530a1f8261fe">UNICHARSET::unichar_insert</a></div><div class="ttdeci">void TESS_API unichar_insert(const char *const unichar_repr)</div><div class="ttdef"><b>Definition:</b> <a href="a00623_source.html#l00612">unicharset.cpp:612</a></div></div>
<div class="ttc" id="a01121_html_a9c4294375af81ab4c133b6b5a3679a16"><div class="ttname"><a href="a01121.html#a9c4294375af81ab4c133b6b5a3679a16">push</a></div><div class="ttdeci">LIST push(LIST list, void *element)</div><div class="ttdef"><b>Definition:</b> <a href="a01121_source.html#l00317">oldlist.cpp:317</a></div></div>
<div class="ttc" id="a04517_html"><div class="ttname"><a href="a04517.html">list_rec</a></div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00127">oldlist.h:127</a></div></div>
<div class="ttc" id="a00608_html_a02aa7cca2c3857c14716e8cca96ace6c"><div class="ttname"><a href="a00608.html#a02aa7cca2c3857c14716e8cca96ace6c">tprintf</a></div><div class="ttdeci">#define tprintf(...)</div><div class="ttdef"><b>Definition:</b> <a href="a00608_source.html#l00031">tprintf.h:31</a></div></div>
<div class="ttc" id="a01157_html_adcc52d7d059a8ca452172df64faa231c"><div class="ttname"><a href="a01157.html#adcc52d7d059a8ca452172df64faa231c">MAX_NUM_CLASSES</a></div><div class="ttdeci">#define MAX_NUM_CLASSES</div><div class="ttdef"><b>Definition:</b> <a href="a01157_source.html#l00031">matchdefs.h:31</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04145_html"><div class="ttname"><a href="a04145.html">CHAR_DESC_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="a00692_source.html#l00042">featdefs.h:42</a></div></div>
<div class="ttc" id="a00791_html_a72b29c3d875eb9a2241385b1f1388b2d"><div class="ttname"><a href="a00791.html#a72b29c3d875eb9a2241385b1f1388b2d">FreeFeatureSet</a></div><div class="ttdeci">void FreeFeatureSet(FEATURE_SET FeatureSet)</div><div class="ttdef"><b>Definition:</b> <a href="a00791_source.html#l00077">ocrfeatures.cpp:77</a></div></div>
<div class="ttc" id="a04861_html_af23335c4319e0c5f010380d9de8f5a6d"><div class="ttname"><a href="a04861.html#af23335c4319e0c5f010380d9de8f5a6d">LABELEDLISTNODE::font_sample_count</a></div><div class="ttdeci">int font_sample_count</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00045">commontraining.h:45</a></div></div>
<div class="ttc" id="a04861_html_a848ab6ee611dbc860f80a47ecef2faa7"><div class="ttname"><a href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">LABELEDLISTNODE::List</a></div><div class="ttdeci">LIST List</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00046">commontraining.h:46</a></div></div>
<div class="ttc" id="a00689_html_ae1558f5d4119a9e651a85e10887be9f3"><div class="ttname"><a href="a00689.html#ae1558f5d4119a9e651a85e10887be9f3">ReadCharDescription</a></div><div class="ttdeci">CHAR_DESC ReadCharDescription(const FEATURE_DEFS_STRUCT &amp;FeatureDefs, FILE *File)</div><div class="ttdef"><b>Definition:</b> <a href="a00689_source.html#l00263">featdefs.cpp:263</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aad49ec475f2a0dc40c789df41d101c94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad49ec475f2a0dc40c789df41d101c94">&#9670;&nbsp;</a></span>RemoveInsignificantProtos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a> RemoveInsignificantProtos </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>ProtoList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a>&#160;</td>
          <td class="paramname"><em>KeepSigProtos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00524.html#a7712a7e28433d0ade59219a129549b6f">BOOL8</a>&#160;</td>
          <td class="paramname"><em>KeepInsigProtos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>N</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00625">625</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;{</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;  <a class="code" href="a04517.html">LIST</a> NewProtoList = <a class="code" href="a01124.html#ae212530ca629c67513698e988c705a5a">NIL_LIST</a>;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;  <a class="code" href="a04517.html">LIST</a> pProtoList;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;  <a class="code" href="a04125.html">PROTOTYPE</a>* Proto;</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;  <a class="code" href="a04125.html">PROTOTYPE</a>* NewProto;</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;  pProtoList = ProtoList;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(pProtoList)</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;  {</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    Proto = (<a class="code" href="a04125.html">PROTOTYPE</a> *) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (pProtoList);</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    <span class="keywordflow">if</span> ((Proto-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> &amp;&amp; KeepSigProtos) ||</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        (!Proto-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> &amp;&amp; KeepInsigProtos))</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    {</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;      NewProto = (<a class="code" href="a04125.html">PROTOTYPE</a> *)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a>(<span class="keyword">sizeof</span>(<a class="code" href="a04125.html">PROTOTYPE</a>));</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a> = (<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> *)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a>(N * <span class="keyword">sizeof</span>(<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a>));</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a> = Proto-&gt;<a class="code" href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">Significant</a>;</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#aad81f08b6e171698866b445c0b3d4b35">Style</a> = Proto-&gt;<a class="code" href="a04125.html#aad81f08b6e171698866b445c0b3d4b35">Style</a>;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a> = Proto-&gt;<a class="code" href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">NumSamples</a>;</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#aff59384612de343b799b92a5d80282b7">Cluster</a> = NULL;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#ae53408c33cdd473a9ed1f028e8172b0b">Distrib</a> = NULL;</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;      <span class="keywordflow">for</span> (i=0; i &lt; N; i++)</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        NewProto-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[i] = Proto-&gt;<a class="code" href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">Mean</a>[i];</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;      if (Proto-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> != NULL)</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;      {</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        NewProto-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = (<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> *)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a>(N * <span class="keyword">sizeof</span>(<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a>));</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        <span class="keywordflow">for</span> (i=0; i &lt; N; i++)</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;          NewProto-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>[i] = Proto-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>[i];</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;      }</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;      <span class="keywordflow">else</span></div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        NewProto-&gt;<a class="code" href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">Variance</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = NULL;</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;      <span class="comment">//---------------------------------------------</span></div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;      <span class="keywordflow">if</span> (Proto-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> != NULL)</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;      {</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        NewProto-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = (<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> *)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a>(N * <span class="keyword">sizeof</span>(<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a>));</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;        <span class="keywordflow">for</span> (i=0; i &lt; N; i++)</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;          NewProto-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>[i] = Proto-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>[i];</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;      }</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;      <span class="keywordflow">else</span></div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;        NewProto-&gt;<a class="code" href="a04125.html#a0b016afed9c049598aa41feb3770fc15">Magnitude</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = NULL;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;      <span class="comment">//------------------------------------------------</span></div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;      <span class="keywordflow">if</span> (Proto-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> != NULL)</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;      {</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        NewProto-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = (<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> *)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a>(N * <span class="keyword">sizeof</span>(<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a>));</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;        <span class="keywordflow">for</span> (i=0; i &lt; N; i++)</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;          NewProto-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>[i] = Proto-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a>[i];</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;      }</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;      <span class="keywordflow">else</span></div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;        NewProto-&gt;<a class="code" href="a04125.html#af202ff952380614068536ea0b504285e">Weight</a>.<a class="code" href="a04121.html#a4b36c5b636aac27041dd340386f3801f">Elliptical</a> = NULL;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#a40a4a7e28d83ad5ad3c64e54734104be">TotalMagnitude</a> = Proto-&gt;<a class="code" href="a04125.html#a40a4a7e28d83ad5ad3c64e54734104be">TotalMagnitude</a>;</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;      NewProto-&gt;<a class="code" href="a04125.html#aefd3ba15fc4dd0029aa9cda07092382b">LogMagnitude</a> = Proto-&gt;<a class="code" href="a04125.html#aefd3ba15fc4dd0029aa9cda07092382b">LogMagnitude</a>;</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;      NewProtoList = <a class="code" href="a01121.html#a1019c2e1108695bb4f33f83e02ee62ad">push_last</a>(NewProtoList, NewProto);</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    }</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;  }</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;  <a class="code" href="a00665.html#a7e5357920f0bded023b15d29ddf15ebf">FreeProtoList</a>(&amp;ProtoList);</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;  <span class="keywordflow">return</span> (NewProtoList);</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;} <span class="comment">/* RemoveInsignificantProtos */</span></div><div class="ttc" id="a04125_html_aff59384612de343b799b92a5d80282b7"><div class="ttname"><a href="a04125.html#aff59384612de343b799b92a5d80282b7">PROTOTYPE::Cluster</a></div><div class="ttdeci">CLUSTER * Cluster</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00076">cluster.h:76</a></div></div>
<div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a04125_html_a40a4a7e28d83ad5ad3c64e54734104be"><div class="ttname"><a href="a04125.html#a40a4a7e28d83ad5ad3c64e54734104be">PROTOTYPE::TotalMagnitude</a></div><div class="ttdeci">FLOAT32 TotalMagnitude</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00079">cluster.h:79</a></div></div>
<div class="ttc" id="a01124_html_ae212530ca629c67513698e988c705a5a"><div class="ttname"><a href="a01124.html#ae212530ca629c67513698e988c705a5a">NIL_LIST</a></div><div class="ttdeci">#define NIL_LIST</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00126">oldlist.h:126</a></div></div>
<div class="ttc" id="a04125_html_aefd3ba15fc4dd0029aa9cda07092382b"><div class="ttname"><a href="a04125.html#aefd3ba15fc4dd0029aa9cda07092382b">PROTOTYPE::LogMagnitude</a></div><div class="ttdeci">FLOAT32 LogMagnitude</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00080">cluster.h:80</a></div></div>
<div class="ttc" id="a04125_html_a35cf2e2dd8cc8b0e9476ad49f36abd24"><div class="ttname"><a href="a04125.html#a35cf2e2dd8cc8b0e9476ad49f36abd24">PROTOTYPE::Variance</a></div><div class="ttdeci">FLOATUNION Variance</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00081">cluster.h:81</a></div></div>
<div class="ttc" id="a04125_html_a5d94887aaa0acd7e4a0c04c420af5670"><div class="ttname"><a href="a04125.html#a5d94887aaa0acd7e4a0c04c420af5670">PROTOTYPE::Significant</a></div><div class="ttdeci">unsigned Significant</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00068">cluster.h:68</a></div></div>
<div class="ttc" id="a01121_html_a1019c2e1108695bb4f33f83e02ee62ad"><div class="ttname"><a href="a01121.html#a1019c2e1108695bb4f33f83e02ee62ad">push_last</a></div><div class="ttdeci">LIST push_last(LIST list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="a01121_source.html#l00332">oldlist.cpp:332</a></div></div>
<div class="ttc" id="a04125_html_a2ba6bfd64f308a26cdd0a75c52e002f5"><div class="ttname"><a href="a04125.html#a2ba6bfd64f308a26cdd0a75c52e002f5">PROTOTYPE::NumSamples</a></div><div class="ttdeci">unsigned NumSamples</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00075">cluster.h:75</a></div></div>
<div class="ttc" id="a00524_html_a6a3da5f1db8d485c0d2f5a7ba526c4a0"><div class="ttname"><a href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a></div><div class="ttdeci">float FLOAT32</div><div class="ttdef"><b>Definition:</b> <a href="a00524_source.html#l00044">host.h:44</a></div></div>
<div class="ttc" id="a04125_html_ae53408c33cdd473a9ed1f028e8172b0b"><div class="ttname"><a href="a04125.html#ae53408c33cdd473a9ed1f028e8172b0b">PROTOTYPE::Distrib</a></div><div class="ttdeci">DISTRIBUTION * Distrib</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00077">cluster.h:77</a></div></div>
<div class="ttc" id="a04125_html_af9c4f61cdbf39f6494b4691799bd4fa6"><div class="ttname"><a href="a04125.html#af9c4f61cdbf39f6494b4691799bd4fa6">PROTOTYPE::Mean</a></div><div class="ttdeci">FLOAT32 * Mean</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00078">cluster.h:78</a></div></div>
<div class="ttc" id="a04125_html_a0b016afed9c049598aa41feb3770fc15"><div class="ttname"><a href="a04125.html#a0b016afed9c049598aa41feb3770fc15">PROTOTYPE::Magnitude</a></div><div class="ttdeci">FLOATUNION Magnitude</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00082">cluster.h:82</a></div></div>
<div class="ttc" id="a04517_html"><div class="ttname"><a href="a04517.html">list_rec</a></div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00127">oldlist.h:127</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04125_html"><div class="ttname"><a href="a04125.html">PROTOTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00067">cluster.h:67</a></div></div>
<div class="ttc" id="a04125_html_aad81f08b6e171698866b445c0b3d4b35"><div class="ttname"><a href="a04125.html#aad81f08b6e171698866b445c0b3d4b35">PROTOTYPE::Style</a></div><div class="ttdeci">unsigned Style</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00074">cluster.h:74</a></div></div>
<div class="ttc" id="a01106_html_a9bdc0885c33bbb5b062c77b1d90e2305"><div class="ttname"><a href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a></div><div class="ttdeci">void * Emalloc(int Size)</div><div class="ttdef"><b>Definition:</b> <a href="a01106_source.html#l00047">emalloc.cpp:47</a></div></div>
<div class="ttc" id="a04125_html_af202ff952380614068536ea0b504285e"><div class="ttname"><a href="a04125.html#af202ff952380614068536ea0b504285e">PROTOTYPE::Weight</a></div><div class="ttdeci">FLOATUNION Weight</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00083">cluster.h:83</a></div></div>
<div class="ttc" id="a00665_html_a7e5357920f0bded023b15d29ddf15ebf"><div class="ttname"><a href="a00665.html#a7e5357920f0bded023b15d29ddf15ebf">FreeProtoList</a></div><div class="ttdeci">void FreeProtoList(LIST *ProtoList)</div><div class="ttdef"><b>Definition:</b> <a href="a00665_source.html#l00574">cluster.cpp:574</a></div></div>
<div class="ttc" id="a04121_html_a4b36c5b636aac27041dd340386f3801f"><div class="ttname"><a href="a04121.html#a4b36c5b636aac27041dd340386f3801f">FLOATUNION::Elliptical</a></div><div class="ttdeci">FLOAT32 * Elliptical</div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00064">cluster.h:64</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aeec0a66901e2f5ba2fba6c5023a6734e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeec0a66901e2f5ba2fba6c5023a6734e">&#9670;&nbsp;</a></span>SetUpForClustering()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a04129.html">CLUSTERER</a>* SetUpForClustering </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a04149.html">FEATURE_DEFS_STRUCT</a> &amp;&#160;</td>
          <td class="paramname"><em>FeatureDefs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01517.html#af49d04c90ffcf9376c7a1e1db99182cb">LABELEDLIST</a>&#160;</td>
          <td class="paramname"><em>char_sample</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>program_feature_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine reads samples from a LABELEDLIST and enters those samples into a clusterer data structure. This data structure is then returned to the caller. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">char_sample</td><td>LABELEDLIST that holds all the feature information for a </td></tr>
    <tr><td class="paramname">FeatureDefs</td><td></td></tr>
    <tr><td class="paramname">program_feature_type</td><td>given character. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to new clusterer data structure. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Globals: None </dd>
<dd>
Exceptions: None </dd>
<dd>
History: 8/16/89, DSJ, Created. </dd></dl>

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00499">499</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;                                                                {</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  <a class="code" href="a00524.html#acb2dfad543247740dab87d31bb49dfff">uinT16</a> N;</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;  <span class="keywordtype">int</span> i, j;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;  <a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> *Sample = NULL;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;  <a class="code" href="a04129.html">CLUSTERER</a> *Clusterer;</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;  <a class="code" href="a00524.html#aba1f582fd0168f3ff9225d8c90fa9eb8">inT32</a> CharID;</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;  <a class="code" href="a04517.html">LIST</a> FeatureList = NULL;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;  <a class="code" href="a04273.html">FEATURE_SET</a> FeatureSet = NULL;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;  <span class="keywordtype">int</span> desc_index = <a class="code" href="a00689.html#a46a09d60beb44b9c9156346595f352ee">ShortNameToFeatureType</a>(FeatureDefs, program_feature_type);</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;  N = FeatureDefs.<a class="code" href="a04149.html#ab09a6d77d42a8a2b5882bbc27ee4f23c">FeatureDesc</a>[desc_index]-&gt;<a class="code" href="a04265.html#a0edbab02900ae01549f742582236eb6d">NumParams</a>;</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;  Clusterer = <a class="code" href="a00665.html#a93e53684b74358b68adf48b2ee32b042">MakeClusterer</a>(N, FeatureDefs.<a class="code" href="a04149.html#ab09a6d77d42a8a2b5882bbc27ee4f23c">FeatureDesc</a>[desc_index]-&gt;<a class="code" href="a04265.html#acc46f9f5b3cded3ca8e7de3e94407c58">ParamDesc</a>);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;  FeatureList = char_sample-&gt;<a class="code" href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">List</a>;</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;  CharID = 0;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(FeatureList) {</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    FeatureSet = (<a class="code" href="a00794.html#ac0c2f756ba2c7f34a21efbe13a49ac39">FEATURE_SET</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a>(FeatureList);</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; FeatureSet-&gt;<a class="code" href="a04273.html#a929fdddbb7cb689f66b59e06d51aee46">MaxNumFeatures</a>; i++) {</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;      <span class="keywordflow">if</span> (Sample == NULL)</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        Sample = (<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a> *)<a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a>(N * <span class="keyword">sizeof</span>(<a class="code" href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a>));</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;      <span class="keywordflow">for</span> (j = 0; j &lt; N; j++)</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        Sample[j] = FeatureSet-&gt;<a class="code" href="a04273.html#a4664d6a22a9d12f4011de4d877664c45">Features</a>[i]-&gt;<a class="code" href="a04269.html#ace52f36cfcba955504f4a24f86a897b4">Params</a>[j];</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;      <a class="code" href="a00665.html#ab3cc5ee277d4a2cf4000668b1ffbcf4a">MakeSample</a> (Clusterer, Sample, CharID);</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    }</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    CharID++;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  }</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  free(Sample);</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;  <span class="keywordflow">return</span> Clusterer;</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;} <span class="comment">/* SetUpForClustering */</span></div><div class="ttc" id="a00665_html_ab3cc5ee277d4a2cf4000668b1ffbcf4a"><div class="ttname"><a href="a00665.html#ab3cc5ee277d4a2cf4000668b1ffbcf4a">MakeSample</a></div><div class="ttdeci">SAMPLE * MakeSample(CLUSTERER *Clusterer, const FLOAT32 *Feature, inT32 CharID)</div><div class="ttdef"><b>Definition:</b> <a href="a00665_source.html#l00456">cluster.cpp:456</a></div></div>
<div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a00689_html_a46a09d60beb44b9c9156346595f352ee"><div class="ttname"><a href="a00689.html#a46a09d60beb44b9c9156346595f352ee">ShortNameToFeatureType</a></div><div class="ttdeci">int ShortNameToFeatureType(const FEATURE_DEFS_STRUCT &amp;FeatureDefs, const char *ShortName)</div><div class="ttdef"><b>Definition:</b> <a href="a00689_source.html#l00302">featdefs.cpp:302</a></div></div>
<div class="ttc" id="a04273_html"><div class="ttname"><a href="a04273.html">FEATURE_SET_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00069">ocrfeatures.h:69</a></div></div>
<div class="ttc" id="a00665_html_a93e53684b74358b68adf48b2ee32b042"><div class="ttname"><a href="a00665.html#a93e53684b74358b68adf48b2ee32b042">MakeClusterer</a></div><div class="ttdeci">CLUSTERER * MakeClusterer(inT16 SampleSize, const PARAM_DESC ParamDesc[])</div><div class="ttdef"><b>Definition:</b> <a href="a00665_source.html#l00400">cluster.cpp:400</a></div></div>
<div class="ttc" id="a04149_html_ab09a6d77d42a8a2b5882bbc27ee4f23c"><div class="ttname"><a href="a04149.html#ab09a6d77d42a8a2b5882bbc27ee4f23c">FEATURE_DEFS_STRUCT::FeatureDesc</a></div><div class="ttdeci">const FEATURE_DESC_STRUCT * FeatureDesc[NUM_FEATURE_TYPES]</div><div class="ttdef"><b>Definition:</b> <a href="a00692_source.html#l00050">featdefs.h:50</a></div></div>
<div class="ttc" id="a04269_html_ace52f36cfcba955504f4a24f86a897b4"><div class="ttname"><a href="a04269.html#ace52f36cfcba955504f4a24f86a897b4">FEATURE_STRUCT::Params</a></div><div class="ttdeci">FLOAT32 Params[1]</div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00065">ocrfeatures.h:65</a></div></div>
<div class="ttc" id="a00794_html_ac0c2f756ba2c7f34a21efbe13a49ac39"><div class="ttname"><a href="a00794.html#ac0c2f756ba2c7f34a21efbe13a49ac39">FEATURE_SET</a></div><div class="ttdeci">FEATURE_SET_STRUCT * FEATURE_SET</div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00074">ocrfeatures.h:74</a></div></div>
<div class="ttc" id="a00524_html_acb2dfad543247740dab87d31bb49dfff"><div class="ttname"><a href="a00524.html#acb2dfad543247740dab87d31bb49dfff">uinT16</a></div><div class="ttdeci">unsigned short uinT16</div><div class="ttdef"><b>Definition:</b> <a href="a00524_source.html#l00034">host.h:34</a></div></div>
<div class="ttc" id="a04265_html_acc46f9f5b3cded3ca8e7de3e94407c58"><div class="ttname"><a href="a04265.html#acc46f9f5b3cded3ca8e7de3e94407c58">FEATURE_DESC_STRUCT::ParamDesc</a></div><div class="ttdeci">const PARAM_DESC * ParamDesc</div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00059">ocrfeatures.h:59</a></div></div>
<div class="ttc" id="a00524_html_a6a3da5f1db8d485c0d2f5a7ba526c4a0"><div class="ttname"><a href="a00524.html#a6a3da5f1db8d485c0d2f5a7ba526c4a0">FLOAT32</a></div><div class="ttdeci">float FLOAT32</div><div class="ttdef"><b>Definition:</b> <a href="a00524_source.html#l00044">host.h:44</a></div></div>
<div class="ttc" id="a04273_html_a929fdddbb7cb689f66b59e06d51aee46"><div class="ttname"><a href="a04273.html#a929fdddbb7cb689f66b59e06d51aee46">FEATURE_SET_STRUCT::MaxNumFeatures</a></div><div class="ttdeci">uinT16 MaxNumFeatures</div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00071">ocrfeatures.h:71</a></div></div>
<div class="ttc" id="a04129_html"><div class="ttname"><a href="a04129.html">CLUSTERER</a></div><div class="ttdef"><b>Definition:</b> <a href="a00668_source.html#l00086">cluster.h:86</a></div></div>
<div class="ttc" id="a00524_html_aba1f582fd0168f3ff9225d8c90fa9eb8"><div class="ttname"><a href="a00524.html#aba1f582fd0168f3ff9225d8c90fa9eb8">inT32</a></div><div class="ttdeci">int inT32</div><div class="ttdef"><b>Definition:</b> <a href="a00524_source.html#l00035">host.h:35</a></div></div>
<div class="ttc" id="a04517_html"><div class="ttname"><a href="a04517.html">list_rec</a></div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00127">oldlist.h:127</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a04265_html_a0edbab02900ae01549f742582236eb6d"><div class="ttname"><a href="a04265.html#a0edbab02900ae01549f742582236eb6d">FEATURE_DESC_STRUCT::NumParams</a></div><div class="ttdeci">uinT16 NumParams</div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00057">ocrfeatures.h:57</a></div></div>
<div class="ttc" id="a01106_html_a9bdc0885c33bbb5b062c77b1d90e2305"><div class="ttname"><a href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a></div><div class="ttdeci">void * Emalloc(int Size)</div><div class="ttdef"><b>Definition:</b> <a href="a01106_source.html#l00047">emalloc.cpp:47</a></div></div>
<div class="ttc" id="a04273_html_a4664d6a22a9d12f4011de4d877664c45"><div class="ttname"><a href="a04273.html#a4664d6a22a9d12f4011de4d877664c45">FEATURE_SET_STRUCT::Features</a></div><div class="ttdeci">FEATURE Features[1]</div><div class="ttdef"><b>Definition:</b> <a href="a00794_source.html#l00072">ocrfeatures.h:72</a></div></div>
<div class="ttc" id="a04861_html_a848ab6ee611dbc860f80a47ecef2faa7"><div class="ttname"><a href="a04861.html#a848ab6ee611dbc860f80a47ecef2faa7">LABELEDLISTNODE::List</a></div><div class="ttdeci">LIST List</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00046">commontraining.h:46</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae0ede748b48d1f73abdaeac0c2a1a000"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0ede748b48d1f73abdaeac0c2a1a000">&#9670;&nbsp;</a></span>SetUpForFloat2Int()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a04281.html">CLASS_STRUCT</a>* SetUpForFloat2Int </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a04041.html">UNICHARSET</a> &amp;&#160;</td>
          <td class="paramname"><em>unicharset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01124.html#aa200acf94add0e61783bfcd5965bb645">LIST</a>&#160;</td>
          <td class="paramname"><em>LabeledClassList</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00744">744</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;                                                       {</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;  <a class="code" href="a04865.html">MERGE_CLASS</a> MergeClass;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;  <a class="code" href="a04281.html">CLASS_TYPE</a> Class;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;  <span class="keywordtype">int</span> NumProtos;</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;  <span class="keywordtype">int</span> NumConfigs;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  <span class="keywordtype">int</span> NumWords;</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;  <span class="keywordtype">int</span> i, j;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;  <span class="keywordtype">float</span> Values[3];</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;  <a class="code" href="a04277.html">PROTO</a> NewProto;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;  <a class="code" href="a04277.html">PROTO</a> OldProto;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;  <a class="code" href="a01070.html#a584fa1e33e36d105f97bc7e7288fb259">BIT_VECTOR</a> NewConfig;</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;  <a class="code" href="a01070.html#a584fa1e33e36d105f97bc7e7288fb259">BIT_VECTOR</a> OldConfig;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;  <span class="comment">//  printf(&quot;Float2Int ...\n&quot;);</span></div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;  <a class="code" href="a04281.html">CLASS_STRUCT</a>* float_classes = <span class="keyword">new</span> <a class="code" href="a04281.html">CLASS_STRUCT</a>[unicharset.<a class="code" href="a04041.html#adb332692009836a2d89e5fdf63f9765f">size</a>()];</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;  <a class="code" href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a>(LabeledClassList)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;  {</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;    <a class="code" href="a04053.html">UnicityTableEqEq&lt;int&gt;</a>   font_set;</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    MergeClass = (<a class="code" href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a>) <a class="code" href="a01124.html#a69547be764424f18b0be535400747978">first_node</a> (LabeledClassList);</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    Class = &amp;float_classes[unicharset.<a class="code" href="a04041.html#aeb2253dcb5f01c81fcba5f4af417eadf">unichar_to_id</a>(MergeClass-&gt;<a class="code" href="a04865.html#a748285b0d7014218f0b335dcb0513168">Label</a>)];</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;    NumProtos = MergeClass-&gt;<a class="code" href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">Class</a>-&gt;<a class="code" href="a04281.html#aed122893fec98b9ebccee234bbb00292">NumProtos</a>;</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    NumConfigs = MergeClass-&gt;<a class="code" href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">Class</a>-&gt;<a class="code" href="a04281.html#a452c42efe7ec87439ef16f1e51d57f2c">NumConfigs</a>;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;    font_set.<a class="code" href="a02545.html#a18c8fc9ccbd7c0befdae1ab65bafdb12">move</a>(&amp;MergeClass-&gt;<a class="code" href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">Class</a>-&gt;<a class="code" href="a04281.html#a42fd551c9f2ee48e5873ae7308df64b4">font_set</a>);</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;    Class-&gt;<a class="code" href="a04281.html#aed122893fec98b9ebccee234bbb00292">NumProtos</a> = NumProtos;</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    Class-&gt;<a class="code" href="a04281.html#ae5646d21fd1609343ad276deac642757">MaxNumProtos</a> = NumProtos;</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    Class-&gt;<a class="code" href="a04281.html#add1a2c4f7b02eb438c377242495013ef">Prototypes</a> = (<a class="code" href="a00812.html#a04b1cd7341d318ccc4e679aec5cfad0e">PROTO</a>) <a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a> (<span class="keyword">sizeof</span>(<a class="code" href="a04277.html">PROTO_STRUCT</a>) * NumProtos);</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;    <span class="keywordflow">for</span>(i=0; i &lt; NumProtos; i++)</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    {</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;      NewProto = <a class="code" href="a00812.html#a3def7bc87c3ad9ad793128f0dc5b8fce">ProtoIn</a>(Class, i);</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;      OldProto = <a class="code" href="a00812.html#a3def7bc87c3ad9ad793128f0dc5b8fce">ProtoIn</a>(MergeClass-&gt;<a class="code" href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">Class</a>, i);</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;      Values[0] = OldProto-&gt;<a class="code" href="a04277.html#a54dd1cca86a1fd5c9ead8499cba99784">X</a>;</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;      Values[1] = OldProto-&gt;<a class="code" href="a04277.html#a8dcd81037c1bc672e97ef7a54306dd93">Y</a>;</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;      Values[2] = OldProto-&gt;<a class="code" href="a04277.html#a6cc7458f385f9c4673e1ce9a6dc9e80a">Angle</a>;</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;      <a class="code" href="a01514.html#a8959d42d4e9ba28a3e128aed3cefb479">Normalize</a>(Values);</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;      NewProto-&gt;<a class="code" href="a04277.html#a54dd1cca86a1fd5c9ead8499cba99784">X</a> = OldProto-&gt;<a class="code" href="a04277.html#a54dd1cca86a1fd5c9ead8499cba99784">X</a>;</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;      NewProto-&gt;<a class="code" href="a04277.html#a8dcd81037c1bc672e97ef7a54306dd93">Y</a> = OldProto-&gt;<a class="code" href="a04277.html#a8dcd81037c1bc672e97ef7a54306dd93">Y</a>;</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;      NewProto-&gt;<a class="code" href="a04277.html#aa29d8aaab147327320e2bc94a821aad1">Length</a> = OldProto-&gt;<a class="code" href="a04277.html#aa29d8aaab147327320e2bc94a821aad1">Length</a>;</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;      NewProto-&gt;<a class="code" href="a04277.html#a6cc7458f385f9c4673e1ce9a6dc9e80a">Angle</a> = OldProto-&gt;<a class="code" href="a04277.html#a6cc7458f385f9c4673e1ce9a6dc9e80a">Angle</a>;</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;      NewProto-&gt;<a class="code" href="a04277.html#ae3211a725f109fbd40efc6cd154330f7">A</a> = Values[0];</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;      NewProto-&gt;<a class="code" href="a04277.html#a884630c87acb7606ac02516d1ea4ea9e">B</a> = Values[1];</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;      NewProto-&gt;<a class="code" href="a04277.html#a09d1e20c0a8362582127fa3554bb83ae">C</a> = Values[2];</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    }</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;    Class-&gt;<a class="code" href="a04281.html#a452c42efe7ec87439ef16f1e51d57f2c">NumConfigs</a> = NumConfigs;</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    Class-&gt;<a class="code" href="a04281.html#a35830ba1f40d31ef5bb3ad9d4e4596dc">MaxNumConfigs</a> = NumConfigs;</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;    Class-&gt;<a class="code" href="a04281.html#a42fd551c9f2ee48e5873ae7308df64b4">font_set</a>.<a class="code" href="a02545.html#a18c8fc9ccbd7c0befdae1ab65bafdb12">move</a>(&amp;font_set);</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    Class-&gt;<a class="code" href="a04281.html#ac5524279d10e5bafe306355d72309b69">Configurations</a> = (<a class="code" href="a01070.html#a584fa1e33e36d105f97bc7e7288fb259">BIT_VECTOR</a>*) <a class="code" href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a> (<span class="keyword">sizeof</span>(<a class="code" href="a01070.html#a584fa1e33e36d105f97bc7e7288fb259">BIT_VECTOR</a>) * NumConfigs);</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;    NumWords = <a class="code" href="a01070.html#a905ff9b6c51cb231dd8baf1713a3c9b8">WordsInVectorOfSize</a>(NumProtos);</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    <span class="keywordflow">for</span>(i=0; i &lt; NumConfigs; i++)</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    {</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;      NewConfig = <a class="code" href="a01067.html#a502314dc3ee4b178df067713b324b868">NewBitVector</a>(NumProtos);</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;      OldConfig = MergeClass-&gt;<a class="code" href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">Class</a>-&gt;<a class="code" href="a04281.html#ac5524279d10e5bafe306355d72309b69">Configurations</a>[i];</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;      <span class="keywordflow">for</span>(j=0; j &lt; NumWords; j++)</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        NewConfig[j] = OldConfig[j];</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;      Class-&gt;<a class="code" href="a04281.html#ac5524279d10e5bafe306355d72309b69">Configurations</a>[i] = NewConfig;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    }</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;  }</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;  <span class="keywordflow">return</span> float_classes;</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;} <span class="comment">// SetUpForFloat2Int</span></div><div class="ttc" id="a01124_html_a69547be764424f18b0be535400747978"><div class="ttname"><a href="a01124.html#a69547be764424f18b0be535400747978">first_node</a></div><div class="ttdeci">#define first_node(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00139">oldlist.h:139</a></div></div>
<div class="ttc" id="a00812_html_a04b1cd7341d318ccc4e679aec5cfad0e"><div class="ttname"><a href="a00812.html#a04b1cd7341d318ccc4e679aec5cfad0e">PROTO</a></div><div class="ttdeci">PROTO_STRUCT * PROTO</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00052">protos.h:52</a></div></div>
<div class="ttc" id="a04281_html_ac5524279d10e5bafe306355d72309b69"><div class="ttname"><a href="a04281.html#ac5524279d10e5bafe306355d72309b69">CLASS_STRUCT::Configurations</a></div><div class="ttdeci">CONFIGS Configurations</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00064">protos.h:64</a></div></div>
<div class="ttc" id="a01070_html_a584fa1e33e36d105f97bc7e7288fb259"><div class="ttname"><a href="a01070.html#a584fa1e33e36d105f97bc7e7288fb259">BIT_VECTOR</a></div><div class="ttdeci">uinT32 * BIT_VECTOR</div><div class="ttdef"><b>Definition:</b> <a href="a01070_source.html#l00028">bitvec.h:28</a></div></div>
<div class="ttc" id="a04281_html_aed122893fec98b9ebccee234bbb00292"><div class="ttname"><a href="a04281.html#aed122893fec98b9ebccee234bbb00292">CLASS_STRUCT::NumProtos</a></div><div class="ttdeci">inT16 NumProtos</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00059">protos.h:59</a></div></div>
<div class="ttc" id="a04041_html_adb332692009836a2d89e5fdf63f9765f"><div class="ttname"><a href="a04041.html#adb332692009836a2d89e5fdf63f9765f">UNICHARSET::size</a></div><div class="ttdeci">int size() const</div><div class="ttdef"><b>Definition:</b> <a href="a00626_source.html#l00297">unicharset.h:297</a></div></div>
<div class="ttc" id="a01517_html_a04868818ab7f00c7b35f7f978dca7852"><div class="ttname"><a href="a01517.html#a04868818ab7f00c7b35f7f978dca7852">MERGE_CLASS</a></div><div class="ttdeci">MERGE_CLASS_NODE * MERGE_CLASS</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00056">commontraining.h:56</a></div></div>
<div class="ttc" id="a04281_html_a42fd551c9f2ee48e5873ae7308df64b4"><div class="ttname"><a href="a04281.html#a42fd551c9f2ee48e5873ae7308df64b4">CLASS_STRUCT::font_set</a></div><div class="ttdeci">UnicityTableEqEq&lt; int &gt; font_set</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00065">protos.h:65</a></div></div>
<div class="ttc" id="a04281_html_add1a2c4f7b02eb438c377242495013ef"><div class="ttname"><a href="a04281.html#add1a2c4f7b02eb438c377242495013ef">CLASS_STRUCT::Prototypes</a></div><div class="ttdeci">PROTO Prototypes</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00061">protos.h:61</a></div></div>
<div class="ttc" id="a04277_html_a6cc7458f385f9c4673e1ce9a6dc9e80a"><div class="ttname"><a href="a04277.html#a6cc7458f385f9c4673e1ce9a6dc9e80a">PROTO_STRUCT::Angle</a></div><div class="ttdeci">FLOAT32 Angle</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00049">protos.h:49</a></div></div>
<div class="ttc" id="a01514_html_a8959d42d4e9ba28a3e128aed3cefb479"><div class="ttname"><a href="a01514.html#a8959d42d4e9ba28a3e128aed3cefb479">Normalize</a></div><div class="ttdeci">void Normalize(float *Values)</div><div class="ttdef"><b>Definition:</b> <a href="a01514_source.html#l00807">commontraining.cpp:807</a></div></div>
<div class="ttc" id="a01067_html_a502314dc3ee4b178df067713b324b868"><div class="ttname"><a href="a01067.html#a502314dc3ee4b178df067713b324b868">NewBitVector</a></div><div class="ttdeci">BIT_VECTOR NewBitVector(int NumBits)</div><div class="ttdef"><b>Definition:</b> <a href="a01067_source.html#l00089">bitvec.cpp:89</a></div></div>
<div class="ttc" id="a04277_html_a54dd1cca86a1fd5c9ead8499cba99784"><div class="ttname"><a href="a04277.html#a54dd1cca86a1fd5c9ead8499cba99784">PROTO_STRUCT::X</a></div><div class="ttdeci">FLOAT32 X</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00047">protos.h:47</a></div></div>
<div class="ttc" id="a01070_html_a905ff9b6c51cb231dd8baf1713a3c9b8"><div class="ttname"><a href="a01070.html#a905ff9b6c51cb231dd8baf1713a3c9b8">WordsInVectorOfSize</a></div><div class="ttdeci">#define WordsInVectorOfSize(NumBits)</div><div class="ttdef"><b>Definition:</b> <a href="a01070_source.html#l00063">bitvec.h:63</a></div></div>
<div class="ttc" id="a04277_html_aa29d8aaab147327320e2bc94a821aad1"><div class="ttname"><a href="a04277.html#aa29d8aaab147327320e2bc94a821aad1">PROTO_STRUCT::Length</a></div><div class="ttdeci">FLOAT32 Length</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00050">protos.h:50</a></div></div>
<div class="ttc" id="a04281_html_a452c42efe7ec87439ef16f1e51d57f2c"><div class="ttname"><a href="a04281.html#a452c42efe7ec87439ef16f1e51d57f2c">CLASS_STRUCT::NumConfigs</a></div><div class="ttdeci">inT16 NumConfigs</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00062">protos.h:62</a></div></div>
<div class="ttc" id="a04277_html_a09d1e20c0a8362582127fa3554bb83ae"><div class="ttname"><a href="a04277.html#a09d1e20c0a8362582127fa3554bb83ae">PROTO_STRUCT::C</a></div><div class="ttdeci">FLOAT32 C</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00046">protos.h:46</a></div></div>
<div class="ttc" id="a04281_html_ae5646d21fd1609343ad276deac642757"><div class="ttname"><a href="a04281.html#ae5646d21fd1609343ad276deac642757">CLASS_STRUCT::MaxNumProtos</a></div><div class="ttdeci">inT16 MaxNumProtos</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00060">protos.h:60</a></div></div>
<div class="ttc" id="a04277_html_ae3211a725f109fbd40efc6cd154330f7"><div class="ttname"><a href="a04277.html#ae3211a725f109fbd40efc6cd154330f7">PROTO_STRUCT::A</a></div><div class="ttdeci">FLOAT32 A</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00044">protos.h:44</a></div></div>
<div class="ttc" id="a04281_html_a35830ba1f40d31ef5bb3ad9d4e4596dc"><div class="ttname"><a href="a04281.html#a35830ba1f40d31ef5bb3ad9d4e4596dc">CLASS_STRUCT::MaxNumConfigs</a></div><div class="ttdeci">inT16 MaxNumConfigs</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00063">protos.h:63</a></div></div>
<div class="ttc" id="a04281_html"><div class="ttname"><a href="a04281.html">CLASS_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00054">protos.h:54</a></div></div>
<div class="ttc" id="a04041_html_aeb2253dcb5f01c81fcba5f4af417eadf"><div class="ttname"><a href="a04041.html#aeb2253dcb5f01c81fcba5f4af417eadf">UNICHARSET::unichar_to_id</a></div><div class="ttdeci">UNICHAR_ID TESS_API unichar_to_id(const char *const unichar_repr) const</div><div class="ttdef"><b>Definition:</b> <a href="a00623_source.html#l00194">unicharset.cpp:194</a></div></div>
<div class="ttc" id="a04277_html_a8dcd81037c1bc672e97ef7a54306dd93"><div class="ttname"><a href="a04277.html#a8dcd81037c1bc672e97ef7a54306dd93">PROTO_STRUCT::Y</a></div><div class="ttdeci">FLOAT32 Y</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00048">protos.h:48</a></div></div>
<div class="ttc" id="a01124_html_a2cf19ba78be6b54f66823d58f34f2a53"><div class="ttname"><a href="a01124.html#a2cf19ba78be6b54f66823d58f34f2a53">iterate</a></div><div class="ttdeci">#define iterate(l)</div><div class="ttdef"><b>Definition:</b> <a href="a01124_source.html#l00159">oldlist.h:159</a></div></div>
<div class="ttc" id="a00812_html_a3def7bc87c3ad9ad793128f0dc5b8fce"><div class="ttname"><a href="a00812.html#a3def7bc87c3ad9ad793128f0dc5b8fce">ProtoIn</a></div><div class="ttdeci">#define ProtoIn(Class, Pid)</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00123">protos.h:123</a></div></div>
<div class="ttc" id="a01106_html_a9bdc0885c33bbb5b062c77b1d90e2305"><div class="ttname"><a href="a01106.html#a9bdc0885c33bbb5b062c77b1d90e2305">Emalloc</a></div><div class="ttdeci">void * Emalloc(int Size)</div><div class="ttdef"><b>Definition:</b> <a href="a01106_source.html#l00047">emalloc.cpp:47</a></div></div>
<div class="ttc" id="a04865_html_a1c7b735de8e1caa16763adf0cfc95593"><div class="ttname"><a href="a04865.html#a1c7b735de8e1caa16763adf0cfc95593">MERGE_CLASS_NODE::Class</a></div><div class="ttdeci">CLASS_TYPE Class</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00054">commontraining.h:54</a></div></div>
<div class="ttc" id="a04865_html_a748285b0d7014218f0b335dcb0513168"><div class="ttname"><a href="a04865.html#a748285b0d7014218f0b335dcb0513168">MERGE_CLASS_NODE::Label</a></div><div class="ttdeci">char * Label</div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00052">commontraining.h:52</a></div></div>
<div class="ttc" id="a04277_html"><div class="ttname"><a href="a04277.html">PROTO_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00042">protos.h:42</a></div></div>
<div class="ttc" id="a02545_html_a18c8fc9ccbd7c0befdae1ab65bafdb12"><div class="ttname"><a href="a02545.html#a18c8fc9ccbd7c0befdae1ab65bafdb12">UnicityTable::move</a></div><div class="ttdeci">void move(UnicityTable&lt; T &gt; *from)</div><div class="ttdef"><b>Definition:</b> <a href="a00629_source.html#l00204">unicity_table.h:204</a></div></div>
<div class="ttc" id="a04865_html"><div class="ttname"><a href="a04865.html">MERGE_CLASS_NODE</a></div><div class="ttdef"><b>Definition:</b> <a href="a01517_source.html#l00050">commontraining.h:50</a></div></div>
<div class="ttc" id="a04053_html"><div class="ttname"><a href="a04053.html">UnicityTableEqEq&lt; int &gt;</a></div></div>
<div class="ttc" id="a04277_html_a884630c87acb7606ac02516d1ea4ea9e"><div class="ttname"><a href="a04277.html#a884630c87acb7606ac02516d1ea4ea9e">PROTO_STRUCT::B</a></div><div class="ttdeci">FLOAT32 B</div><div class="ttdef"><b>Definition:</b> <a href="a00812_source.html#l00045">protos.h:45</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a761621871a3521485639c2dc1ab86dde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a761621871a3521485639c2dc1ab86dde">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[1/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">configfile&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;File to load more configs from&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a22bc72d3f4ad61943eda16ca41b7206e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22bc72d3f4ad61943eda16ca41b7206e">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[2/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">D&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Directory to write output files to&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a18399ffa0db885bbf49fa74e34b50fa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18399ffa0db885bbf49fa74e34b50fa7">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[3/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">F&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;font_properties&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;File listing font properties&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a383912565f7d9be8b567253e38cced5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a383912565f7d9be8b567253e38cced5b">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[4/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">X&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;File listing font xheights&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6f76f16efd5a4f8da2e73e9bc69ea6bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f76f16efd5a4f8da2e73e9bc69ea6bc">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[5/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">U&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;unicharset&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;File to load unicharset from&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a18cd2e41a82c85233542e0228d03aef6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18cd2e41a82c85233542e0228d03aef6">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[6/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">O&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;File to write unicharset to&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a33587d1e41ae0eab61731e5646dd2e16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33587d1e41ae0eab61731e5646dd2e16">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[7/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;File to load trainer from&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab3eb185e1346e01e30714231f890e00d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3eb185e1346e01e30714231f890e00d">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[8/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">output_trainer&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;File to write trainer to&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ae8dc71af522af91e5bc39f3f7b31ecf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8dc71af522af91e5bc39f3f7b31ecf2">&#9670;&nbsp;</a></span>STRING_PARAM_FLAG() <span class="overload">[9/9]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STRING_PARAM_FLAG </td>
          <td>(</td>
          <td class="paramtype">test_ch&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;UTF8 test <a class="el" href="a00770.html#a2a4b69f9a2827dc98bc4cbc233118865afa40ef3af4fea0001b535318130960b2">character</a> string&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="acbe955bd3fe0e5af5ace2d4bb3c1fbe7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbe955bd3fe0e5af5ace2d4bb3c1fbe7">&#9670;&nbsp;</a></span>ccutil</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a02769.html">CCUtil</a> ccutil</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00052">52</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>

</div>
</div>
<a id="a1630a3dc82a9a7cef07bb6153df9eb9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1630a3dc82a9a7cef07bb6153df9eb9c">&#9670;&nbsp;</a></span>Config</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a04117.html">CLUSTERCONFIG</a> Config = { <a class="el" href="a00668.html#a2bf647f23b4a059a559e4d991437c9eaa39d32ff639641ca169c9729c58614459">elliptical</a>, 0.625, 0.05, 1.0, 1e-6, 0 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00050">50</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>

</div>
</div>
<a id="a7bbe652f7a8f769dd65d6442a8f004a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bbe652f7a8f769dd65d6442a8f004a9">&#9670;&nbsp;</a></span>feature_defs</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a04149.html">FEATURE_DEFS_STRUCT</a> feature_defs</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="a01514_source.html#l00051">51</a> of file <a class="el" href="a01514_source.html">commontraining.cpp</a>.</p>

</div>
</div>
</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_3f6e8af9f0f503b702a1e3dd8236253a.html">training</a></li><li class="navelem"><a class="el" href="a01514.html">commontraining.cpp</a></li>
    <li class="footer">Generated on Mon Oct 29 2018 11:27:55 for tesseract by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>