<!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="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: src/armnnQuantizer/test/QuantizationDataSetTests.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">
  $(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>
<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">ArmNN
   &#160;<span id="projectnumber">NotReleased</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('_quantization_data_set_tests_8cpp.html','');});
</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="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">QuantizationDataSetTests.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;boost/test/unit_test.hpp&gt;</code><br />
<code>#include &quot;<a class="el" href="_quantization_data_set_8hpp_source.html">../QuantizationDataSet.hpp</a>&quot;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;fstream&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;map&gt;</code><br />
<code>#include &lt;boost/filesystem/operations.hpp&gt;</code><br />
<code>#include &lt;boost/filesystem/fstream.hpp&gt;</code><br />
<code>#include &lt;boost/filesystem/path.hpp&gt;</code><br />
<code>#include &lt;boost/optional/optional.hpp&gt;</code><br />
</div>
<p><a href="_quantization_data_set_tests_8cpp_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="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a3f662379b0269b73ca7edd271a7a9bfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_quantization_data_set_tests_8cpp.html#a3f662379b0269b73ca7edd271a7a9bfc">BOOST_FILESYSTEM_NO_DEPRECATED</a></td></tr>
<tr class="separator:a3f662379b0269b73ca7edd271a7a9bfc"><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:aafab10e950eee34163e7f86aacc668fd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_quantization_data_set_tests_8cpp.html#aafab10e950eee34163e7f86aacc668fd">BOOST_FIXTURE_TEST_CASE</a> (CheckDataSet, CsvTestHelper)</td></tr>
<tr class="separator:aafab10e950eee34163e7f86aacc668fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f71af5c6c124222dd1c42c5df892f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_quantization_data_set_tests_8cpp.html#af7f71af5c6c124222dd1c42c5df892f4">BOOST_AUTO_TEST_SUITE_END</a> ()</td></tr>
<tr class="separator:af7f71af5c6c124222dd1c42c5df892f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a3f662379b0269b73ca7edd271a7a9bfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f662379b0269b73ca7edd271a7a9bfc">&#9670;&nbsp;</a></span>BOOST_FILESYSTEM_NO_DEPRECATED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BOOST_FILESYSTEM_NO_DEPRECATED</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_quantization_data_set_tests_8cpp_source.html#l00014">14</a> of file <a class="el" href="_quantization_data_set_tests_8cpp_source.html">QuantizationDataSetTests.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="af7f71af5c6c124222dd1c42c5df892f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7f71af5c6c124222dd1c42c5df892f4">&#9670;&nbsp;</a></span>BOOST_AUTO_TEST_SUITE_END()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOST_AUTO_TEST_SUITE_END </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="reference">Referenced by <a class="el" href="_quantization_data_set_tests_8cpp_source.html#l00114">BOOST_FIXTURE_TEST_CASE()</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOST_FIXTURE_TEST_CASE </td>
          <td>(</td>
          <td class="paramtype">CheckDataSet&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CsvTestHelper&#160;</td>
          <td class="paramname">&#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="_quantization_data_set_tests_8cpp_source.html#l00114">114</a> of file <a class="el" href="_quantization_data_set_tests_8cpp_source.html">QuantizationDataSetTests.cpp</a>.</p>

<p class="reference">References <a class="el" href="_quantization_data_set_tests_8cpp.html#af7f71af5c6c124222dd1c42c5df892f4">BOOST_AUTO_TEST_SUITE_END()</a>, and <a class="el" href="_quantization_data_set_8hpp_source.html#l00029">QuantizationDataSet::IsEmpty()</a>.</p>
<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    std::map&lt;int, std::vector&lt;float&gt;&gt; csvData;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    csvData.insert(std::pair&lt;<span class="keywordtype">int</span>, std::vector&lt;float&gt;&gt;(0, { 0.111111f, 0.222222f, 0.333333f }));</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    csvData.insert(std::pair&lt;<span class="keywordtype">int</span>, std::vector&lt;float&gt;&gt;(1, { 0.444444f, 0.555555f, 0.666666f }));</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    csvData.insert(std::pair&lt;<span class="keywordtype">int</span>, std::vector&lt;float&gt;&gt;(2, { 0.777777f, 0.888888f, 0.999999f }));</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    std::string myCsvFile = CsvTestHelper::CreateTempCsvFile(csvData);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="classarmnn_quantizer_1_1_quantization_data_set.html">QuantizationDataSet</a> dataSet(myCsvFile);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    BOOST_TEST(!dataSet.IsEmpty());</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">int</span> csvRow = 0;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordflow">for</span>(<a class="code" href="classarmnn_quantizer_1_1_quantization_input.html">armnnQuantizer::QuantizationInput</a> input : dataSet)</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    {</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        BOOST_TEST(input.GetPassId() == csvRow);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        BOOST_TEST(input.GetLayerBindingIds().size() == 1);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        BOOST_TEST(input.GetLayerBindingIds()[0] == 0);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).size() == 3);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="comment">// Check that QuantizationInput data for binding ID 0 corresponds to float values</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="comment">// used for populating the CSV file using by QuantizationDataSet</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).at(0) == csvData.at(csvRow).at(0));</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).at(1) == csvData.at(csvRow).at(1));</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).at(2) == csvData.at(csvRow).at(2));</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        ++csvRow;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    }</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;}</div><div class="ttc" id="classarmnn_quantizer_1_1_quantization_input_html"><div class="ttname"><a href="classarmnn_quantizer_1_1_quantization_input.html">armnnQuantizer::QuantizationInput</a></div><div class="ttdoc">QuantizationInput for specific pass ID, can list a corresponding raw data file for each LayerBindingI...</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_input_8hpp_source.html#l00016">QuantizationInput.hpp:16</a></div></div>
<div class="ttc" id="classarmnn_quantizer_1_1_quantization_data_set_html"><div class="ttname"><a href="classarmnn_quantizer_1_1_quantization_data_set.html">armnnQuantizer::QuantizationDataSet</a></div><div class="ttdef"><b>Definition:</b> <a href="_quantization_data_set_8hpp_source.html#l00018">QuantizationDataSet.hpp:18</a></div></div>
</div><!-- fragment -->
</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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_0de8a5774692585e465aba8075a97653.html">armnnQuantizer</a></li><li class="navelem"><a class="el" href="dir_3709aa41a3b61b199034060afb4293ad.html">test</a></li><li class="navelem"><a class="el" href="_quantization_data_set_tests_8cpp.html">QuantizationDataSetTests.cpp</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:06:59 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>
