<!-- 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/backends/tosaCommon/operatorMappings/TransposeOperator.hpp 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('_transpose_operator_8hpp.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">TransposeOperator.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_tosa_operator_utils_8hpp_source.html">TosaOperatorUtils.hpp</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for TransposeOperator.hpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="_transpose_operator_8hpp__incl.svg" width="4459" height="872"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="_transpose_operator_8hpp__dep__incl.svg" width="772" height="335"><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="_transpose_operator_8hpp_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:ae1ed6c9514a6fbddb536941d4350abb3"><td class="memItemLeft" align="right" valign="top">TosaSerializationBasicBlock *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_transpose_operator_8hpp.html#ae1ed6c9514a6fbddb536941d4350abb3">ConvertTransposeToTosaOperator</a> (const <a class="el" href="classarmnn_1_1_layer.html">Layer</a> *layer, const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> * &gt; &amp;inputs, const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> * &gt; &amp;outputs, const <a class="el" href="structarmnn_1_1_transpose_descriptor.html">TransposeDescriptor</a> *transposeDescriptor)</td></tr>
<tr class="separator:ae1ed6c9514a6fbddb536941d4350abb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ae1ed6c9514a6fbddb536941d4350abb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1ed6c9514a6fbddb536941d4350abb3">&#9670;&nbsp;</a></span>ConvertTransposeToTosaOperator()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TosaSerializationBasicBlock* ConvertTransposeToTosaOperator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarmnn_1_1_layer.html">Layer</a> *&#160;</td>
          <td class="paramname"><em>layer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> * &gt; &amp;&#160;</td>
          <td class="paramname"><em>inputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> * &gt; &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_descriptor.html">TransposeDescriptor</a> *&#160;</td>
          <td class="paramname"><em>transposeDescriptor</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="_transpose_operator_8cpp_source.html#l00008">8</a> of file <a class="el" href="_transpose_operator_8cpp_source.html">TransposeOperator.cpp</a>.</p>
<div class="fragment"><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;    std::string input0Name = std::string(<span class="stringliteral">&quot;input_&quot;</span>);</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::string outputName = std::string(<span class="stringliteral">&quot;output0_&quot;</span>);</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::string blockName  = std::string(<span class="stringliteral">&quot;Op_TRANSPOSE_block_&quot;</span>) + <a class="code" href="_tosa_operator_utils_8hpp.html#aadc5d73bd0cb81999bcfdc62bce020e8">GetUniqueTosaMappingID</a>();</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;    <span class="comment">// If a layer is present then the block will be used for execution, so input and output names need to be determined</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// using the previous and following layers so the graph is connected correctly. For validation this doesn&#39;t matter.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordflow">if</span>(layer != <span class="keyword">nullptr</span>)</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;        input0Name = <a class="code" href="_tosa_operator_utils_8hpp.html#a8863b57c08a748fd2dd16880337f4b69">GenerateUniqueInputName</a>(layer-&gt;<a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(0));</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        outputName = <a class="code" href="_tosa_operator_utils_8hpp.html#a1e5b1f8dcc21f10bc7b0d8517e05049d">GenerateUniqueOutputName</a>(*layer);</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    }</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;    std::vector&lt;int32_t&gt; mappings(transposeDescriptor-&gt;<a class="code" href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">m_DimMappings</a>.<a class="code" href="classarmnn_1_1_permutation_vector.html#ad5fee900c7aee90671038c79225bf8ec">begin</a>(),</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                                  transposeDescriptor-&gt;<a class="code" href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">m_DimMappings</a>.<a class="code" href="classarmnn_1_1_permutation_vector.html#a69b6e2a03c835ca5d658a1f16acbaa9c">end</a>());</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    TosaTransposeAttribute attribute(mappings);</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;    <span class="keyword">auto</span>* op = <span class="keyword">new</span> TosaSerializationOperator(Op_TRANSPOSE,</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                                             Attribute_TransposeAttribute,</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                                             &amp;attribute,</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                                             {input0Name},</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                                             {outputName});</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    std::vector&lt;TosaSerializationTensor*&gt; tensors;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="comment">// Only add input tensors if connected layer is an input layer.</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="comment">// As intermediate or constant tensors will be created separately.</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// There also can&#39;t be duplicate tensor.</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keywordflow">if</span>(input0Name.find(<span class="stringliteral">&quot;input_&quot;</span>) != std::string::npos)</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    {</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        std::vector&lt;int32_t&gt; inputShape0 = <a class="code" href="_tosa_operator_utils_8hpp.html#a7d97964a65be4eb4a5b4109904f2e7f7">GetTosaTensorShape</a>(inputs[0]-&gt;GetShape());</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        DType inputDType0 = <a class="code" href="_tosa_operator_utils_8hpp.html#a45d66f17ad6b0469e469f443b3e03226">ArmNNToDType</a>(inputs[0]-&gt;GetDataType());</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        tensors.push_back(<span class="keyword">new</span> TosaSerializationTensor(input0Name, inputShape0, inputDType0, {}));</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    }</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    std::vector&lt;int32_t&gt; outputShape0 = <a class="code" href="_tosa_operator_utils_8hpp.html#a7d97964a65be4eb4a5b4109904f2e7f7">GetTosaTensorShape</a>(outputs[0]-&gt;GetShape());</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    DType outputDType0 = <a class="code" href="_tosa_operator_utils_8hpp.html#a45d66f17ad6b0469e469f443b3e03226">ArmNNToDType</a>(outputs[0]-&gt;GetDataType());</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    tensors.push_back(<span class="keyword">new</span> TosaSerializationTensor(outputName, outputShape0, outputDType0, {}));</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="comment">// operatorInputNames/operatorOutputNames ends up being the same as</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="comment">// blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">new</span> TosaSerializationBasicBlock(blockName, <span class="comment">// name</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                                           <a class="code" href="_tosa_operator_utils_8hpp.html#a28514b014a4fe0841044f1868064bc65">mainName</a>, <span class="comment">// region name</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                                           {op}, <span class="comment">// operators</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                                           tensors, <span class="comment">// tensors</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                                           {input0Name}, <span class="comment">// inputs</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                                           {outputName}); <span class="comment">// outputs</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_types_8hpp_source.html#l00359">PermutationVector::begin()</a>, <a class="el" href="_types_8hpp_source.html#l00364">PermutationVector::end()</a>, <a class="el" href="_tosa_operator_utils_8hpp_source.html#l00109">GenerateUniqueInputName()</a>, <a class="el" href="_tosa_operator_utils_8hpp_source.html#l00120">GenerateUniqueOutputName()</a>, <a class="el" href="_layer_8hpp_source.html#l00337">Layer::GetInputSlot()</a>, <a class="el" href="_tosa_operator_utils_8hpp_source.html#l00079">GetTosaTensorShape()</a>, <a class="el" href="_tosa_operator_utils_8hpp_source.html#l00138">GetUniqueTosaMappingID()</a>, and <a class="el" href="_descriptors_8hpp_source.html#l01514">TransposeDescriptor::m_DimMappings</a>.</p>

<p class="reference">Referenced by <a class="el" href="_tosa_mappings_8cpp_source.html#l00018">GetTosaMapping()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a1e5b1f8dcc21f10bc7b0d8517e05049d"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a1e5b1f8dcc21f10bc7b0d8517e05049d">GenerateUniqueOutputName</a></div><div class="ttdeci">std::string GenerateUniqueOutputName(const Layer &amp;layer, uint32_t layerSlot=0)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00120">TosaOperatorUtils.hpp:120</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_permutation_vector_html_ad5fee900c7aee90671038c79225bf8ec"><div class="ttname"><a href="classarmnn_1_1_permutation_vector.html#ad5fee900c7aee90671038c79225bf8ec">armnn::PermutationVector::begin</a></div><div class="ttdeci">ConstIterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00359">Types.hpp:359</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_layer_html_acf8b8e23bf647836592982f97088d375"><div class="ttname"><a href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">armnn::Layer::GetInputSlot</a></div><div class="ttdeci">const InputSlot &amp; GetInputSlot(unsigned int index) const override</div><div class="ttdoc">Get a const input slot handle by slot index.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00337">Layer.hpp:337</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_permutation_vector_html_a69b6e2a03c835ca5d658a1f16acbaa9c"><div class="ttname"><a href="classarmnn_1_1_permutation_vector.html#a69b6e2a03c835ca5d658a1f16acbaa9c">armnn::PermutationVector::end</a></div><div class="ttdeci">ConstIterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00364">Types.hpp:364</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a28514b014a4fe0841044f1868064bc65"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a28514b014a4fe0841044f1868064bc65">mainName</a></div><div class="ttdeci">const std::string mainName</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00019">TosaOperatorUtils.hpp:19</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a45d66f17ad6b0469e469f443b3e03226"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a45d66f17ad6b0469e469f443b3e03226">ArmNNToDType</a></div><div class="ttdeci">DType ArmNNToDType(const DataType &amp;type)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00022">TosaOperatorUtils.hpp:22</a></div></div>
<div class="ttc" id="astructarmnn_1_1_transpose_descriptor_html_a14433af2b223695b40d8c8f8ba2ebb8f"><div class="ttname"><a href="structarmnn_1_1_transpose_descriptor.html#a14433af2b223695b40d8c8f8ba2ebb8f">armnn::TransposeDescriptor::m_DimMappings</a></div><div class="ttdeci">PermutationVector m_DimMappings</div><div class="ttdoc">Indicates how to translate tensor elements from a given source into the target destination,...</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01514">Descriptors.hpp:1514</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a7d97964a65be4eb4a5b4109904f2e7f7"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a7d97964a65be4eb4a5b4109904f2e7f7">GetTosaTensorShape</a></div><div class="ttdeci">std::vector&lt; int32_t &gt; GetTosaTensorShape(const TensorShape &amp;shape)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00079">TosaOperatorUtils.hpp:79</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a8863b57c08a748fd2dd16880337f4b69"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a8863b57c08a748fd2dd16880337f4b69">GenerateUniqueInputName</a></div><div class="ttdeci">std::string GenerateUniqueInputName(const armnn::InputSlot &amp;slot)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00109">TosaOperatorUtils.hpp:109</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_aadc5d73bd0cb81999bcfdc62bce020e8"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#aadc5d73bd0cb81999bcfdc62bce020e8">GetUniqueTosaMappingID</a></div><div class="ttdeci">std::string GetUniqueTosaMappingID()</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00138">TosaOperatorUtils.hpp:138</a></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_0f3cdec46afbc61a1ded8e1687c9c9a0.html">backends</a></li><li class="navelem"><a class="el" href="dir_3eeadfb79f8e6e284b92aba47a7684a1.html">tosaCommon</a></li><li class="navelem"><a class="el" href="dir_44a5c203710327e1068d2575c20cb7c6.html">operatorMappings</a></li><li class="navelem"><a class="el" href="_transpose_operator_8hpp.html">TransposeOperator.hpp</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:53 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>
