mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-22 21:01:50 +08:00
Documentation for c26eea874d
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.12.0"/>
|
||||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>TheAlgorithms/C++: machine_learning/adaline_learning.cpp Source File</title>
|
||||
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
|
||||
@@ -60,7 +60,7 @@ window.MathJax = {
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.12.0 -->
|
||||
<!-- Generated by Doxygen 1.13.2 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
|
||||
@@ -124,7 +124,8 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="headertitle"><div class="title">adaline_learning.cpp</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="../../d5/db0/adaline__learning_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<a href="../../d5/db0/adaline__learning_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <array></span></div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <cassert></span></div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include <climits></span></div>
|
||||
@@ -134,12 +135,12 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#include <iostream></span></div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include <numeric></span></div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include <vector></span></div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span></div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="../../d9/d66/group__machine__learning.html#ga5118e5cbc4f0886e27b3a7a2544dded1"> 40</a></span><span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d9/d66/group__machine__learning.html#ga5118e5cbc4f0886e27b3a7a2544dded1">MAX_ITER</a> = 500; <span class="comment">// INT_MAX</span></div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span></div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d8/d77/namespacemachine__learning.html">machine_learning</a> {</div>
|
||||
<div class="foldopen" id="foldopen00046" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html"> 46</a></span><span class="keyword">class </span><a class="code hl_class" href="../../d6/d30/classmachine__learning_1_1adaline.html">adaline</a> {</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="../../d8/df2/classadaline.html"> 46</a></span><span class="keyword">class </span><a class="code hl_function" href="../../d8/df2/classadaline.html#a0acbe32aaab897e7939e5b0454035b8c">adaline</a> {</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">public</span>:</div>
|
||||
<div class="foldopen" id="foldopen00055" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c"> 55</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c">adaline</a>(<span class="keywordtype">int</span> num_features, <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code hl_variable" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a> = 0.01f,</div>
|
||||
@@ -160,9 +161,9 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// weights[i] = (static_cast<double>(std::rand() % 100) - 50);</span></div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="foldopen" id="foldopen00076" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa"> 76</a></span> <span class="keyword">friend</span> std::ostream &<a class="code hl_friend" href="../../d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa">operator<<</a>(std::ostream &out, <span class="keyword">const</span> <a class="code hl_class" href="../../d6/d30/classmachine__learning_1_1adaline.html">adaline</a> &ada) {</div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span></div>
|
||||
<div class="foldopen" id="foldopen00076" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa"> 76</a></span> <span class="keyword">friend</span> std::ostream &<a class="code hl_friend" href="../../d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa">operator<<</a>(std::ostream &out, <span class="keyword">const</span> <a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c">adaline</a> &ada) {</div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> out << <span class="stringliteral">"<"</span>;</div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < ada.<a class="code hl_variable" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.size(); i++) {</div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> out << ada.<a class="code hl_variable" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[i];</div>
|
||||
@@ -174,7 +175,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> out;</div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> }</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span></div>
|
||||
<div class="foldopen" id="foldopen00095" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3"> 95</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3">predict</a>(<span class="keyword">const</span> std::vector<double> &x, <span class="keywordtype">double</span> *out = <span class="keyword">nullptr</span>) {</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">check_size_match</a>(x)) {</div>
|
||||
@@ -193,7 +194,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325">activation</a>(y); <span class="comment">// quantizer: apply ADALINE threshold function</span></div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> }</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span></div>
|
||||
<div class="foldopen" id="foldopen00119" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5"> 119</a></span> <span class="keywordtype">double</span> <a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5">fit</a>(<span class="keyword">const</span> std::vector<double> &x, <span class="keyword">const</span> <span class="keywordtype">int</span> &y) {</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">check_size_match</a>(x)) {</div>
|
||||
@@ -214,7 +215,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> correction_factor;</div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span></div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">template</span> <<span class="keywordtype">size_t</span> N></div>
|
||||
<div class="foldopen" id="foldopen00145" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91"> 145</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91">fit</a>(std::array<std::vector<double>, N> <span class="keyword">const</span> &X,</div>
|
||||
@@ -248,7 +249,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> }</div>
|
||||
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> }</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
|
||||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span></div>
|
||||
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="../../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325"> 186</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325">activation</a>(<span class="keywordtype">double</span> x) { <span class="keywordflow">return</span> x > 0 ? 1 : -1; }</div>
|
||||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
|
||||
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">private</span>:</div>
|
||||
@@ -274,7 +275,8 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span>} <span class="comment">// namespace machine_learning</span></div>
|
||||
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
|
||||
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="keyword">using </span><a class="code hl_class" href="../../d6/d30/classmachine__learning_1_1adaline.html">machine_learning::adaline</a>;</div>
|
||||
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
|
||||
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span></div>
|
||||
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span></div>
|
||||
<div class="foldopen" id="foldopen00224" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="../../d5/db0/adaline__learning_8cpp.html#a52053d88ea1bcbbed9aca67ab4eeb499"> 224</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d3/dae/dsu__path__compression_8cpp.html#ae7880ce913f3058a35ff106d5be9e243">test1</a>(<span class="keywordtype">double</span> eta = 0.01) {</div>
|
||||
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <a class="code hl_class" href="../../d6/d30/classmachine__learning_1_1adaline.html">adaline</a> ada(2, eta); <span class="comment">// 2 features</span></div>
|
||||
@@ -307,7 +309,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> std::cout << <span class="stringliteral">" ...passed"</span> << std::endl;</div>
|
||||
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
|
||||
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span></div>
|
||||
<div class="foldopen" id="foldopen00262" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="../../d5/db0/adaline__learning_8cpp.html#a379f7488a305f2571f2932b319931f82"> 262</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d3/dae/dsu__path__compression_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae">test2</a>(<span class="keywordtype">double</span> eta = 0.01) {</div>
|
||||
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <a class="code hl_class" href="../../d6/d30/classmachine__learning_1_1adaline.html">adaline</a> ada(2, eta); <span class="comment">// 2 features</span></div>
|
||||
@@ -349,7 +351,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> }</div>
|
||||
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> </div>
|
||||
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span></div>
|
||||
<div class="foldopen" id="foldopen00313" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="../../d5/db0/adaline__learning_8cpp.html#a992bdf1fdb0b9d414bcf7981d2d87aa9"> 313</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d0c/hamiltons__cycle_8cpp.html#a0cc94918b6831f308d4fe4fa27f08299">test3</a>(<span class="keywordtype">double</span> eta = 0.01) {</div>
|
||||
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <a class="code hl_class" href="../../d6/d30/classmachine__learning_1_1adaline.html">adaline</a> ada(6, eta); <span class="comment">// 2 features</span></div>
|
||||
@@ -394,7 +396,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> }</div>
|
||||
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> </div>
|
||||
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span></div>
|
||||
<div class="foldopen" id="foldopen00357" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"><a class="line" href="../../d5/db0/adaline__learning_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 357</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div>
|
||||
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> std::srand(std::time(<span class="keyword">nullptr</span>)); <span class="comment">// initialize random number generator</span></div>
|
||||
@@ -419,6 +421,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span>}</div>
|
||||
</div>
|
||||
<div class="ttc" id="aclassadaline_html_a0acbe32aaab897e7939e5b0454035b8c"><div class="ttname"><a href="../../d8/df2/classadaline.html#a0acbe32aaab897e7939e5b0454035b8c">adaline::adaline</a></div><div class="ttdeci">adaline(int num_features, const double eta=0.01f, const double accuracy=1e-5)</div><div class="ttdef"><b>Definition</b> <a href="#l00055">adaline_learning.cpp:55</a></div></div>
|
||||
<div class="ttc" id="aclassmachine__learning_1_1adaline_html"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html">machine_learning::adaline</a></div><div class="ttdef"><b>Definition</b> <a href="#l00046">adaline_learning.cpp:46</a></div></div>
|
||||
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a082f758fb55fe19f22b3df66f89b2325"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325">machine_learning::adaline::activation</a></div><div class="ttdeci">int activation(double x)</div><div class="ttdef"><b>Definition</b> <a href="#l00186">adaline_learning.cpp:186</a></div></div>
|
||||
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a0acbe32aaab897e7939e5b0454035b8c"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c">machine_learning::adaline::adaline</a></div><div class="ttdeci">adaline(int num_features, const double eta=0.01f, const double accuracy=1e-5)</div><div class="ttdef"><b>Definition</b> <a href="#l00055">adaline_learning.cpp:55</a></div></div>
|
||||
@@ -442,7 +445,7 @@ $(function(){initNavTree('d5/db0/adaline__learning_8cpp_source.html','../../');
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dir_3343723ae086de42ee4ca9774da3a13f.html">machine_learning</a></li><li class="navelem"><a class="el" href="../../d5/db0/adaline__learning_8cpp.html">adaline_learning.cpp</a></li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user