<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!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.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: InferenceTestOptions Struct 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">
  $(document).ready(initResizable);
</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>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.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;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">20.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</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">
$(document).ready(function(){initNavTree('structarmnn_1_1test_1_1_inference_test_options.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)">
</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="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structarmnn_1_1test_1_1_inference_test_options-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">InferenceTestOptions Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aca7c067e094606cb4e9eac6919f452c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#aca7c067e094606cb4e9eac6919f452c6">InferenceTestOptions</a> ()</td></tr>
<tr class="separator:aca7c067e094606cb4e9eac6919f452c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ac9c49972e7f8db643b3c72aa782278df"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#ac9c49972e7f8db643b3c72aa782278df">m_IterationCount</a></td></tr>
<tr class="separator:ac9c49972e7f8db643b3c72aa782278df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5955b5dadde32f0c5687ab38f77c5be5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#a5955b5dadde32f0c5687ab38f77c5be5">m_InferenceTimesFile</a></td></tr>
<tr class="separator:a5955b5dadde32f0c5687ab38f77c5be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26d42007440bb01a1a6d0ab3b5a657ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#a26d42007440bb01a1a6d0ab3b5a657ee">m_EnableProfiling</a></td></tr>
<tr class="separator:a26d42007440bb01a1a6d0ab3b5a657ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43cf4b5df0068ee6a9151c98947248b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#ae43cf4b5df0068ee6a9151c98947248b">m_DynamicBackendsPath</a></td></tr>
<tr class="separator:ae43cf4b5df0068ee6a9151c98947248b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_inference_test_8hpp_source.xhtml#l00056">56</a> of file <a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aca7c067e094606cb4e9eac6919f452c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca7c067e094606cb4e9eac6919f452c6">&#9670;&nbsp;</a></span>InferenceTestOptions()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structarmnn_1_1test_1_1_inference_test_options.xhtml">InferenceTestOptions</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_inference_test_8hpp_source.xhtml#l00063">63</a> of file <a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        : <a class="code" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#ac9c49972e7f8db643b3c72aa782278df">m_IterationCount</a>(0)</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        , <a class="code" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#a26d42007440bb01a1a6d0ab3b5a657ee">m_EnableProfiling</a>(0)</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        , <a class="code" href="structarmnn_1_1test_1_1_inference_test_options.xhtml#ae43cf4b5df0068ee6a9151c98947248b">m_DynamicBackendsPath</a>()</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    {}</div><div class="ttc" id="structarmnn_1_1test_1_1_inference_test_options_xhtml_a26d42007440bb01a1a6d0ab3b5a657ee"><div class="ttname"><a href="structarmnn_1_1test_1_1_inference_test_options.xhtml#a26d42007440bb01a1a6d0ab3b5a657ee">armnn::test::InferenceTestOptions::m_EnableProfiling</a></div><div class="ttdeci">bool m_EnableProfiling</div><div class="ttdef"><b>Definition:</b> <a href="_inference_test_8hpp_source.xhtml#l00060">InferenceTest.hpp:60</a></div></div>
<div class="ttc" id="structarmnn_1_1test_1_1_inference_test_options_xhtml_ac9c49972e7f8db643b3c72aa782278df"><div class="ttname"><a href="structarmnn_1_1test_1_1_inference_test_options.xhtml#ac9c49972e7f8db643b3c72aa782278df">armnn::test::InferenceTestOptions::m_IterationCount</a></div><div class="ttdeci">unsigned int m_IterationCount</div><div class="ttdef"><b>Definition:</b> <a href="_inference_test_8hpp_source.xhtml#l00058">InferenceTest.hpp:58</a></div></div>
<div class="ttc" id="structarmnn_1_1test_1_1_inference_test_options_xhtml_ae43cf4b5df0068ee6a9151c98947248b"><div class="ttname"><a href="structarmnn_1_1test_1_1_inference_test_options.xhtml#ae43cf4b5df0068ee6a9151c98947248b">armnn::test::InferenceTestOptions::m_DynamicBackendsPath</a></div><div class="ttdeci">std::string m_DynamicBackendsPath</div><div class="ttdef"><b>Definition:</b> <a href="_inference_test_8hpp_source.xhtml#l00061">InferenceTest.hpp:61</a></div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae43cf4b5df0068ee6a9151c98947248b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae43cf4b5df0068ee6a9151c98947248b">&#9670;&nbsp;</a></span>m_DynamicBackendsPath</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string m_DynamicBackendsPath</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_inference_test_8hpp_source.xhtml#l00061">61</a> of file <a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool m_EnableProfiling</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_inference_test_8hpp_source.xhtml#l00060">60</a> of file <a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_inference_test_8cpp_source.xhtml#l00120">armnn::test::InferenceTest()</a>, and <a class="el" href="_inference_test_8cpp_source.xhtml#l00031">armnn::test::ParseCommandLine()</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string m_InferenceTimesFile</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_inference_test_8hpp_source.xhtml#l00059">59</a> of file <a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_inference_test_8cpp_source.xhtml#l00120">armnn::test::InferenceTest()</a>, and <a class="el" href="_inference_test_8cpp_source.xhtml#l00031">armnn::test::ParseCommandLine()</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int m_IterationCount</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_inference_test_8hpp_source.xhtml#l00058">58</a> of file <a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_inference_test_8cpp_source.xhtml#l00120">armnn::test::InferenceTest()</a>, <a class="el" href="_inference_test_8cpp_source.xhtml#l00031">armnn::test::ParseCommandLine()</a>, and <a class="el" href="_inference_test_8inl_source.xhtml#l00116">ClassifierTestCase&lt; TTestCaseDatabase, TModel &gt;::ProcessResult()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>tests/<a class="el" href="_inference_test_8hpp_source.xhtml">InferenceTest.hpp</a></li>
</ul>
</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="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="namespacearmnn_1_1test.xhtml">test</a></li><li class="navelem"><a class="el" href="structarmnn_1_1test_1_1_inference_test_options.xhtml">InferenceTestOptions</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:21 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
