<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: src/armnnTestUtils/TensorCopyUtils.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>
<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" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_tensor_copy_utils_8cpp.html',''); initResizable(); });
/* @license-end */
</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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">TensorCopyUtils.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="_i_tensor_handle_8hpp_source.html">armnn/backends/ITensorHandle.hpp</a>&gt;</code><br />
<code>#include &lt;armnnTestUtils/TensorCopyUtils.hpp&gt;</code><br />
<code>#include &lt;<a class="el" href="_half_8hpp_source.html">Half.hpp</a>&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for TensorCopyUtils.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="_tensor_copy_utils_8cpp__incl.svg" width="1232" height="440"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
<p><a href="_tensor_copy_utils_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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae15f1a3c55d2db87683577de9fa4437c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_tensor_copy_utils_8cpp.html#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a> (<a class="el" href="classarmnn_1_1_i_tensor_handle.html">armnn::ITensorHandle</a> *tensorHandle, const void *memory)</td></tr>
<tr class="separator:ae15f1a3c55d2db87683577de9fa4437c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99b626c58a926dc7d6df78d22ec186c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_tensor_copy_utils_8cpp.html#a99b626c58a926dc7d6df78d22ec186c8">CopyDataFromITensorHandle</a> (void *memory, const <a class="el" href="classarmnn_1_1_i_tensor_handle.html">armnn::ITensorHandle</a> *tensorHandle)</td></tr>
<tr class="separator:a99b626c58a926dc7d6df78d22ec186c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaaca8c3f3a467d124bba44067d2afa8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_tensor_copy_utils_8cpp.html#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a> (<a class="el" href="classarmnn_1_1_i_tensor_handle.html">armnn::ITensorHandle</a> *tensorHandle, const void *memory)</td></tr>
<tr class="separator:afaaca8c3f3a467d124bba44067d2afa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="afaaca8c3f3a467d124bba44067d2afa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaaca8c3f3a467d124bba44067d2afa8">&#9670;&nbsp;</a></span>AllocateAndCopyDataToITensorHandle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AllocateAndCopyDataToITensorHandle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarmnn_1_1_i_tensor_handle.html">armnn::ITensorHandle</a> *&#160;</td>
          <td class="paramname"><em>tensorHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>memory</em>&#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="_tensor_copy_utils_8cpp_source.html#l00020">20</a> of file <a class="el" href="_tensor_copy_utils_8cpp_source.html">TensorCopyUtils.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;{</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    tensorHandle-&gt;<a class="code" href="classarmnn_1_1_i_tensor_handle.html#a5cceed8b707a09bf27eb61f17acf8a88">Allocate</a>();</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <a class="code" href="_tensor_copy_utils_8cpp.html#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a>(tensorHandle, memory);</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a5cceed8b707a09bf27eb61f17acf8a88">ITensorHandle::Allocate()</a>, and <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00010">CopyDataToITensorHandle()</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CopyDataFromITensorHandle </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>memory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_tensor_handle.html">armnn::ITensorHandle</a> *&#160;</td>
          <td class="paramname"><em>tensorHandle</em>&#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="_tensor_copy_utils_8cpp_source.html#l00015">15</a> of file <a class="el" href="_tensor_copy_utils_8cpp_source.html">TensorCopyUtils.cpp</a>.</p>
<div class="fragment"><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;    tensorHandle-&gt;<a class="code" href="classarmnn_1_1_i_tensor_handle.html#a4ec32790513ea4af4c5746f1ee48fbfe">CopyOutTo</a>(memory);</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a4ec32790513ea4af4c5746f1ee48fbfe">ITensorHandle::CopyOutTo()</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CopyDataToITensorHandle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarmnn_1_1_i_tensor_handle.html">armnn::ITensorHandle</a> *&#160;</td>
          <td class="paramname"><em>tensorHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>memory</em>&#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="_tensor_copy_utils_8cpp_source.html#l00010">10</a> of file <a class="el" href="_tensor_copy_utils_8cpp_source.html">TensorCopyUtils.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;{</div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    tensorHandle-&gt;<a class="code" href="classarmnn_1_1_i_tensor_handle.html#ad495ac6d9fd9e1ba5bb7a02c731a2d83">CopyInFrom</a>(memory);</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classarmnn_1_1_i_tensor_handle.html#ad495ac6d9fd9e1ba5bb7a02c731a2d83">ITensorHandle::CopyInFrom()</a>.</p>

<p class="reference">Referenced by <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00020">AllocateAndCopyDataToITensorHandle()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassarmnn_1_1_i_tensor_handle_html_ad495ac6d9fd9e1ba5bb7a02c731a2d83"><div class="ttname"><a href="classarmnn_1_1_i_tensor_handle.html#ad495ac6d9fd9e1ba5bb7a02c731a2d83">armnn::ITensorHandle::CopyInFrom</a></div><div class="ttdeci">virtual void CopyInFrom(const void *memory)=0</div></div>
<div class="ttc" id="a_tensor_copy_utils_8cpp_html_ae15f1a3c55d2db87683577de9fa4437c"><div class="ttname"><a href="_tensor_copy_utils_8cpp.html#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a></div><div class="ttdeci">void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_copy_utils_8cpp_source.html#l00010">TensorCopyUtils.cpp:10</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_i_tensor_handle_html_a4ec32790513ea4af4c5746f1ee48fbfe"><div class="ttname"><a href="classarmnn_1_1_i_tensor_handle.html#a4ec32790513ea4af4c5746f1ee48fbfe">armnn::ITensorHandle::CopyOutTo</a></div><div class="ttdeci">virtual void CopyOutTo(void *memory) const =0</div><div class="ttdoc">Testing support to be able to verify and set tensor data content.</div></div>
<div class="ttc" id="aclassarmnn_1_1_i_tensor_handle_html_a5cceed8b707a09bf27eb61f17acf8a88"><div class="ttname"><a href="classarmnn_1_1_i_tensor_handle.html#a5cceed8b707a09bf27eb61f17acf8a88">armnn::ITensorHandle::Allocate</a></div><div class="ttdeci">virtual void Allocate()=0</div><div class="ttdoc">Indicate to the memory manager that this resource is no longer active.</div></div>
<!-- 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_f574f3650e467f7ec35d628d20229555.html">armnnTestUtils</a></li><li class="navelem"><a class="el" href="_tensor_copy_utils_8cpp.html">TensorCopyUtils.cpp</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:51 for Arm NN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
