<!-- 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/ElementwiseUnaryOperator.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('_elementwise_unary_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">ElementwiseUnaryOperator.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 ElementwiseUnaryOperator.hpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="_elementwise_unary_operator_8hpp__incl.svg" width="4459" height="887"><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="_elementwise_unary_operator_8hpp__dep__incl.svg" width="716" height="350"><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="_elementwise_unary_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:a99f70cdf08ee4d679bace71967e36de9"><td class="memItemLeft" align="right" valign="top">TosaSerializationBasicBlock *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_elementwise_unary_operator_8hpp.html#a99f70cdf08ee4d679bace71967e36de9">ConvertElementwiseUnaryOperator</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_elementwise_unary_descriptor.html">ElementwiseUnaryDescriptor</a> *unaryDescriptor)</td></tr>
<tr class="separator:a99f70cdf08ee4d679bace71967e36de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a99f70cdf08ee4d679bace71967e36de9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99f70cdf08ee4d679bace71967e36de9">&#9670;&nbsp;</a></span>ConvertElementwiseUnaryOperator()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TosaSerializationBasicBlock* ConvertElementwiseUnaryOperator </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_elementwise_unary_descriptor.html">ElementwiseUnaryDescriptor</a> *&#160;</td>
          <td class="paramname"><em>unaryDescriptor</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="_elementwise_unary_operator_8cpp_source.html#l00008">8</a> of file <a class="el" href="_elementwise_unary_operator_8cpp_source.html">ElementwiseUnaryOperator.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_ELEMENTWISEUNARY_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; </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</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="l00019"></a><span class="lineno">   19</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="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordflow">if</span>(layer != <span class="keyword">nullptr</span>)</div>
<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;        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="l00023"></a><span class="lineno">   23</span>&#160;        outputName = <a class="code" href="_tosa_operator_utils_8hpp.html#a1e5b1f8dcc21f10bc7b0d8517e05049d">GenerateUniqueOutputName</a>(*layer);</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; </div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    TosaSerializationOperator* op = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keywordflow">switch</span>(unaryDescriptor-&gt;<a class="code" href="structarmnn_1_1_elementwise_unary_descriptor.html#afe768be66897eb3d73284424e3239b23">m_Operation</a>)</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="keywordflow">case</span> UnaryOperation::Rsqrt:</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        {</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;            op = <span class="keyword">new</span> TosaSerializationOperator(tosa::Op_RSQRT,</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                                               Attribute_NONE,</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                                               <span class="keyword">nullptr</span>,</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                                               {input0Name},</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                                               {outputName});</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;            blockName = std::string(<span class="stringliteral">&quot;Op_RSQRT_block_&quot;</span>) + <a class="code" href="_tosa_operator_utils_8hpp.html#aadc5d73bd0cb81999bcfdc62bce020e8">GetUniqueTosaMappingID</a>();</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        }</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;            <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">armnn::Exception</a>(<span class="stringliteral">&quot;ConvertElementwiseUnaryToTosaOperator: Unsupported layer type.&quot;</span>);</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    }</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;TosaSerializationTensor*&gt; tensors;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="comment">// Only add input tensor if connected layer is an input layer.</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="comment">// As intermediate or constant tensors will be created separately.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">// There also can&#39;t be duplicate tensor.</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</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="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; inputShape0 = <a class="code" href="_tosa_operator_utils_8hpp.html#a7d97964a65be4eb4a5b4109904f2e7f7">GetTosaTensorShape</a>(inputs[0]-&gt;GetShape());</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</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="l00051"></a><span class="lineno">   51</span>&#160;        tensors.push_back(<span class="keyword">new</span> TosaSerializationTensor(input0Name, inputShape0, inputDType0, {}));</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    }</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;    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="l00055"></a><span class="lineno">   55</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="l00056"></a><span class="lineno">   56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    tensors.push_back(<span class="keyword">new</span> TosaSerializationTensor(outputName, outputShape0, outputDType0, {}));</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="comment">// operatorInputNames/operatorOutputNames ends up being the same as</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="comment">// blockInputNames/blockOutputNames for one-to-one ArmNN to Tosa mappings</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</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="l00062"></a><span class="lineno">   62</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="l00063"></a><span class="lineno">   63</span>&#160;                                           {op}, <span class="comment">// operators</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                                           tensors, <span class="comment">// tensors</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                                           {input0Name}, <span class="comment">// inputs</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                                           {outputName}); <span class="comment">// outputs</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <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#l00145">ElementwiseUnaryDescriptor::m_Operation</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_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="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="aclassarmnn_1_1_exception_html"><div class="ttname"><a href="classarmnn_1_1_exception.html">armnn::Exception</a></div><div class="ttdoc">Base class for all ArmNN exceptions so that users can filter to just those.</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00046">Exceptions.hpp:46</a></div></div>
<div class="ttc" id="astructarmnn_1_1_elementwise_unary_descriptor_html_afe768be66897eb3d73284424e3239b23"><div class="ttname"><a href="structarmnn_1_1_elementwise_unary_descriptor.html#afe768be66897eb3d73284424e3239b23">armnn::ElementwiseUnaryDescriptor::m_Operation</a></div><div class="ttdeci">UnaryOperation m_Operation</div><div class="ttdoc">Specifies the elementwiseUnary operation to execute.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00145">Descriptors.hpp:145</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="_elementwise_unary_operator_8hpp.html">ElementwiseUnaryOperator.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>
