<!-- 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: src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp Source File</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.08</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('_constant_test_impl_8hpp_source.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="headertitle">
<div class="title">ConstantTestImpl.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_constant_test_impl_8hpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright © 2017 Arm Ltd. All rights reserved.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// SPDX-License-Identifier: MIT</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_layer_test_result_8hpp.xhtml">LayerTestResult.hpp</a>&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="include_2armnn_2backends_2_i_backend_internal_8hpp.xhtml">armnn/backends/IBackendInternal.hpp</a>&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_workload_factory_8hpp.xhtml">backendsCommon/WorkloadFactory.hpp</a>&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<a class="code" href="struct_layer_test_result.xhtml">LayerTestResult&lt;float, 4&gt;</a> <a class="code" href="_constant_test_impl_8hpp.xhtml#a6bed60e7ef6dbb582ad454d94e2367ec">ConstantTest</a>(</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a>&amp; workloadFactory,</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a>&amp; memoryManager);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<a class="code" href="struct_layer_test_result.xhtml">LayerTestResult&lt;uint8_t, 4&gt;</a> <a class="code" href="_constant_test_impl_8hpp.xhtml#a2826f436401c4e1c32983a598936e36f">ConstantUint8SimpleQuantizationScaleNoOffsetTest</a>(</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a>&amp; workloadFactory,</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a>&amp; memoryManager);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<a class="code" href="struct_layer_test_result.xhtml">LayerTestResult&lt;int16_t, 4&gt;</a> <a class="code" href="_constant_test_impl_8hpp.xhtml#a9dcd8bb87493200c5ce24c7c29acd81f">ConstantInt16SimpleQuantizationScaleNoOffsetTest</a>(</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <a class="code" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a>&amp; workloadFactory,</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a>&amp; memoryManager);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<a class="code" href="struct_layer_test_result.xhtml">LayerTestResult&lt;uint8_t, 4&gt;</a> <a class="code" href="_constant_test_impl_8hpp.xhtml#aa5f4f81bcf6256977802069fe1467d08">ConstantUint8CustomQuantizationScaleAndOffsetTest</a>(</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a>&amp; workloadFactory,</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a>&amp; memoryManager);</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<a class="code" href="struct_layer_test_result.xhtml">LayerTestResult&lt;int16_t, 4&gt;</a> <a class="code" href="_constant_test_impl_8hpp.xhtml#a9b287c734d9ee57423267e5e75a52792">ConstantInt16CustomQuantizationScaleAndOffsetTest</a>(</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a>&amp; workloadFactory,</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a>&amp; memoryManager);</div><div class="ttc" id="_workload_factory_8hpp_xhtml"><div class="ttname"><a href="_workload_factory_8hpp.xhtml">WorkloadFactory.hpp</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_workload_factory_xhtml"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_factory_8hpp_source.xhtml#l00021">WorkloadFactory.hpp:21</a></div></div>
<div class="ttc" id="_layer_test_result_8hpp_xhtml"><div class="ttname"><a href="_layer_test_result_8hpp.xhtml">LayerTestResult.hpp</a></div></div>
<div class="ttc" id="_constant_test_impl_8hpp_xhtml_a9b287c734d9ee57423267e5e75a52792"><div class="ttname"><a href="_constant_test_impl_8hpp.xhtml#a9b287c734d9ee57423267e5e75a52792">ConstantInt16CustomQuantizationScaleAndOffsetTest</a></div><div class="ttdeci">LayerTestResult&lt; int16_t, 4 &gt; ConstantInt16CustomQuantizationScaleAndOffsetTest(armnn::IWorkloadFactory &amp;workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &amp;memoryManager)</div><div class="ttdef"><b>Definition:</b> <a href="_constant_test_impl_8cpp_source.xhtml#l00153">ConstantTestImpl.cpp:153</a></div></div>
<div class="ttc" id="include_2armnn_2backends_2_i_backend_internal_8hpp_xhtml"><div class="ttname"><a href="include_2armnn_2backends_2_i_backend_internal_8hpp.xhtml">IBackendInternal.hpp</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_backend_internal_xhtml_a693b40e6b94e958836aeb0410ca186bd"><div class="ttname"><a href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a></div><div class="ttdeci">std::shared_ptr&lt; IMemoryManager &gt; IMemoryManagerSharedPtr</div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_i_backend_internal_8hpp_source.xhtml#l00090">IBackendInternal.hpp:90</a></div></div>
<div class="ttc" id="_constant_test_impl_8hpp_xhtml_a9dcd8bb87493200c5ce24c7c29acd81f"><div class="ttname"><a href="_constant_test_impl_8hpp.xhtml#a9dcd8bb87493200c5ce24c7c29acd81f">ConstantInt16SimpleQuantizationScaleNoOffsetTest</a></div><div class="ttdeci">LayerTestResult&lt; int16_t, 4 &gt; ConstantInt16SimpleQuantizationScaleNoOffsetTest(armnn::IWorkloadFactory &amp;workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &amp;memoryManager)</div><div class="ttdef"><b>Definition:</b> <a href="_constant_test_impl_8cpp_source.xhtml#l00132">ConstantTestImpl.cpp:132</a></div></div>
<div class="ttc" id="_constant_test_impl_8hpp_xhtml_aa5f4f81bcf6256977802069fe1467d08"><div class="ttname"><a href="_constant_test_impl_8hpp.xhtml#aa5f4f81bcf6256977802069fe1467d08">ConstantUint8CustomQuantizationScaleAndOffsetTest</a></div><div class="ttdeci">LayerTestResult&lt; uint8_t, 4 &gt; ConstantUint8CustomQuantizationScaleAndOffsetTest(armnn::IWorkloadFactory &amp;workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &amp;memoryManager)</div><div class="ttdef"><b>Definition:</b> <a href="_constant_test_impl_8cpp_source.xhtml#l00146">ConstantTestImpl.cpp:146</a></div></div>
<div class="ttc" id="_constant_test_impl_8hpp_xhtml_a2826f436401c4e1c32983a598936e36f"><div class="ttname"><a href="_constant_test_impl_8hpp.xhtml#a2826f436401c4e1c32983a598936e36f">ConstantUint8SimpleQuantizationScaleNoOffsetTest</a></div><div class="ttdeci">LayerTestResult&lt; uint8_t, 4 &gt; ConstantUint8SimpleQuantizationScaleNoOffsetTest(armnn::IWorkloadFactory &amp;workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &amp;memoryManager)</div><div class="ttdef"><b>Definition:</b> <a href="_constant_test_impl_8cpp_source.xhtml#l00139">ConstantTestImpl.cpp:139</a></div></div>
<div class="ttc" id="struct_layer_test_result_xhtml"><div class="ttname"><a href="struct_layer_test_result.xhtml">LayerTestResult</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.xhtml#l00030">LayerTestResult.hpp:30</a></div></div>
<div class="ttc" id="_constant_test_impl_8hpp_xhtml_a6bed60e7ef6dbb582ad454d94e2367ec"><div class="ttname"><a href="_constant_test_impl_8hpp.xhtml#a6bed60e7ef6dbb582ad454d94e2367ec">ConstantTest</a></div><div class="ttdeci">LayerTestResult&lt; float, 4 &gt; ConstantTest(armnn::IWorkloadFactory &amp;workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &amp;memoryManager)</div><div class="ttdef"><b>Definition:</b> <a href="_constant_test_impl_8cpp_source.xhtml#l00125">ConstantTestImpl.cpp:125</a></div></div>
</div><!-- fragment --></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.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_0f3cdec46afbc61a1ded8e1687c9c9a0.xhtml">backends</a></li><li class="navelem"><a class="el" href="dir_797a213d7d01b98ef12d53b0820ea64e.xhtml">backendsCommon</a></li><li class="navelem"><a class="el" href="dir_28bfe507f7e135bdae07c2a6b7f66696.xhtml">test</a></li><li class="navelem"><a class="el" href="dir_99a30439342d160875b21dac3498ad7f.xhtml">layerTests</a></li><li class="navelem"><a class="el" href="_constant_test_impl_8hpp.xhtml">ConstantTestImpl.hpp</a></li>
    <li class="footer">Generated on Tue Aug 25 2020 12:29:42 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>
