aboutsummaryrefslogtreecommitdiff
path: root/21.02/classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml
diff options
context:
space:
mode:
authorJan Eilers <jan.eilers@arm.com>2021-02-25 17:44:00 +0000
committerJan Eilers <jan.eilers@arm.com>2021-02-25 18:27:49 +0000
commitfd627ffaec8fd8801d980b4c91ee7c0607ab6aaf (patch)
treeeb4bc8f9b411f30c7655616142b5a4bdd3a1acd0 /21.02/classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml
parentfb14ebbd68e04876809145296af96f6f41857418 (diff)
downloadarmnn-fd627ffaec8fd8801d980b4c91ee7c0607ab6aaf.tar.gz
IVGCVSW-5687 Update Doxygen Docu
* Update Doxygen Documentation for 21.02 release Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I9ed2f9caab038836ea99d7b378d7899fe431a4e5
Diffstat (limited to '21.02/classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml')
-rw-r--r--21.02/classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml344
1 files changed, 344 insertions, 0 deletions
diff --git a/21.02/classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml b/21.02/classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml
new file mode 100644
index 0000000000..7bbed77195
--- /dev/null
+++ b/21.02/classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml
@@ -0,0 +1,344 @@
+<!-- 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: ScaledInt32PerAxisDecoder Class 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>
+<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">21.02</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('classarmnn_1_1_scaled_int32_per_axis_decoder.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="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classarmnn_1_1_scaled_int32_per_axis_decoder-members.xhtml">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">ScaledInt32PerAxisDecoder Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="_base_iterator_8hpp_source.xhtml">BaseIterator.hpp</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for ScaledInt32PerAxisDecoder:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classarmnn_1_1_scaled_int32_per_axis_decoder.png" usemap="#ScaledInt32PerAxisDecoder_map" alt=""/>
+ <map id="ScaledInt32PerAxisDecoder_map" name="ScaledInt32PerAxisDecoder_map">
+<area href="classarmnn_1_1_per_axis_iterator.xhtml" alt="PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;" shape="rect" coords="0,112,298,136"/>
+<area href="classarmnn_1_1_decoder.xhtml" alt="Decoder&lt; float &gt;" shape="rect" coords="0,56,298,80"/>
+<area href="classarmnn_1_1_base_iterator.xhtml" alt="BaseIterator" shape="rect" coords="0,0,298,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acffb0c8ebc54a0d41709665d444d4c0e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml#acffb0c8ebc54a0d41709665d444d4c0e">ScaledInt32PerAxisDecoder</a> (const int32_t *data, const std::vector&lt; float &gt; &amp;scales, unsigned int axisFactor)</td></tr>
+<tr class="separator:acffb0c8ebc54a0d41709665d444d4c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9bae3d911834d08935b893a361ebc93"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml#ab9bae3d911834d08935b893a361ebc93">Get</a> () const override</td></tr>
+<tr class="separator:ab9bae3d911834d08935b893a361ebc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a9f4904bad49e255fc7ecb69499ac9b"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml#a0a9f4904bad49e255fc7ecb69499ac9b">GetScale</a> () const</td></tr>
+<tr class="separator:a0a9f4904bad49e255fc7ecb69499ac9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af26d20b09e6c6011822574cffd8d33b2"><td class="memItemLeft" align="right" valign="top">std::vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml#af26d20b09e6c6011822574cffd8d33b2">DecodeTensor</a> (const <a class="el" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a> &amp;tensorShape, const unsigned int channelMultiplier, bool isDepthwise) override</td></tr>
+<tr class="separator:af26d20b09e6c6011822574cffd8d33b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classarmnn_1_1_per_axis_iterator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_per_axis_iterator')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml">PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;</a></td></tr>
+<tr class="memitem:a32355e5e70f3cdda335d2a0e5793f91f inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a32355e5e70f3cdda335d2a0e5793f91f">PerAxisIterator</a> (const int32_t *data=nullptr, unsigned int axisFactor=0)</td></tr>
+<tr class="separator:a32355e5e70f3cdda335d2a0e5793f91f inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8911c9582e8e83d0012fc4448e6f8034 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml">PerAxisIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a8911c9582e8e83d0012fc4448e6f8034">SetIndex</a> (unsigned int index, unsigned int axisIndex) override</td></tr>
+<tr class="separator:a8911c9582e8e83d0012fc4448e6f8034 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b1db8441edf90d82f7b9f93f855fab8 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a3b1db8441edf90d82f7b9f93f855fab8">Reset</a> (void *data) override</td></tr>
+<tr class="separator:a3b1db8441edf90d82f7b9f93f855fab8 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1017243731685b6089c348e23cf8372c inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml">PerAxisIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a1017243731685b6089c348e23cf8372c">operator++</a> () override</td></tr>
+<tr class="separator:a1017243731685b6089c348e23cf8372c inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c545b982da450511b6713b58968b48a inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml">PerAxisIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a0c545b982da450511b6713b58968b48a">operator+=</a> (const unsigned int increment) override</td></tr>
+<tr class="separator:a0c545b982da450511b6713b58968b48a inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a644c920607ff892c9687932702355077 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml">PerAxisIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a644c920607ff892c9687932702355077">operator-=</a> (const unsigned int decrement) override</td></tr>
+<tr class="separator:a644c920607ff892c9687932702355077 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f1301b058e7ecc11022dafbb4d89c84 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml">PerAxisIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a1f1301b058e7ecc11022dafbb4d89c84">operator[]</a> (const unsigned int index) override</td></tr>
+<tr class="separator:a1f1301b058e7ecc11022dafbb4d89c84 inherit pub_methods_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classarmnn_1_1_decoder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_decoder')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_decoder.xhtml">Decoder&lt; float &gt;</a></td></tr>
+<tr class="memitem:aedfa2b7d97ed17b14903ed75d6214c78 inherit pub_methods_classarmnn_1_1_decoder"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_decoder.xhtml#aedfa2b7d97ed17b14903ed75d6214c78">Decoder</a> ()</td></tr>
+<tr class="separator:aedfa2b7d97ed17b14903ed75d6214c78 inherit pub_methods_classarmnn_1_1_decoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ff7c15dd4f7e8a75ede5fdab35d289a inherit pub_methods_classarmnn_1_1_decoder"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_decoder.xhtml#a2ff7c15dd4f7e8a75ede5fdab35d289a">~Decoder</a> ()</td></tr>
+<tr class="separator:a2ff7c15dd4f7e8a75ede5fdab35d289a inherit pub_methods_classarmnn_1_1_decoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classarmnn_1_1_base_iterator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_base_iterator')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_base_iterator.xhtml">BaseIterator</a></td></tr>
+<tr class="memitem:a9be4690183bfdb2f5529a12583524eb5 inherit pub_methods_classarmnn_1_1_base_iterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_iterator.xhtml#a9be4690183bfdb2f5529a12583524eb5">BaseIterator</a> ()</td></tr>
+<tr class="separator:a9be4690183bfdb2f5529a12583524eb5 inherit pub_methods_classarmnn_1_1_base_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6ebc8bd299c44c289bd4168d3ecc68f inherit pub_methods_classarmnn_1_1_base_iterator"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_base_iterator.xhtml#ae6ebc8bd299c44c289bd4168d3ecc68f">~BaseIterator</a> ()</td></tr>
+<tr class="separator:ae6ebc8bd299c44c289bd4168d3ecc68f inherit pub_methods_classarmnn_1_1_base_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classarmnn_1_1_per_axis_iterator"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classarmnn_1_1_per_axis_iterator')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml">PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;</a></td></tr>
+<tr class="memitem:abb7c5ac687cb1779a8c73d24cb903cec inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top">const int32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#abb7c5ac687cb1779a8c73d24cb903cec">m_Iterator</a></td></tr>
+<tr class="separator:abb7c5ac687cb1779a8c73d24cb903cec inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45aad47b4af330fd2b690eb3dde14512 inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top">const int32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#a45aad47b4af330fd2b690eb3dde14512">m_Start</a></td></tr>
+<tr class="separator:a45aad47b4af330fd2b690eb3dde14512 inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeaa9859f0e4c9c2f02ea8fd6f345a38c inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#aeaa9859f0e4c9c2f02ea8fd6f345a38c">m_AxisIndex</a></td></tr>
+<tr class="separator:aeaa9859f0e4c9c2f02ea8fd6f345a38c inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5c7a20def4940cda6745d0ef519b852 inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_per_axis_iterator.xhtml#ac5c7a20def4940cda6745d0ef519b852">m_AxisFactor</a></td></tr>
+<tr class="separator:ac5c7a20def4940cda6745d0ef519b852 inherit pro_attribs_classarmnn_1_1_per_axis_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="_base_iterator_8hpp_source.xhtml#l00920">920</a> of file <a class="el" href="_base_iterator_8hpp_source.xhtml">BaseIterator.hpp</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="acffb0c8ebc54a0d41709665d444d4c0e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acffb0c8ebc54a0d41709665d444d4c0e">&#9670;&nbsp;</a></span>ScaledInt32PerAxisDecoder()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml">ScaledInt32PerAxisDecoder</a> </td>
+ <td>(</td>
+ <td class="paramtype">const int32_t *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
+ <td class="paramname"><em>scales</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>axisFactor</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_base_iterator_8hpp_source.xhtml#l00923">923</a> of file <a class="el" href="_base_iterator_8hpp_source.xhtml">BaseIterator.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; : <a class="code" href="classarmnn_1_1_per_axis_iterator.xhtml#a32355e5e70f3cdda335d2a0e5793f91f">PerAxisIterator</a>(data, axisFactor), m_Scales(scales) {}</div><div class="ttc" id="classarmnn_1_1_per_axis_iterator_xhtml_a32355e5e70f3cdda335d2a0e5793f91f"><div class="ttname"><a href="classarmnn_1_1_per_axis_iterator.xhtml#a32355e5e70f3cdda335d2a0e5793f91f">armnn::PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;::PerAxisIterator</a></div><div class="ttdeci">PerAxisIterator(const int32_t *data=nullptr, unsigned int axisFactor=0)</div><div class="ttdef"><b>Definition:</b> <a href="_base_iterator_8hpp_source.xhtml#l00778">BaseIterator.hpp:778</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="af26d20b09e6c6011822574cffd8d33b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af26d20b09e6c6011822574cffd8d33b2">&#9670;&nbsp;</a></span>DecodeTensor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::vector&lt;float&gt; DecodeTensor </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
+ <td class="paramname"><em>tensorShape</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const unsigned int&#160;</td>
+ <td class="paramname"><em>channelMultiplier</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>isDepthwise</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="classarmnn_1_1_decoder.xhtml#a6f1a1177c9e21355a0c3875e5f280c8a">Decoder&lt; float &gt;</a>.</p>
+
+<p class="definition">Definition at line <a class="el" href="_base_iterator_8hpp_source.xhtml#l00937">937</a> of file <a class="el" href="_base_iterator_8hpp_source.xhtml">BaseIterator.hpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d">armnn::Dequantize</a>, <a class="el" href="_tensor_8cpp_source.xhtml#l00181">TensorShape::GetNumElements()</a>, and <a class="el" href="classarmnn_1_1_base_iterator.xhtml#a62f4064c73f91ac5ceb7a06dd3fa45b9">BaseIterator::operator[]()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; {</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keyword">const</span> uint32_t size = tensorShape.GetNumElements();</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keyword">const</span> uint32_t scaleSize = <span class="keyword">static_cast&lt;</span>uint32_t<span class="keyword">&gt;</span>(m_Scales.size());</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keyword">const</span> uint32_t stepSize = isDepthwise ?</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; tensorShape[2] * tensorShape[3] : tensorShape.GetNumElements() / tensorShape[0];</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <span class="keyword">const</span> uint32_t stepNum = size / (stepSize * channelMultiplier);</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; uint32_t scale;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160;</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; std::vector&lt;float&gt; decodedTensor;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; decodedTensor.reserve(size);</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="comment">// channelMultiplier is only used in depthwise convolutions and in other cases will have no effect</span></div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="comment">// stepSize is the length of a contiguous area sharing a quantization scale within a tensor</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="comment">// stepNum is the number of those steps/blocks in the tensor</span></div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">for</span> (uint32_t mult = 0; mult &lt; channelMultiplier; ++mult)</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; {</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="keywordflow">for</span> (uint32_t step = 0; step &lt; stepNum; ++step)</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; {</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; scale = (channelMultiplier * step + mult) % scaleSize;</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; stepSize; ++i)</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index = mult * stepSize * channelMultiplier +</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; step * stepSize + i;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; this-&gt;<a class="code" href="classarmnn_1_1_per_axis_iterator.xhtml#a1f1301b058e7ecc11022dafbb4d89c84">operator[]</a>(index);</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; decodedTensor.emplace_back(<a class="code" href="namespacearmnn.xhtml#a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d">armnn::Dequantize</a>(*<a class="code" href="classarmnn_1_1_per_axis_iterator.xhtml#abb7c5ac687cb1779a8c73d24cb903cec">m_Iterator</a>, m_Scales[scale], 0));</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; }</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; }</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; }</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">return</span> decodedTensor;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div><div class="ttc" id="classarmnn_1_1_per_axis_iterator_xhtml_a1f1301b058e7ecc11022dafbb4d89c84"><div class="ttname"><a href="classarmnn_1_1_per_axis_iterator.xhtml#a1f1301b058e7ecc11022dafbb4d89c84">armnn::PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;::operator[]</a></div><div class="ttdeci">PerAxisIterator &amp; operator[](const unsigned int index) override</div><div class="ttdef"><b>Definition:</b> <a href="_base_iterator_8hpp_source.xhtml#l00822">BaseIterator.hpp:822</a></div></div>
+<div class="ttc" id="classarmnn_1_1_per_axis_iterator_xhtml_abb7c5ac687cb1779a8c73d24cb903cec"><div class="ttname"><a href="classarmnn_1_1_per_axis_iterator.xhtml#abb7c5ac687cb1779a8c73d24cb903cec">armnn::PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;::m_Iterator</a></div><div class="ttdeci">const int32_t * m_Iterator</div><div class="ttdef"><b>Definition:</b> <a href="_base_iterator_8hpp_source.xhtml#l00831">BaseIterator.hpp:831</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d"><div class="ttname"><a href="namespacearmnn.xhtml#a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d">armnn::LayerType::Dequantize</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ab9bae3d911834d08935b893a361ebc93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab9bae3d911834d08935b893a361ebc93">&#9670;&nbsp;</a></span>Get()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float Get </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="classarmnn_1_1_decoder.xhtml#ac729108381e2340bea12877971713ecb">Decoder&lt; float &gt;</a>.</p>
+
+<p class="definition">Definition at line <a class="el" href="_base_iterator_8hpp_source.xhtml#l00926">926</a> of file <a class="el" href="_base_iterator_8hpp_source.xhtml">BaseIterator.hpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d">armnn::Dequantize</a>.</p>
+<div class="fragment"><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; {</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d">armnn::Dequantize</a>(*<a class="code" href="classarmnn_1_1_per_axis_iterator.xhtml#abb7c5ac687cb1779a8c73d24cb903cec">m_Iterator</a>, m_Scales[<a class="code" href="classarmnn_1_1_per_axis_iterator.xhtml#aeaa9859f0e4c9c2f02ea8fd6f345a38c">m_AxisIndex</a>], 0);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; }</div><div class="ttc" id="classarmnn_1_1_per_axis_iterator_xhtml_abb7c5ac687cb1779a8c73d24cb903cec"><div class="ttname"><a href="classarmnn_1_1_per_axis_iterator.xhtml#abb7c5ac687cb1779a8c73d24cb903cec">armnn::PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;::m_Iterator</a></div><div class="ttdeci">const int32_t * m_Iterator</div><div class="ttdef"><b>Definition:</b> <a href="_base_iterator_8hpp_source.xhtml#l00831">BaseIterator.hpp:831</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d"><div class="ttname"><a href="namespacearmnn.xhtml#a56943a0946e5f15e5e58054b8e7a04a4a9bc35e069257a508e14ed82965a8661d">armnn::LayerType::Dequantize</a></div></div>
+<div class="ttc" id="classarmnn_1_1_per_axis_iterator_xhtml_aeaa9859f0e4c9c2f02ea8fd6f345a38c"><div class="ttname"><a href="classarmnn_1_1_per_axis_iterator.xhtml#aeaa9859f0e4c9c2f02ea8fd6f345a38c">armnn::PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;::m_AxisIndex</a></div><div class="ttdeci">unsigned int m_AxisIndex</div><div class="ttdef"><b>Definition:</b> <a href="_base_iterator_8hpp_source.xhtml#l00833">BaseIterator.hpp:833</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a0a9f4904bad49e255fc7ecb69499ac9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0a9f4904bad49e255fc7ecb69499ac9b">&#9670;&nbsp;</a></span>GetScale()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float GetScale </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_base_iterator_8hpp_source.xhtml#l00932">932</a> of file <a class="el" href="_base_iterator_8hpp_source.xhtml">BaseIterator.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; {</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">return</span> m_Scales[<a class="code" href="classarmnn_1_1_per_axis_iterator.xhtml#aeaa9859f0e4c9c2f02ea8fd6f345a38c">m_AxisIndex</a>];</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; }</div><div class="ttc" id="classarmnn_1_1_per_axis_iterator_xhtml_aeaa9859f0e4c9c2f02ea8fd6f345a38c"><div class="ttname"><a href="classarmnn_1_1_per_axis_iterator.xhtml#aeaa9859f0e4c9c2f02ea8fd6f345a38c">armnn::PerAxisIterator&lt; const int32_t, Decoder&lt; float &gt; &gt;::m_AxisIndex</a></div><div class="ttdeci">unsigned int m_AxisIndex</div><div class="ttdef"><b>Definition:</b> <a href="_base_iterator_8hpp_source.xhtml#l00833">BaseIterator.hpp:833</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/backends/reference/workloads/<a class="el" href="_base_iterator_8hpp_source.xhtml">BaseIterator.hpp</a></li>
+</ul>
+</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="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_scaled_int32_per_axis_decoder.xhtml">ScaledInt32PerAxisDecoder</a></li>
+ <li class="footer">Generated on Thu Feb 25 2021 17:28:01 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>