blob: 4938342062c49b9cd738247e43e0ed4e076c2a68 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.9.1-->
<!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.6"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: tests/benchmark/NEON/PoolingLayer.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="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.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 style="padding-left: 0.5em;">
<div id="projectname">Compute Library
&#160;<span id="projectnumber">17.10</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="globals.xhtml"><span>Globals</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('benchmark_2_n_e_o_n_2_pooling_layer_8cpp.xhtml','');});
</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)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></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="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">PoolingLayer.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_tensor_shape_8h_source.xhtml">arm_compute/core/TensorShape.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">arm_compute/core/Types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_n_e_pooling_layer_8h_source.xhtml">arm_compute/runtime/NEON/functions/NEPoolingLayer.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="runtime_2_tensor_8h_source.xhtml">arm_compute/runtime/Tensor.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_tensor_allocator_8h_source.xhtml">arm_compute/runtime/TensorAllocator.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_accessor_8h_source.xhtml">tests/NEON/Accessor.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="benchmark_2fixtures_2_pooling_layer_fixture_8h_source.xhtml">tests/benchmark/fixtures/PoolingLayerFixture.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_alex_net_pooling_layer_dataset_8h_source.xhtml">tests/datasets/system_tests/alexnet/AlexNetPoolingLayerDataset.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_goog_le_net_inception_v1_pooling_layer_dataset_8h_source.xhtml">tests/datasets/system_tests/googlenet/inceptionv1/GoogLeNetInceptionV1PoolingLayerDataset.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_goog_le_net_inception_v4_pooling_layer_dataset_8h_source.xhtml">tests/datasets/system_tests/googlenet/inceptionv4/GoogLeNetInceptionV4PoolingLayerDataset.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_le_net5_pooling_layer_dataset_8h_source.xhtml">tests/datasets/system_tests/lenet5/LeNet5PoolingLayerDataset.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_squeeze_net_pooling_layer_dataset_8h_source.xhtml">tests/datasets/system_tests/squeezenet/SqueezeNetPoolingLayerDataset.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_v_g_g16_pooling_layer_dataset_8h_source.xhtml">tests/datasets/system_tests/vgg/vgg16/VGG16PoolingLayerDataset.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_y_o_l_o_v2_pooling_layer_dataset_8h_source.xhtml">tests/datasets/system_tests/yolo/v2/YOLOV2PoolingLayerDataset.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_macros_8h_source.xhtml">tests/framework/Macros.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_datasets_8h_source.xhtml">tests/framework/datasets/Datasets.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_type_printer_8h_source.xhtml">utils/TypePrinter.h</a>&quot;</code><br/>
</div>
<p><a href="benchmark_2_n_e_o_n_2_pooling_layer_8cpp_source.xhtml">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:namespacearm__compute"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacearm__compute_1_1test"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml">arm_compute::test</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="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aafcc5ee5a13d9ed18d31591bb1d50fb0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#aafcc5ee5a13d9ed18d31591bb1d50fb0">NEPoolingLayerFixture</a> = PoolingLayerFixture&lt; Tensor, NEPoolingLayer, Accessor &gt;</td></tr>
<tr class="separator:aafcc5ee5a13d9ed18d31591bb1d50fb0"><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:af33a8fe45c20501be3c2fa7aaa32bf26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#af33a8fe45c20501be3c2fa7aaa32bf26">REGISTER_FIXTURE_DATA_TEST_CASE</a> (AlexNetPoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::ALL, framework::dataset::combine(framework::dataset::combine(datasets::AlexNetPoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;, 1)))</td></tr>
<tr class="separator:af33a8fe45c20501be3c2fa7aaa32bf26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d7ea7b966b70d0931772f51a2cfcdb0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#a7d7ea7b966b70d0931772f51a2cfcdb0">REGISTER_FIXTURE_DATA_TEST_CASE</a> (LeNet5PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::ALL, framework::dataset::combine(framework::dataset::combine(datasets::LeNet5PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;, 1)))</td></tr>
<tr class="separator:a7d7ea7b966b70d0931772f51a2cfcdb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4a14a4ebd0a6067fa657e06d6e6d9ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#ac4a14a4ebd0a6067fa657e06d6e6d9ec">REGISTER_FIXTURE_DATA_TEST_CASE</a> (GoogLeNetInceptionV1PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::ALL, framework::dataset::combine(framework::dataset::combine(datasets::GoogLeNetInceptionV1PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;, 1)))</td></tr>
<tr class="separator:ac4a14a4ebd0a6067fa657e06d6e6d9ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97400b4e200d00d86169b2afc584d2e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#a97400b4e200d00d86169b2afc584d2e3">REGISTER_FIXTURE_DATA_TEST_CASE</a> (GoogLeNetInceptionV4PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::ALL, framework::dataset::combine(framework::dataset::combine(datasets::GoogLeNetInceptionV4PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;, 1)))</td></tr>
<tr class="separator:a97400b4e200d00d86169b2afc584d2e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7edcfdce59bb3cb0f1ed784a28fb6d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#aa7edcfdce59bb3cb0f1ed784a28fb6d2">REGISTER_FIXTURE_DATA_TEST_CASE</a> (SqueezeNetPoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::ALL, framework::dataset::combine(framework::dataset::combine(datasets::SqueezeNetPoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;, 1)))</td></tr>
<tr class="separator:aa7edcfdce59bb3cb0f1ed784a28fb6d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab644feafdb4a10f39c7e4acca32744eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#ab644feafdb4a10f39c7e4acca32744eb">REGISTER_FIXTURE_DATA_TEST_CASE</a> (VGG16PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::ALL, framework::dataset::combine(framework::dataset::combine(datasets::VGG16PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;, 1)))</td></tr>
<tr class="separator:ab644feafdb4a10f39c7e4acca32744eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49f6de6126e559d77c77ec1252ead9e1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#a49f6de6126e559d77c77ec1252ead9e1">REGISTER_FIXTURE_DATA_TEST_CASE</a> (YOLOV2PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::ALL, framework::dataset::combine(framework::dataset::combine(datasets::YOLOV2PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;, 1)))</td></tr>
<tr class="separator:a49f6de6126e559d77c77ec1252ead9e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8050efac909e6e8fce5791d2205fe0a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#a8050efac909e6e8fce5791d2205fe0a8">REGISTER_FIXTURE_DATA_TEST_CASE</a> (AlexNetPoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(framework::dataset::combine(datasets::AlexNetPoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;,{4, 8})))</td></tr>
<tr class="separator:a8050efac909e6e8fce5791d2205fe0a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1da94fb11977ec74784861c2c56246"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#a0a1da94fb11977ec74784861c2c56246">REGISTER_FIXTURE_DATA_TEST_CASE</a> (LeNet5PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(framework::dataset::combine(datasets::LeNet5PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;,{4, 8})))</td></tr>
<tr class="separator:a0a1da94fb11977ec74784861c2c56246"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5101e30d9b5306231c7ed2ce71f350b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#ad5101e30d9b5306231c7ed2ce71f350b">REGISTER_FIXTURE_DATA_TEST_CASE</a> (GoogLeNetInceptionV1PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(framework::dataset::combine(datasets::GoogLeNetInceptionV1PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;,{4, 8})))</td></tr>
<tr class="separator:ad5101e30d9b5306231c7ed2ce71f350b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0b2b0d1564cc6c5ac951a7b8e59bda8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#ad0b2b0d1564cc6c5ac951a7b8e59bda8">REGISTER_FIXTURE_DATA_TEST_CASE</a> (GoogLeNetInceptionV4PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(framework::dataset::combine(datasets::GoogLeNetInceptionV4PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;,{4, 8})))</td></tr>
<tr class="separator:ad0b2b0d1564cc6c5ac951a7b8e59bda8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa973f66482fdadbd2ab72cdb6face4b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#aa973f66482fdadbd2ab72cdb6face4b5">REGISTER_FIXTURE_DATA_TEST_CASE</a> (SqueezeNetPoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(framework::dataset::combine(datasets::SqueezeNetPoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;,{4, 8})))</td></tr>
<tr class="separator:aa973f66482fdadbd2ab72cdb6face4b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9adba78f24e5c87b2c95a1c5e23883e9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#a9adba78f24e5c87b2c95a1c5e23883e9">REGISTER_FIXTURE_DATA_TEST_CASE</a> (VGG16PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(framework::dataset::combine(datasets::VGG16PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;,{4, 8})))</td></tr>
<tr class="separator:a9adba78f24e5c87b2c95a1c5e23883e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03474ce6764bea95de0edb583d281017"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml#a03474ce6764bea95de0edb583d281017">REGISTER_FIXTURE_DATA_TEST_CASE</a> (YOLOV2PoolingLayer, NEPoolingLayerFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(framework::dataset::combine(datasets::YOLOV2PoolingLayerDataset(), data_types), framework::dataset::make(&quot;Batches&quot;,{4, 8})))</td></tr>
<tr class="separator:a03474ce6764bea95de0edb583d281017"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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_3b4cc335dce0408d77b688e575522aa5.xhtml">tests</a></li><li class="navelem"><a class="el" href="dir_f174311ee6dfc6d6b8b3c124a1c03263.xhtml">benchmark</a></li><li class="navelem"><a class="el" href="dir_a4c6697defa6674c80d081044d63b70a.xhtml">NEON</a></li><li class="navelem"><a class="el" href="benchmark_2_n_e_o_n_2_pooling_layer_8cpp.xhtml">PoolingLayer.cpp</a></li>
<li class="footer">Generated on Thu Oct 12 2017 14:26:35 for Compute Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>